{"id":"567bf942-8b02-4f21-b733-624b726ead0d","entityType":"agent","slug":"clawhub-wavespeed-wavespeed-wan-22-animate","name":"WaveSpeedAI Wan 2.2 Animate Character Animation & Swap","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wavespeed-wavespeed-wan-22-animate","canonicalPath":"/agent/clawhub-wavespeed-wavespeed-wan-22-animate","generatedAt":"2026-10-11T08:40:34.278Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":null},"description":"Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-wan-22-animate","sourceUrl":"https://clawhub.ai/wavespeed/wavespeed-wan-22-animate","homepage":"https://clawhub.ai/wavespeed/skills/wavespeed-wan-22-animate","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wavespeed/wavespeed-wan-22-animate","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wavespeed/skills/wavespeed-wan-22-animate","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"WaveSpeedAI Wan 2.2 Animate Character Animation & Swap technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":null},"stars":null,"forks":null,"downloads":1142,"packageName":null,"latestVersion":"2.0.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:47:16.436Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T05:47:16.496Z","lastCrawledAt":"2026-10-11T05:47:16.436Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T05:47:16.436Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.1","createdAt":"2026-09-05T16:28:15.447Z","changelog":"Moved to the @wavespeed organization.","fileCount":3,"zipByteSize":3798},{"version":"2.0.0","createdAt":"2026-09-05T16:15:13.868Z","changelog":"Examples switched from the JS SDK to the wavespeed CLI (with the @wavespeed/mcp server as the MCP alternative): install + login setup, @path local-file upload, price quotes, --json output. SDK-specific sections (sync mode, custom client, runNoThrow) removed.","fileCount":3,"zipByteSize":3740},{"version":"1.0.0","createdAt":"2026-03-03T07:32:59.208Z","changelog":"- Initial release of WaveSpeed Wan 2.2 Animate. - Animate characters from images using driving videos in two modes: animate and replace. - Supports uploads and direct URLs for images and videos. - Outputs videos up to 120 seconds at 480p or 720p resolution. - Detailed documentation for API usage, parameters, error handling, and pricing. - Includes security guidelines and practical tips for best results.","fileCount":3,"zipByteSize":3576}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-wan-22-animate","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-wan-22-animate` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/wavespeed/wavespeed-wan-22-animate before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T08:40:34.277Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-wan-22-animate/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":null},"readme":"Skill: WaveSpeedAI Wan 2.2 Animate Character Animation & Swap\n\nOwner: wavespeed\n\nSummary: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.\n\nTags: latest:2.0.1\n\nVersion history:\n\nv2.0.1 | 2026-09-05T16:28:15.447Z | user\n\nMoved to the @wavespeed organization.\n\nv2.0.0 | 2026-09-05T16:15:13.868Z | user\n\nExamples switched from the JS SDK to the wavespeed CLI (with the @wavespeed/mcp server as the MCP alternative): install + login setup, @path local-file upload, price quotes, --json output. SDK-specific sections (sync mode, custom client, runNoThrow) removed.\n\nv1.0.0 | 2026-03-03T07:32:59.208Z | user\n\n- Initial release of WaveSpeed Wan 2.2 Animate.\n- Animate characters from images using driving videos in two modes: animate and replace.\n- Supports uploads and direct URLs for images and videos.\n- Outputs videos up to 120 seconds at 480p or 720p resolution.\n- Detailed documentation for API usage, parameters, error handling, and pricing.\n- Includes security guidelines and practical tips for best results.\n\nArchive index:\n\nArchive v2.0.1: 3 files, 3798 bytes\n\nFiles: skill-card.md (2027b), SKILL.md (5758b), _meta.json (143b)\n\nFile v2.0.1:SKILL.md\n\n---\nname: wavespeed-wan-22-animate\ndescription: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Wan 2.2 Animate\n\nAnimate characters from images using driving videos via WaveSpeed AI's Wan 2.2 Animate model. Two modes: **animate** (make the image character move like the video subject) and **replace** (swap the video subject with the image character while preserving motion and scene).\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Animate Mode\n\nMake the character in an image move like the subject in a driving video:\n\n```bash\n# Upload local image and video\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Replace Mode\n\nSwap the subject in a video with a character from an image:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  -i mode=\"replace\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=\"https://example.com/character.png\" \\\n  -i video=\"https://example.com/driving-video.mp4\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoint\n\n**Model ID:** `wavespeed-ai/wan-2.2/animate`\n\nAnimate a character from an image using a driving video.\n\n### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `image` | string | Yes | -- | URL of the character image to animate |\n| `video` | string | Yes | -- | URL of the driving video providing motion reference |\n| `prompt` | string | No | -- | Text prompt for additional guidance |\n| `mode` | string | No | `animate` | Operation mode. `animate`: image character moves like video subject. `replace`: video subject is swapped with image character. |\n| `resolution` | string | No | `480p` | Output resolution. One of: `480p`, `720p` |\n| `seed` | integer | No | `-1` | Random seed (-1 for random). Range: -1 to 2147483647 |\n\n### Example\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./dancer.png \\\n  -i video=@./dance-reference.mp4 \\\n  -p \"a person dancing gracefully\" \\\n  -i mode=\"animate\" \\\n  -i resolution=\"720p\" \\\n  -i seed=42 \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Replace Mode Example\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./anime-character.png \\\n  -i video=@./scene-video.mp4 \\\n  -i mode=\"replace\" \\\n  -i resolution=\"720p\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n\n## Pricing\n\n| Resolution | Cost per 5 seconds |\n|------------|--------------------|\n| 480p | $0.20 |\n| 720p | $0.40 |\n\nOutput duration is 5-120 seconds. Minimum charge is 5 seconds. Per-second rate: $0.04/s (480p), $0.08/s (720p).\n\n## Tips\n\n- Match composition and pose between the input image and driving video for best results\n- Use the same or similar aspect ratio between image and video\n- Avoid heavy occlusion by hands, microphones, or props in the input media\n- Start with `480p` for prototyping, then move to `720p` for production quality\n- **Animate mode**: best when you want the image character to perform the motions from the video\n- **Replace mode**: best when you want to keep the video's scene and motion but swap in a different character\n\n## CLI tips\n\n```bash\n# Inspect the live input schema before running (fields, enums, defaults)\nwavespeed run wavespeed-ai/wan-2.2/animate -h\n\n# Quote the price first\nwavespeed price wavespeed-ai/wan-2.2/animate -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run wavespeed-ai/wan-2.2/animate -p \"...\" --json --download \"./out/{index}.{ext}\"\n\n# Local files: prefix the path with @ and the CLI uploads it and passes the hosted URL\nwavespeed run wavespeed-ai/wan-2.2/animate -i <field>=@./local-file.png --json\n\n# Recover a result if the run was interrupted (the id is in the --json output)\nwavespeed show <id>\n```\n\n`run --json` prints `{ id, model, prompt, outputs: [url, ...], saved: [path, ...], elapsed_ms, raw }`. Read `outputs[0]` for the result URL.\n\n## Security constraints\n\n- **Never ask for the key in chat**: `wavespeed login` handles auth; if `wavespeed status` says signed out, ask the user to run it.\n- **Local files only via `@`**: bare paths are passed through untouched and the model will reject them. Only `@`-prefixed values upload.\n- **No arbitrary URL loading**: only pass media URLs the user provided or that came back from a previous run.\n- **Input validation**: only pass parameters documented above; confirm with `wavespeed run <model> -h` when unsure.\n\nFile v2.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-wan-22-animate\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625695447\n}\n\nFile v2.0.1:skill-card.md\n\n## Description:\n\nAnimates characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model, supporting animate and replace modes with 480p or 720p outputs.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and creative operators use this skill to animate an image character from a reference video or replace a video subject with an image character while preserving motion and scene.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run unpinned npm tools that can use stored WaveSpeed credentials.\n\nMitigation: Review before installing, prefer pinned package versions, and use scoped or revocable WaveSpeed credentials.\n\nRisk: Image and video inputs are sent to WaveSpeed for processing and may include sensitive media.\n\nMitigation: Do not upload private or proprietary images or videos unless the user is comfortable sending them to WaveSpeed.\n\nRisk: Video generation can incur usage-based costs.\n\nMitigation: Check pricing before runs and start with lower-resolution test runs when appropriate.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wavespeed/skills/wavespeed-wan-22-animate)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration]\n\n**Output Format:** [Markdown with inline bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces WaveSpeed CLI or MCP usage guidance that returns generated video output URLs or downloaded files.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.0.0: 3 files, 3740 bytes\n\nFiles: skill-card.md (1870b), SKILL.md (5758b), _meta.json (143b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: wavespeed-wan-22-animate\ndescription: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Wan 2.2 Animate\n\nAnimate characters from images using driving videos via WaveSpeed AI's Wan 2.2 Animate model. Two modes: **animate** (make the image character move like the video subject) and **replace** (swap the video subject with the image character while preserving motion and scene).\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Animate Mode\n\nMake the character in an image move like the subject in a driving video:\n\n```bash\n# Upload local image and video\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Replace Mode\n\nSwap the subject in a video with a character from an image:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  -i mode=\"replace\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=\"https://example.com/character.png\" \\\n  -i video=\"https://example.com/driving-video.mp4\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoint\n\n**Model ID:** `wavespeed-ai/wan-2.2/animate`\n\nAnimate a character from an image using a driving video.\n\n### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `image` | string | Yes | -- | URL of the character image to animate |\n| `video` | string | Yes | -- | URL of the driving video providing motion reference |\n| `prompt` | string | No | -- | Text prompt for additional guidance |\n| `mode` | string | No | `animate` | Operation mode. `animate`: image character moves like video subject. `replace`: video subject is swapped with image character. |\n| `resolution` | string | No | `480p` | Output resolution. One of: `480p`, `720p` |\n| `seed` | integer | No | `-1` | Random seed (-1 for random). Range: -1 to 2147483647 |\n\n### Example\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./dancer.png \\\n  -i video=@./dance-reference.mp4 \\\n  -p \"a person dancing gracefully\" \\\n  -i mode=\"animate\" \\\n  -i resolution=\"720p\" \\\n  -i seed=42 \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Replace Mode Example\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./anime-character.png \\\n  -i video=@./scene-video.mp4 \\\n  -i mode=\"replace\" \\\n  -i resolution=\"720p\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n\n## Pricing\n\n| Resolution | Cost per 5 seconds |\n|------------|--------------------|\n| 480p | $0.20 |\n| 720p | $0.40 |\n\nOutput duration is 5-120 seconds. Minimum charge is 5 seconds. Per-second rate: $0.04/s (480p), $0.08/s (720p).\n\n## Tips\n\n- Match composition and pose between the input image and driving video for best results\n- Use the same or similar aspect ratio between image and video\n- Avoid heavy occlusion by hands, microphones, or props in the input media\n- Start with `480p` for prototyping, then move to `720p` for production quality\n- **Animate mode**: best when you want the image character to perform the motions from the video\n- **Replace mode**: best when you want to keep the video's scene and motion but swap in a different character\n\n## CLI tips\n\n```bash\n# Inspect the live input schema before running (fields, enums, defaults)\nwavespeed run wavespeed-ai/wan-2.2/animate -h\n\n# Quote the price first\nwavespeed price wavespeed-ai/wan-2.2/animate -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run wavespeed-ai/wan-2.2/animate -p \"...\" --json --download \"./out/{index}.{ext}\"\n\n# Local files: prefix the path with @ and the CLI uploads it and passes the hosted URL\nwavespeed run wavespeed-ai/wan-2.2/animate -i <field>=@./local-file.png --json\n\n# Recover a result if the run was interrupted (the id is in the --json output)\nwavespeed show <id>\n```\n\n`run --json` prints `{ id, model, prompt, outputs: [url, ...], saved: [path, ...], elapsed_ms, raw }`. Read `outputs[0]` for the result URL.\n\n## Security constraints\n\n- **Never ask for the key in chat**: `wavespeed login` handles auth; if `wavespeed status` says signed out, ask the user to run it.\n- **Local files only via `@`**: bare paths are passed through untouched and the model will reject them. Only `@`-prefixed values upload.\n- **No arbitrary URL loading**: only pass media URLs the user provided or that came back from a previous run.\n- **Input validation**: only pass parameters documented above; confirm with `wavespeed run <model> -h` when unsure.\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-wan-22-animate\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1788624913868\n}\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\nAnimates characters from source images with driving videos using WaveSpeed AI's Wan 2.2 Animate model, supporting animate and replace modes with 480p or 720p outputs up to 120 seconds.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chengzeyi](https://clawhub.ai/user/chengzeyi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal creators and developers use this skill to run WaveSpeed AI's Wan 2.2 Animate model for character animation or subject replacement from image and video inputs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires WaveSpeed CLI or MCP tooling and local credential storage.\n\nMitigation: Use WaveSpeed's login flow instead of sharing keys in chat, and prefer a pinned package version or isolated environment.\n\nRisk: Local media and selected URLs are uploaded or sent to WaveSpeed for model execution.\n\nMitigation: Only pass user-approved media, use @-prefixed local files for intentional uploads, and avoid arbitrary URL loading.\n\n## Reference(s):\n\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n- [WaveSpeed access key setup](https://wavespeed.ai/accesskey)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline bash commands and parameter tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides WaveSpeed CLI or MCP calls that return output URLs and optional downloaded files.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 3 files, 3576 bytes\n\nFiles: skill-card.md (2122b), SKILL.md (5925b), _meta.json (143b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: wavespeed-wan-22-animate\ndescription: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.\nmetadata:\n  author: wavespeedai\n  version: \"1.0\"\n---\n\n# WaveSpeedAI Wan 2.2 Animate\n\nAnimate characters from images using driving videos via WaveSpeed AI's Wan 2.2 Animate model. Two modes: **animate** (make the image character move like the video subject) and **replace** (swap the video subject with the image character while preserving motion and scene).\n\n## Authentication\n\n```bash\nexport WAVESPEED_API_KEY=\"your-api-key\"\n```\n\nGet your API key at [wavespeed.ai/accesskey](https://wavespeed.ai/accesskey).\n\n## Quick Start\n\n### Animate Mode\n\nMake the character in an image move like the subject in a driving video:\n\n```javascript\nimport wavespeed from 'wavespeed';\n\n// Upload local image and video\nconst imageUrl = await wavespeed.upload(\"/path/to/character.png\");\nconst videoUrl = await wavespeed.upload(\"/path/to/driving-video.mp4\");\n\nconst output_url = (await wavespeed.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: imageUrl,\n    video: videoUrl\n  }\n))[\"outputs\"][0];\n```\n\n### Replace Mode\n\nSwap the subject in a video with a character from an image:\n\n```javascript\nconst output_url = (await wavespeed.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: imageUrl,\n    video: videoUrl,\n    mode: \"replace\"\n  }\n))[\"outputs\"][0];\n```\n\nYou can also pass existing URLs directly:\n\n```javascript\nconst output_url = (await wavespeed.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: \"https://example.com/character.png\",\n    video: \"https://example.com/driving-video.mp4\"\n  }\n))[\"outputs\"][0];\n```\n\n## API Endpoint\n\n**Model ID:** `wavespeed-ai/wan-2.2/animate`\n\nAnimate a character from an image using a driving video.\n\n### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `image` | string | Yes | -- | URL of the character image to animate |\n| `video` | string | Yes | -- | URL of the driving video providing motion reference |\n| `prompt` | string | No | -- | Text prompt for additional guidance |\n| `mode` | string | No | `animate` | Operation mode. `animate`: image character moves like video subject. `replace`: video subject is swapped with image character. |\n| `resolution` | string | No | `480p` | Output resolution. One of: `480p`, `720p` |\n| `seed` | integer | No | `-1` | Random seed (-1 for random). Range: -1 to 2147483647 |\n\n### Example\n\n```javascript\nimport wavespeed from 'wavespeed';\n\nconst imageUrl = await wavespeed.upload(\"/path/to/dancer.png\");\nconst videoUrl = await wavespeed.upload(\"/path/to/dance-reference.mp4\");\n\nconst output_url = (await wavespeed.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: imageUrl,\n    video: videoUrl,\n    prompt: \"a person dancing gracefully\",\n    mode: \"animate\",\n    resolution: \"720p\",\n    seed: 42\n  }\n))[\"outputs\"][0];\n```\n\n### Replace Mode Example\n\n```javascript\nconst characterUrl = await wavespeed.upload(\"/path/to/anime-character.png\");\nconst sceneUrl = await wavespeed.upload(\"/path/to/scene-video.mp4\");\n\nconst output_url = (await wavespeed.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: characterUrl,\n    video: sceneUrl,\n    mode: \"replace\",\n    resolution: \"720p\"\n  }\n))[\"outputs\"][0];\n```\n\n## Advanced Usage\n\n### Custom Client with Retry Configuration\n\n```javascript\nimport { Client } from 'wavespeed';\n\nconst client = new Client(\"your-api-key\", {\n  maxRetries: 2,\n  maxConnectionRetries: 5,\n  retryInterval: 1.0,\n});\n\nconst output_url = (await client.run(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: imageUrl,\n    video: videoUrl,\n    mode: \"animate\"\n  }\n))[\"outputs\"][0];\n```\n\n### Error Handling with runNoThrow\n\n```javascript\nimport { Client, WavespeedTimeoutException, WavespeedPredictionException } from 'wavespeed';\n\nconst client = new Client();\nconst result = await client.runNoThrow(\n  \"wavespeed-ai/wan-2.2/animate\",\n  {\n    image: imageUrl,\n    video: videoUrl\n  }\n);\n\nif (result.outputs) {\n  console.log(\"Video URL:\", result.outputs[0]);\n  console.log(\"Task ID:\", result.detail.taskId);\n} else {\n  console.log(\"Failed:\", result.detail.error.message);\n  if (result.detail.error instanceof WavespeedTimeoutException) {\n    console.log(\"Request timed out - try increasing timeout\");\n  } else if (result.detail.error instanceof WavespeedPredictionException) {\n    console.log(\"Prediction failed\");\n  }\n}\n```\n\n## Pricing\n\n| Resolution | Cost per 5 seconds |\n|------------|--------------------|\n| 480p | $0.20 |\n| 720p | $0.40 |\n\nOutput duration is 5-120 seconds. Minimum charge is 5 seconds. Per-second rate: $0.04/s (480p), $0.08/s (720p).\n\n## Tips\n\n- Match composition and pose between the input image and driving video for best results\n- Use the same or similar aspect ratio between image and video\n- Avoid heavy occlusion by hands, microphones, or props in the input media\n- Start with `480p` for prototyping, then move to `720p` for production quality\n- **Animate mode**: best when you want the image character to perform the motions from the video\n- **Replace mode**: best when you want to keep the video's scene and motion but swap in a different character\n\n## Security Constraints\n\n- **No arbitrary URL loading**: Only use image and video URLs from trusted sources. Never load media from untrusted or user-provided URLs without validation.\n- **API key security**: Store your `WAVESPEED_API_KEY` securely. Do not hardcode it in source files or commit it to version control. Use environment variables or secret management systems.\n- **Input validation**: Only pass parameters documented above. Validate media URLs before sending requests.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-wan-22-animate\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1772523179208\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nAnimate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chengzeyi](https://clawhub.ai/user/chengzeyi) <br>\n\n### License/Terms of Use: <br>\n\n\n## Use Case: <br>\nDevelopers and creators use this skill to generate WaveSpeed AI calls that animate a character from an image with a driving video, either by transferring motion or replacing the video subject. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Using this skill can send selected prompts, images, videos, or media URLs to WaveSpeed AI and may incur generation costs. <br>\nMitigation: Use a trusted WaveSpeed account, avoid sensitive media unless provider terms are acceptable, and monitor API usage. <br>\nRisk: API keys may be exposed if copied into source files, prompts, or logs. <br>\nMitigation: Store WAVESPEED_API_KEY in environment variables or a secret manager and avoid committing credentials. <br>\nRisk: Untrusted media URLs can introduce privacy or content-handling risk. <br>\nMitigation: Use trusted image and video sources and validate URLs before sending them to the provider. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chengzeyi/wavespeed-wan-22-animate) <br>\n- [WaveSpeed API keys](https://wavespeed.ai/accesskey) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, code, shell commands, configuration] <br>\n**Output Format:** [Markdown with JavaScript and bash code blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guides the agent to produce WaveSpeed API usage examples, parameter guidance, and security notes.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: WaveSpeedAI Wan 2.2 Animate Character Animation & Swap Owner: wavespeed Summary: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image usin","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in"},{"language":"bash","snippet":"# Upload local image and video\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  -i mode=\"replace\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=\"https://example.com/character.png\" \\\n  -i video=\"https://example.com/driving-video.mp4\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./dancer.png \\\n  -i video=@./dance-reference.mp4 \\\n  -p \"a person dancing gracefully\" \\\n  -i mode=\"animate\" \\\n  -i resolution=\"720p\" \\\n  -i seed=42 \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./anime-character.png \\\n  -i video=@./scene-video.mp4 \\\n  -i mode=\"replace\" \\\n  -i resolution=\"720p\" \\\n  --json | jq -r '.outputs[0]')"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wavespeed-wan-22-animate\ndescription: Animate characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model. Supports animate mode (make image character move like video subject) and replace mode (swap video subject with image character). Outputs up to 120 seconds at 480p or 720p. Use when the user wants to animate a character from an image using a reference video.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Wan 2.2 Animate\n\nAnimate characters from images using driving videos via WaveSpeed AI's Wan 2.2 Animate model. Two modes: **animate** (make the image character move like the video subject) and **replace** (swap the video subject with the image character while preserving motion and scene).\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Animate Mode\n\nMake the character in an image move like the subject in a driving video:\n\n```bash\n# Upload local image and video\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Replace Mode\n\nSwap the subject in a video with a character from an image:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=@./character.png \\\n  -i video=@./driving-video.mp4 \\\n  -i mode=\"replace\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run wavespeed-ai/wan-2.2/animate \\\n  -i image=\"https://example.com/character.png\" \\\n  -i video=\"https://example.com/driving-video.mp4\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoint\n\n**Model ID:** `wavespeed-ai/wan-2.2/animate`\n\nAnimate a character from an image using a driving video.\n\n### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `image` | string | Yes | -- | URL of the character image to animate |\n| `video` | string | Yes | -- | URL of the driving video providing motion reference |\n| `prompt` | string | No | -- | Text prompt for additional guidance |\n| `mode` | string | No | `animate` | Operation mode. `animate`: image character moves like video subject. `replace`: video subject is swapped with image character. |\n| `re"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-wan-22-animate\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625695447\n}"},{"path":"skill-card.md","content":"## Description:\n\nAnimates characters from images using driving videos with WaveSpeed AI's Wan 2.2 Animate model, supporting animate and replace modes with 480p or 720p outputs.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and creative operators use this skill to animate an image character from a reference video or replace a video subject with an image character while preserving motion and scene.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run unpinned npm tools that can use stored WaveSpeed credentials.\n\nMitigation: Review before installing, prefer pinned package versions, and use scoped or revocable WaveSpeed credentials.\n\nRisk: Image and video inputs are sent to WaveSpeed for processing and may include sensitive media.\n\nMitigation: Do not upload private or proprietary images or videos unless the user is comfortable sending them to WaveSpeed.\n\nRisk: Video generation can incur usage-based costs.\n\nMitigation: Check pricing before runs and start with lower-resolution test runs when appropriate.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wavespeed/skills/wavespeed-wan-22-animate)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration]\n\n**Output Format:** [Markdown with inline bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces WaveSpeed CLI or MCP usage guidance that returns generated video output URLs or downloaded files.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1144,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:47:16.496Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:40:34.278Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}