{
  "schemaVersion": "1.0",
  "item": {
    "slug": "evolink-video",
    "name": "Evolink Video — AI Video Generation (Sora, Kling, Veo 3, Seedance)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/EvoLinkAI/evolink-video",
    "canonicalUrl": "https://clawhub.ai/EvoLinkAI/evolink-video",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/evolink-video",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evolink-video",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/file-api.md",
      "references/video-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-video"
    },
    "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-video",
    "agentPageUrl": "https://openagent3.xyz/skills/evolink-video/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evolink-video/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evolink-video/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 Video — AI Video Generation",
        "body": "Generate AI videos with 37 models including Sora, Kling, Veo 3, Seedance, Hailuo, WAN, and Grok — text-to-video, image-to-video, first-last-frame, and audio generation. All through one API.\n\nVideo-focused view of evolink-media. Install the full skill for image 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 video studio — 37 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/videos/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/video-api-params.md for full config JSON."
      },
      {
        "title": "Core Principles",
        "body": "Guide, don't decide — Present options, let the user choose model/style/duration.\nUser drives creative vision — Ask for a description before suggesting parameters.\nSmart context — Remember session history. Offer to iterate, extend, or remix results.\nIntent first — Understand what the user wants before asking how to configure it."
      },
      {
        "title": "MCP Tools",
        "body": "ToolWhen to useReturnsgenerate_videoCreate a video from text or imagestask_id (async)upload_fileUpload image for i2v or 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_video returns a task_id. Always poll check_task until status is \"completed\" or \"failed\"."
      },
      {
        "title": "Top Picks",
        "body": "ModelBest forFeaturesAudioseedance-1.5-pro (default)i2v, first-last-framei2v, 4–12s, 1080pautosora-2-previewCinematic previewt2v, i2v, 1080p—kling-o3-text-to-videoText-to-videot2v, 3–15s, 1080p—veo-3.1-generate-previewGoogle video previewt2v, 1080p—MiniMax-Hailuo-2.3High-quality videot2v, 1080p—wan2.6-text-to-videoAlibaba latest t2vt2v—sora-2 [BETA]Cinematic, prompt adherencet2v, i2v, 1080p—veo3.1-pro [BETA]Top quality + audiot2v, 1080pauto\n\n26 Stable — Seedance (3), Sora Preview (1), Kling (10), Veo 3.1 (2), Hailuo (3), WAN (7)\n11 Beta — Sora 2/Pro/Max/Character (4), Veo 3/3.1 (5), Grok Imagine (2)\n\nFull model list with descriptions: references/video-api-params.md"
      },
      {
        "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-to-video or first-last-frame workflows:\n\nupload_file with file_path, base64_data, or file_url → get file_url (sync)\nUse file_url as image_urls for generate_video\n\nSupported: JPEG/PNG/GIF/WebP. Max 100MB. Expire in 72h. Quota: 100 (default) / 500 (VIP)."
      },
      {
        "title": "Step 3: Understand Intent",
        "body": "Clear (\"make a video of a cat dancing\") → Go to Step 4\nAmbiguous (\"I want a video\") → Ask: \"Text-to-video, or do you have a reference image to animate?\"\n\nAsk only what's needed, when it's needed."
      },
      {
        "title": "Step 4: Gather Parameters",
        "body": "Only ask about what's missing:\n\nParameterAsk whenNotespromptAlwaysScene descriptionmodelSpecific feature neededDefault seedance-1.5-pro. See Top Picks for alternativesdurationUser mentions lengthRange varies by model (4–15s typical)aspect_ratioPortrait/widescreenDefault 16:9. Options: 9:16, 1:1, 4:3, 3:4, 21:9qualityResolution preference480p / 720p / 1080p / 4kimage_urlsReference image provided1 image = i2v; 2 images = first+last frame (seedance-1.5-pro only)generate_audioUsing seedance/veo3.1Ask: \"Want auto-generated audio added?\""
      },
      {
        "title": "Step 5: Generate & Poll",
        "body": "Call generate_video → tell user: \"Generating your video — ~Xs estimated.\"\nPoll check_task every 10–15s. Report progress %.\nAfter 3 consecutive processing: \"Still working — video generation takes a moment...\"\nCompleted: Share URLs. \"Links expire in 24h — save promptly.\"\nFailed: Show error + suggestion. Offer retry if retryable.\nTimeout (10 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/video-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/video-api-params.md — Complete API parameters, all 37 models, polling strategy, error codes\nreferences/file-api.md — File hosting API (curl upload/list/delete)"
      }
    ],
    "body": "Evolink Video — AI Video Generation\n\nGenerate AI videos with 37 models including Sora, Kling, Veo 3, Seedance, Hailuo, WAN, and Grok — text-to-video, image-to-video, first-last-frame, and audio generation. All through one API.\n\nVideo-focused view of evolink-media. Install the full skill for image 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 video studio — 37 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/videos/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/video-api-params.md for full config JSON.\n\nCore Principles\nGuide, don't decide — Present options, let the user choose model/style/duration.\nUser drives creative vision — Ask for a description before suggesting parameters.\nSmart context — Remember session history. Offer to iterate, extend, or remix results.\nIntent first — Understand what the user wants before asking how to configure it.\nMCP Tools\nTool\tWhen to use\tReturns\ngenerate_video\tCreate a video from text or images\ttask_id (async)\nupload_file\tUpload image for i2v or 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_video returns a task_id. Always poll check_task until status is \"completed\" or \"failed\".\n\nVideo Models (37)\nTop Picks\nModel\tBest for\tFeatures\tAudio\nseedance-1.5-pro (default)\ti2v, first-last-frame\ti2v, 4–12s, 1080p\tauto\nsora-2-preview\tCinematic preview\tt2v, i2v, 1080p\t—\nkling-o3-text-to-video\tText-to-video\tt2v, 3–15s, 1080p\t—\nveo-3.1-generate-preview\tGoogle video preview\tt2v, 1080p\t—\nMiniMax-Hailuo-2.3\tHigh-quality video\tt2v, 1080p\t—\nwan2.6-text-to-video\tAlibaba latest t2v\tt2v\t—\nsora-2 [BETA]\tCinematic, prompt adherence\tt2v, i2v, 1080p\t—\nveo3.1-pro [BETA]\tTop quality + audio\tt2v, 1080p\tauto\n\n26 Stable — Seedance (3), Sora Preview (1), Kling (10), Veo 3.1 (2), Hailuo (3), WAN (7) 11 Beta — Sora 2/Pro/Max/Character (4), Veo 3/3.1 (5), Grok Imagine (2)\n\nFull model list with descriptions: references/video-api-params.md\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-to-video or first-last-frame workflows:\n\nupload_file with file_path, base64_data, or file_url → get file_url (sync)\nUse file_url as image_urls for generate_video\n\nSupported: JPEG/PNG/GIF/WebP. Max 100MB. Expire in 72h. Quota: 100 (default) / 500 (VIP).\n\nStep 3: Understand Intent\nClear (\"make a video of a cat dancing\") → Go to Step 4\nAmbiguous (\"I want a video\") → Ask: \"Text-to-video, or do you have a reference image to animate?\"\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\tScene description\nmodel\tSpecific feature needed\tDefault seedance-1.5-pro. See Top Picks for alternatives\nduration\tUser mentions length\tRange varies by model (4–15s typical)\naspect_ratio\tPortrait/widescreen\tDefault 16:9. Options: 9:16, 1:1, 4:3, 3:4, 21:9\nquality\tResolution preference\t480p / 720p / 1080p / 4k\nimage_urls\tReference image provided\t1 image = i2v; 2 images = first+last frame (seedance-1.5-pro only)\ngenerate_audio\tUsing seedance/veo3.1\tAsk: \"Want auto-generated audio added?\"\nStep 5: Generate & Poll\nCall generate_video → tell user: \"Generating your video — ~Xs estimated.\"\nPoll check_task every 10–15s. Report progress %.\nAfter 3 consecutive processing: \"Still working — video generation takes a moment...\"\nCompleted: Share URLs. \"Links expire in 24h — save promptly.\"\nFailed: Show error + suggestion. Offer retry if retryable.\nTimeout (10 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/video-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/video-api-params.md — Complete API parameters, all 37 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-video",
    "publisherUrl": "https://clawhub.ai/EvoLinkAI/evolink-video",
    "owner": "EvoLinkAI",
    "version": "2.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/evolink-video",
    "downloadUrl": "https://openagent3.xyz/downloads/evolink-video",
    "agentUrl": "https://openagent3.xyz/skills/evolink-video/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evolink-video/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evolink-video/agent.md"
  }
}