{
  "schemaVersion": "1.0",
  "item": {
    "slug": "evolink-image",
    "name": "Evolink Image — AI Image Generation (GPT Image, Nano Banana 2, Seedream, GPT-4o)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/EvoLinkAI/evolink-image",
    "canonicalUrl": "https://clawhub.ai/EvoLinkAI/evolink-image",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/evolink-image",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evolink-image",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/file-api.md",
      "references/image-api-params.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/evolink-image"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/evolink-image",
    "agentPageUrl": "https://openagent3.xyz/skills/evolink-image/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evolink-image/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evolink-image/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Evolink Image — AI Image Generation & Editing",
        "body": "Generate and edit AI images with 20 models including GPT Image 1.5, GPT-4o Image, Nano Banana 2, Seedream, Qwen, WAN, and Gemini — all through one API.\n\nImage-focused view of evolink-media. Install the full skill for video and music too."
      },
      {
        "title": "After Installation",
        "body": "When this skill is first loaded, greet the user:\n\nMCP tools + API key ready: \"Hi! I'm your AI image studio — 20 models ready. What would you like to create?\"\nMCP tools + no API key: \"You'll need an EvoLink API key — sign up at evolink.ai. Ready to go?\"\nNo MCP tools: \"MCP server isn't connected yet. Want me to help set it up? I can still manage files via the hosting API.\"\n\nKeep the greeting concise — just one question to move forward."
      },
      {
        "title": "External Endpoints",
        "body": "ServiceURLGeneration APIhttps://api.evolink.ai/v1/images/generations (POST)Task Statushttps://api.evolink.ai/v1/tasks/{task_id} (GET)File APIhttps://files-api.evolink.ai/api/v1/files/* (upload/list/delete)"
      },
      {
        "title": "Security & Privacy",
        "body": "EVOLINK_API_KEY authenticates all requests. Injected by OpenClaw automatically. Treat as confidential.\nPrompts and images are sent to api.evolink.ai. Uploaded files expire in 72h, result URLs in 24h."
      },
      {
        "title": "Setup",
        "body": "Get your API key at evolink.ai → Dashboard → API Keys.\n\nMCP Server: @evolinkai/evolink-media (GitHub · npm)\n\nmcporter (recommended): mcporter call --stdio \"npx -y @evolinkai/evolink-media@latest\" list_models\n\nClaude Code: claude mcp add evolink-media -e EVOLINK_API_KEY=your-key -- npx -y @evolinkai/evolink-media@latest\n\nClaude Desktop / Cursor — add MCP server with command npx -y @evolinkai/evolink-media@latest and env EVOLINK_API_KEY=your-key. See references/image-api-params.md for full config JSON."
      },
      {
        "title": "Core Principles",
        "body": "Guide, don't decide — Present options, let the user choose model/style/format.\nUser drives creative vision — Ask for a description before suggesting parameters.\nSmart context — Remember session history. Offer to iterate, vary, or edit results.\nIntent first — Understand what the user wants before asking how to configure it."
      },
      {
        "title": "MCP Tools",
        "body": "ToolWhen to useReturnsgenerate_imageCreate or edit an imagetask_id (async)upload_fileUpload local image for editing/referenceFile URL (sync)delete_fileFree file quotaConfirmationlist_filesCheck uploaded files or quotaFile listcheck_taskPoll generation progressStatus + result URLslist_modelsCompare available modelsModel listestimate_costCheck pricingModel info\n\nImportant: generate_image returns a task_id. Always poll check_task until status is \"completed\" or \"failed\"."
      },
      {
        "title": "Top Picks",
        "body": "ModelBest forSpeedgpt-image-1.5 (default)Latest OpenAI generationMediumgemini-3.1-flash-image-previewNano Banana 2 — Google's fast generationFastz-image-turboQuick iterationsUltra-fastdoubao-seedream-4.5PhotorealisticMediumqwen-image-editInstruction-based editingMediumgpt-4o-image [BETA]Best quality, complex editingMediumgemini-3-pro-image-previewGoogle generation previewMedium"
      },
      {
        "title": "All Stable (16)",
        "body": "gpt-image-1.5, gpt-image-1, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, z-image-turbo, doubao-seedream-4.5, doubao-seedream-4.0, doubao-seedream-3.0-t2i, doubao-seededit-4.0-i2i, doubao-seededit-3.0-i2i, qwen-image-edit, qwen-image-edit-plus, wan2.5-t2i-preview, wan2.5-i2i-preview, wan2.5-text-to-image, wan2.5-image-to-image"
      },
      {
        "title": "All Beta (4)",
        "body": "gpt-image-1.5-lite, gpt-4o-image, gemini-2.5-flash-image, nano-banana-2-lite"
      },
      {
        "title": "Step 1: API Key Check",
        "body": "If 401 occurs: \"Your API key isn't working. Check at evolink.ai/dashboard/keys\""
      },
      {
        "title": "Step 2: File Upload (if needed)",
        "body": "For image editing or reference workflows:\n\nupload_file with file_path, base64_data, or file_url → get file_url (sync)\nUse file_url as image_urls or mask_url for generate_image\n\nSupported: JPEG/PNG/GIF/WebP. Max 100MB. Expire in 72h. Quota: 100 (default) / 500 (VIP)."
      },
      {
        "title": "Step 3: Understand Intent",
        "body": "Clear (\"generate a sunset\") → Go to Step 4\nAmbiguous (\"help with this image\") → Ask: \"Create new, edit existing, or use as reference?\"\n\nAsk only what's needed, when it's needed."
      },
      {
        "title": "Step 4: Gather Parameters",
        "body": "Only ask about what's missing:\n\nParameterAsk whenNotespromptAlwaysWhat they want to seemodelQuality mattersDefault gpt-image-1.5. gpt-4o-image for best, z-image-turbo for speedsizeOrientation neededGPT models: 1024x1024/1024x1536/1536x1024. Others: 1:1/16:9/9:16 etc.nWants variations1–4 imagesimage_urlsEdit/reference imagesUp to 14 URLs; triggers i2i modemask_urlPartial editPNG mask; gpt-4o-image only"
      },
      {
        "title": "Step 5: Generate & Poll",
        "body": "Call generate_image → tell user: \"Generating now — ~Xs estimated.\"\nPoll check_task every 3–5s. Report progress %.\nAfter 3 consecutive processing: \"Still working...\"\nCompleted: Share URLs. \"Links expire in 24h — save promptly.\"\nFailed: Show error + suggestion. Offer retry if retryable.\nTimeout (5 min): \"Taking longer than expected. Task ID: {id} — check again later.\""
      },
      {
        "title": "HTTP Errors",
        "body": "ErrorAction401\"API key isn't working. Check at evolink.ai/dashboard/keys\"402\"Balance is low. Add credits at evolink.ai/dashboard/billing\"429\"Rate limited — wait 30s and retry\"503\"Servers busy — retry in a minute\""
      },
      {
        "title": "Task Errors (status: \"failed\")",
        "body": "CodeRetry?Actioncontent_policy_violationNoRevise prompt (no celebrities, NSFW, violence)invalid_parametersNoCheck values against model limitsimage_dimension_mismatchNoResize image to match aspect ratioimage_processing_errorNoCheck format/size/URL accessibilitygeneration_timeoutYesRetry; simplify prompt if repeatedquota_exceededYesTop up creditsresource_exhaustedYesWait 30–60s, retryservice_errorYesRetry after 1 mingeneration_failed_no_contentYesModify prompt, retry\n\nFull error reference: references/image-api-params.md"
      },
      {
        "title": "Without MCP Server",
        "body": "Use Evolink's file hosting API for image uploads (72h expiry). See references/file-api.md for curl commands."
      },
      {
        "title": "References",
        "body": "references/image-api-params.md — Complete API parameters, all 19 models, polling strategy, error codes\nreferences/file-api.md — File hosting API (curl upload/list/delete)"
      }
    ],
    "body": "Evolink Image — AI Image Generation & Editing\n\nGenerate and edit AI images with 20 models including GPT Image 1.5, GPT-4o Image, Nano Banana 2, Seedream, Qwen, WAN, and Gemini — all through one API.\n\nImage-focused view of evolink-media. Install the full skill for video and music too.\n\nAfter Installation\n\nWhen this skill is first loaded, greet the user:\n\nMCP tools + API key ready: \"Hi! I'm your AI image studio — 20 models ready. What would you like to create?\"\nMCP tools + no API key: \"You'll need an EvoLink API key — sign up at evolink.ai. Ready to go?\"\nNo MCP tools: \"MCP server isn't connected yet. Want me to help set it up? I can still manage files via the hosting API.\"\n\nKeep the greeting concise — just one question to move forward.\n\nExternal Endpoints\nService\tURL\nGeneration API\thttps://api.evolink.ai/v1/images/generations (POST)\nTask Status\thttps://api.evolink.ai/v1/tasks/{task_id} (GET)\nFile API\thttps://files-api.evolink.ai/api/v1/files/* (upload/list/delete)\nSecurity & Privacy\nEVOLINK_API_KEY authenticates all requests. Injected by OpenClaw automatically. Treat as confidential.\nPrompts and images are sent to api.evolink.ai. Uploaded files expire in 72h, result URLs in 24h.\nSetup\n\nGet your API key at evolink.ai → Dashboard → API Keys.\n\nMCP Server: @evolinkai/evolink-media (GitHub · npm)\n\nmcporter (recommended): mcporter call --stdio \"npx -y @evolinkai/evolink-media@latest\" list_models\n\nClaude Code: claude mcp add evolink-media -e EVOLINK_API_KEY=your-key -- npx -y @evolinkai/evolink-media@latest\n\nClaude Desktop / Cursor — add MCP server with command npx -y @evolinkai/evolink-media@latest and env EVOLINK_API_KEY=your-key. See references/image-api-params.md for full config JSON.\n\nCore Principles\nGuide, don't decide — Present options, let the user choose model/style/format.\nUser drives creative vision — Ask for a description before suggesting parameters.\nSmart context — Remember session history. Offer to iterate, vary, or edit results.\nIntent first — Understand what the user wants before asking how to configure it.\nMCP Tools\nTool\tWhen to use\tReturns\ngenerate_image\tCreate or edit an image\ttask_id (async)\nupload_file\tUpload local image for editing/reference\tFile URL (sync)\ndelete_file\tFree file quota\tConfirmation\nlist_files\tCheck uploaded files or quota\tFile list\ncheck_task\tPoll generation progress\tStatus + result URLs\nlist_models\tCompare available models\tModel list\nestimate_cost\tCheck pricing\tModel info\n\nImportant: generate_image returns a task_id. Always poll check_task until status is \"completed\" or \"failed\".\n\nImage Models (20)\nTop Picks\nModel\tBest for\tSpeed\ngpt-image-1.5 (default)\tLatest OpenAI generation\tMedium\ngemini-3.1-flash-image-preview\tNano Banana 2 — Google's fast generation\tFast\nz-image-turbo\tQuick iterations\tUltra-fast\ndoubao-seedream-4.5\tPhotorealistic\tMedium\nqwen-image-edit\tInstruction-based editing\tMedium\ngpt-4o-image [BETA]\tBest quality, complex editing\tMedium\ngemini-3-pro-image-preview\tGoogle generation preview\tMedium\nAll Stable (16)\n\ngpt-image-1.5, gpt-image-1, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, z-image-turbo, doubao-seedream-4.5, doubao-seedream-4.0, doubao-seedream-3.0-t2i, doubao-seededit-4.0-i2i, doubao-seededit-3.0-i2i, qwen-image-edit, qwen-image-edit-plus, wan2.5-t2i-preview, wan2.5-i2i-preview, wan2.5-text-to-image, wan2.5-image-to-image\n\nAll Beta (4)\n\ngpt-image-1.5-lite, gpt-4o-image, gemini-2.5-flash-image, nano-banana-2-lite\n\nGeneration Flow\nStep 1: API Key Check\n\nIf 401 occurs: \"Your API key isn't working. Check at evolink.ai/dashboard/keys\"\n\nStep 2: File Upload (if needed)\n\nFor image editing or reference workflows:\n\nupload_file with file_path, base64_data, or file_url → get file_url (sync)\nUse file_url as image_urls or mask_url for generate_image\n\nSupported: JPEG/PNG/GIF/WebP. Max 100MB. Expire in 72h. Quota: 100 (default) / 500 (VIP).\n\nStep 3: Understand Intent\nClear (\"generate a sunset\") → Go to Step 4\nAmbiguous (\"help with this image\") → Ask: \"Create new, edit existing, or use as reference?\"\n\nAsk only what's needed, when it's needed.\n\nStep 4: Gather Parameters\n\nOnly ask about what's missing:\n\nParameter\tAsk when\tNotes\nprompt\tAlways\tWhat they want to see\nmodel\tQuality matters\tDefault gpt-image-1.5. gpt-4o-image for best, z-image-turbo for speed\nsize\tOrientation needed\tGPT models: 1024x1024/1024x1536/1536x1024. Others: 1:1/16:9/9:16 etc.\nn\tWants variations\t1–4 images\nimage_urls\tEdit/reference images\tUp to 14 URLs; triggers i2i mode\nmask_url\tPartial edit\tPNG mask; gpt-4o-image only\nStep 5: Generate & Poll\nCall generate_image → tell user: \"Generating now — ~Xs estimated.\"\nPoll check_task every 3–5s. Report progress %.\nAfter 3 consecutive processing: \"Still working...\"\nCompleted: Share URLs. \"Links expire in 24h — save promptly.\"\nFailed: Show error + suggestion. Offer retry if retryable.\nTimeout (5 min): \"Taking longer than expected. Task ID: {id} — check again later.\"\nError Handling\nHTTP Errors\nError\tAction\n401\t\"API key isn't working. Check at evolink.ai/dashboard/keys\"\n402\t\"Balance is low. Add credits at evolink.ai/dashboard/billing\"\n429\t\"Rate limited — wait 30s and retry\"\n503\t\"Servers busy — retry in a minute\"\nTask Errors (status: \"failed\")\nCode\tRetry?\tAction\ncontent_policy_violation\tNo\tRevise prompt (no celebrities, NSFW, violence)\ninvalid_parameters\tNo\tCheck values against model limits\nimage_dimension_mismatch\tNo\tResize image to match aspect ratio\nimage_processing_error\tNo\tCheck format/size/URL accessibility\ngeneration_timeout\tYes\tRetry; simplify prompt if repeated\nquota_exceeded\tYes\tTop up credits\nresource_exhausted\tYes\tWait 30–60s, retry\nservice_error\tYes\tRetry after 1 min\ngeneration_failed_no_content\tYes\tModify prompt, retry\n\nFull error reference: references/image-api-params.md\n\nWithout MCP Server\n\nUse Evolink's file hosting API for image uploads (72h expiry). See references/file-api.md for curl commands.\n\nReferences\nreferences/image-api-params.md — Complete API parameters, all 19 models, polling strategy, error codes\nreferences/file-api.md — File hosting API (curl upload/list/delete)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/EvoLinkAI/evolink-image",
    "publisherUrl": "https://clawhub.ai/EvoLinkAI/evolink-image",
    "owner": "EvoLinkAI",
    "version": "1.4.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/evolink-image",
    "downloadUrl": "https://openagent3.xyz/downloads/evolink-image",
    "agentUrl": "https://openagent3.xyz/skills/evolink-image/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evolink-image/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evolink-image/agent.md"
  }
}