{"id":"48e3938a-fac2-4fba-a231-0d3e8a1aa647","entityType":"agent","slug":"clawhub-evolinkai-seedance-2-video-gen","name":"Seedance 2 Video Generation","canonicalUrl":"https://www.xpersona.co/agent/clawhub-evolinkai-seedance-2-video-gen","canonicalPath":"/agent/clawhub-evolinkai-seedance-2-video-gen","generatedAt":"2026-10-09T22:39:46.005Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... Skill: Seedance 2 Video Generation Owner: EvoLinkAI Summary: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... Tags: latest:1.4.1 Version history: v1.4.1 | 2026-02-23T18:02:09.524Z | user Fix: silent polling to prevent message spam during generation v1.4.0 | 2026-02-23T17:43:03.552Z | user UX: add post-instal","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 474 downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn74p4xy6sja0199cea53anecs81kqjs:seedance-2-video-gen","sourceUrl":"https://clawhub.ai/EvoLinkAI/seedance-2-video-gen","homepage":"https://clawhub.ai/EvoLinkAI/seedance-2-video-gen","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/EvoLinkAI/seedance-2-video-gen","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":54,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","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-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":474,"packageName":null,"latestVersion":"1.4.1","tractionLabel":"474 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-03-01T05:29:01.175Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-03-01T05:29:01.175Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-02T05:29:01.175Z","lastVerifiedAt":null,"highlights":[{"version":"1.4.1","createdAt":"2026-02-23T18:02:09.524Z","changelog":"Fix: silent polling to prevent message spam during generation","fileCount":4,"zipByteSize":8991},{"version":"1.4.0","createdAt":"2026-02-23T17:43:03.552Z","changelog":"UX: add post-install greeting flow, soften prompt guidance to allow offering inspiration","fileCount":4,"zipByteSize":9008},{"version":"1.3.1","createdAt":"2026-02-23T17:38:06.682Z","changelog":"SEO: optimize description keywords","fileCount":null,"zipByteSize":null},{"version":"1.3.0","createdAt":"2026-02-23T17:26:18.244Z","changelog":"Security hardening: fix metadata format (env as string array + primaryEnv), add homepage for provenance, replace all regex JSON parsing with jq, hardcode API endpoint as readonly","fileCount":null,"zipByteSize":null},{"version":"1.2.1","createdAt":"2026-02-23T17:23:01.673Z","changelog":"Fix name for better search discoverability","fileCount":null,"zipByteSize":null},{"version":"1.2.0","createdAt":"2026-02-23T17:06:07.432Z","changelog":"Security fix: declare EVOLINK_API_KEY env + jq/curl bin dependencies in metadata; fix duration inconsistency (4-12s everywhere)","fileCount":null,"zipByteSize":null},{"version":"1.1.0","createdAt":"2026-02-23T17:00:03.552Z","changelog":"Interactive guided flow: smart intent detection, no default assumptions, user decides all parameters","fileCount":null,"zipByteSize":null},{"version":"1.0.1","createdAt":"2026-02-23T16:14:10.322Z","changelog":"Fix: enable audio by default, correct duration 4-12s, max 2 images, add --no-audio flag","fileCount":null,"zipByteSize":null}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn74p4xy6sja0199cea53anecs81kqjs:seedance-2-video-gen","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"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-evolinkai-seedance-2-video-gen/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/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-09T22:39:46.004Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-evolinkai-seedance-2-video-gen/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":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"Skill: Seedance 2 Video Generation\n\nOwner: EvoLinkAI\n\nSummary: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor....\n\nTags: latest:1.4.1\n\nVersion history:\n\nv1.4.1 | 2026-02-23T18:02:09.524Z | user\n\nFix: silent polling to prevent message spam during generation\n\nv1.4.0 | 2026-02-23T17:43:03.552Z | user\n\nUX: add post-install greeting flow, soften prompt guidance to allow offering inspiration\n\nv1.3.1 | 2026-02-23T17:38:06.682Z | user\n\nSEO: optimize description keywords\n\nv1.3.0 | 2026-02-23T17:26:18.244Z | user\n\nSecurity hardening: fix metadata format (env as string array + primaryEnv), add homepage for provenance, replace all regex JSON parsing with jq, hardcode API endpoint as readonly\n\nv1.2.1 | 2026-02-23T17:23:01.673Z | user\n\nFix name for better search discoverability\n\nv1.2.0 | 2026-02-23T17:06:07.432Z | user\n\nSecurity fix: declare EVOLINK_API_KEY env + jq/curl bin dependencies in metadata; fix duration inconsistency (4-12s everywhere)\n\nv1.1.0 | 2026-02-23T17:00:03.552Z | user\n\nInteractive guided flow: smart intent detection, no default assumptions, user decides all parameters\n\nv1.0.1 | 2026-02-23T16:14:10.322Z | user\n\nFix: enable audio by default, correct duration 4-12s, max 2 images, add --no-audio flag\n\nv1.0.0 | 2026-02-23T15:56:14.132Z | user\n\nInitial release: text-to-video, image-to-video, multi-modal reference support, auto-polling, friendly error handling\n\nArchive index:\n\nArchive v1.4.1: 4 files, 8991 bytes\n\nFiles: _meta.json (139b), references/api-params.md (6220b), scripts/seedance-gen.sh (9004b), SKILL.md (5776b)\n\nFile v1.4.1:SKILL.md\n\n---\nname: seedance-2-video-gen\ndescription: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor. Powered by ByteDance Seedance model.\nhomepage: https://github.com/EvoLinkAI/evolink-skills\nmetadata: {\"openclaw\":{\"homepage\":\"https://github.com/EvoLinkAI/evolink-skills\",\"requires\":{\"bins\":[\"jq\",\"curl\"],\"env\":[\"EVOLINK_API_KEY\"]},\"primaryEnv\":\"EVOLINK_API_KEY\"}}\n---\n\n# Seedance Video Generation\n\nAn interactive AI video generation assistant powered by the Seedance model via EvoLink API.\n\n## After Installation\n\nWhen this skill is first loaded, proactively greet the user and start the setup:\n\n1. Check if `EVOLINK_API_KEY` is set\n   - **If not set:** \"To generate videos, you'll need an EvoLink API key. It takes 30 seconds to get one — just sign up at evolink.ai. Want me to walk you through it?\"\n   - **If already set:** \"You're all set! What kind of video would you like to create?\"\n\n2. That's it. One question. The user is now in the flow.\n\nDo NOT list features, show a menu, or dump instructions. Just ask one question to move forward.\n\n## Core Principles\n\n1. **Guide, don't decide** — Present options and let the user decide. Don't make assumptions about their preferences.\n2. **Let the user drive the creative vision** — If they have an idea, use their words. If they need inspiration, offer suggestions and let them choose or refine.\n3. **Smart context awareness** — Recognize what the user has already provided and only ask about missing pieces.\n4. **Intent first** — If the user's intent is unclear, confirm what they want before proceeding.\n\n## Flow\n\n### Step 1: Check for API Key\n\nIf the user hasn't provided an API key or set `EVOLINK_API_KEY`:\n\n- Tell them they need an EvoLink API Key\n- Guide them to register at https://evolink.ai and get a key from the dashboard\n- Once they provide a key, proceed to Step 2\n\nIf the key is already set or provided, skip directly to Step 2.\n\n### Step 2: Understand Intent\n\nAssess what the user wants based on their message:\n\n- **Intent is clear** (e.g., \"generate a video of a cat dancing\") → Go to Step 3\n- **Intent is ambiguous** (e.g., \"I want to try Seedance\") → Ask what they'd like to do: generate a new video, learn about model capabilities, etc.\n\n### Step 3: Gather Missing Information\n\nCheck what the user has already provided and **only ask about what's missing**:\n\n| Parameter | What to tell the user | Required? |\n|-----------|----------------------|-----------|\n| **Video content** (prompt) | Ask what they'd like to see. If they need inspiration, suggest a few ideas for them to pick from or build on. | Yes |\n| **Duration** | Supported: **4–12 seconds**. Ask how long they want. | Yes |\n| **Resolution** | Supported: **480p** / **720p** / **1080p**. Ask their preference. | Yes |\n| **Audio** | The model can auto-generate **voice, sound effects, and background music** matching the video. Ask if they want audio enabled. | Yes |\n| **Aspect ratio** | Supported: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. Only mention if relevant or if user asks. | Optional |\n| **Reference images** | Supported: up to 9 images (JPEG/PNG/WebP, ≤30MB each). Only mention if relevant. | Optional |\n\n**Smart gathering rules:**\n- User gives everything at once → Confirm and generate immediately\n- User gives partial info → Only ask about the missing pieces\n- User says \"I want to generate a video\" with no details → Guide from the beginning\n\n### Step 4: Generate\n\nOnce all required information is confirmed:\n\n1. Tell the user: \"Generating your video now — this usually takes 30–120 seconds. I'll let you know when it's ready.\"\n2. Run the generation script. **Do NOT forward each line of script output to the user.** The script prints polling status internally — ignore it. Only report the final result.\n3. When complete, share the video URL (valid for 24 hours) and generation time.\n\n## Script Usage\n\n```bash\n# Set API key\nexport EVOLINK_API_KEY=your_key_here\n\n# Basic text-to-video\n./scripts/seedance-gen.sh \"user's prompt\" --duration 5 --quality 720p\n\n# With audio disabled\n./scripts/seedance-gen.sh \"user's prompt\" --duration 8 --quality 1080p --no-audio\n\n# With reference image\n./scripts/seedance-gen.sh \"user's prompt\" --image \"https://example.com/ref.jpg\" --duration 6 --quality 720p\n\n# Custom aspect ratio\n./scripts/seedance-gen.sh \"user's prompt\" --aspect-ratio 9:16 --duration 4 --quality 480p\n```\n\n## Error Handling\n\nProvide friendly, actionable messages:\n\n| Error | What to tell the user |\n|-------|----------------------|\n| Invalid/missing key (401) | \"Your API key doesn't seem to work. You can check it at https://evolink.ai/dashboard\" |\n| Insufficient balance (402) | \"Your account balance is low. You can add credits at https://evolink.ai/dashboard\" |\n| Rate limited (429) | \"Too many requests — let's wait a moment and try again\" |\n| Content blocked (400) | \"This prompt was flagged (realistic human faces are restricted). Try adjusting the description\" |\n| Service unavailable (503) | \"The service is temporarily busy. Let's try again in a minute\" |\n\n## Model Capabilities Summary\n\nUse this when the user asks what the model can do:\n\n- **Text-to-video**: Describe a scene, get a video\n- **Image-to-video**: Provide reference images to guide the output\n- **Audio generation**: Auto-generates synchronized voice, sound effects, and background music\n- **Duration**: 4–12 seconds\n- **Resolution**: 480p, 720p, 1080p\n- **Aspect ratios**: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9\n- **Limitation**: Realistic human faces are restricted\n\n## References\n\n- `references/api-params.md`: Complete API parameter reference\n- `scripts/seedance-gen.sh`: Generation script with automatic polling and error handling\n\nFile v1.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn74p4xy6sja0199cea53anecs81kqjs\",\n  \"slug\": \"seedance-2-video-gen\",\n  \"version\": \"1.4.1\",\n  \"publishedAt\": 1771869729524\n}\n\nFile v1.4.1:references/api-params.md\n\n# Seedance API Parameters Reference\n\nThis document provides complete API parameter reference for the Seedance video generation service.\n\n## API Endpoints\n\n### Generation Request\n```\nPOST https://api.evolink.ai/v1/videos/generations\nAuthorization: Bearer {EVOLINK_API_KEY}\nContent-Type: application/json\n```\n\n### Task Status Query\n```\nGET https://api.evolink.ai/v1/tasks/{task_id}\nAuthorization: Bearer {EVOLINK_API_KEY}\n```\n\n## Generation Parameters\n\n### Required Parameters\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `model` | string | Fixed: `\"seedance-1.5-pro\"` |\n| `prompt` | string | Text description of desired video content |\n\n### Optional Parameters\n\n| Parameter | Type | Default | Options | Description |\n|-----------|------|---------|---------|-------------|\n| `image_urls` | array | `[]` | URLs | Reference images (max 9) |\n| `duration` | integer | `5` | `4-12` | Video duration in seconds |\n| `quality` | string | `\"720p\"` | `\"480p\"`, `\"720p\"`, `\"1080p\"` | Video resolution |\n| `aspect_ratio` | string | `\"16:9\"` | `\"16:9\"`, `\"9:16\"`, `\"1:1\"`, `\"4:3\"`, `\"3:4\"`, `\"21:9\"` | Video aspect ratio |\n| `generate_audio` | boolean | `true` | `true`, `false` | Generate synchronized audio (voice, SFX, music). Enabled by default; disabling reduces cost. |\n\n### Parameter Constraints\n\n#### Image URLs\n- **Maximum count**: 9 images\n- **File size limit**: ≤30MB per image\n- **Supported formats**: JPEG, PNG, WebP, BMP, TIFF, GIF\n- **Format**: Array of strings containing full URLs\n\n#### Duration\n- **Range**: 4-12 seconds\n- **Type**: Integer\n- **Impact**: Longer videos cost more and take longer to generate\n\n#### Quality\n- **480p**: Fastest, cheapest, lower quality\n- **720p**: Balanced (recommended default)\n- **1080p**: Highest quality, slower, most expensive\n\n#### Aspect Ratio\n- **16:9**: Standard landscape (YouTube, TV)\n- **9:16**: Mobile/vertical (TikTok, Instagram Stories)\n- **1:1**: Square (Instagram posts, social media)\n- **4:3**: Traditional format\n- **3:4**: Portrait format\n- **21:9**: Ultra-wide cinematic\n\n## Example Payloads\n\n### Text-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\",\n  \"prompt\": \"A serene sunset over calm ocean waves\",\n  \"duration\": 5,\n  \"quality\": \"720p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n### Image-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\", \n  \"prompt\": \"Gentle waves rolling onto the shore\",\n  \"image_urls\": [\n    \"https://example.com/beach1.jpg\",\n    \"https://example.com/beach2.jpg\"\n  ],\n  \"duration\": 8,\n  \"quality\": \"1080p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n## Response Format\n\n### Generation Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"pending\",\n  \"created_at\": \"2024-01-01T12:00:00Z\"\n}\n```\n\n### Status Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"completed\",\n  \"video_url\": \"https://cdn.example.com/video.mp4\",\n  \"created_at\": \"2024-01-01T12:00:00Z\",\n  \"completed_at\": \"2024-01-01T12:01:30Z\"\n}\n```\n\n## Task Status Values\n\n| Status | Description | Action Required |\n|--------|-------------|-----------------|\n| `pending` | Task queued | Continue polling |\n| `processing` | Generation in progress | Continue polling |\n| `completed` | Video ready | Retrieve video_url |\n| `failed` | Generation failed | Check error field |\n\n## Error Codes\n\n### HTTP Status Codes\n\n| Code | Meaning | Common Causes | Solutions |\n|------|---------|---------------|-----------|\n| `200` | Success | - | Process response |\n| `400` | Bad Request | Invalid parameters, content blocked, file too large | Check parameters and content |\n| `401` | Unauthorized | Invalid or missing API key | Verify EVOLINK_API_KEY |\n| `402` | Payment Required | Insufficient balance | Add credits at dashboard |\n| `429` | Rate Limited | Too many requests | Wait and retry |\n| `503` | Service Unavailable | Server maintenance/overload | Retry later |\n\n### Error Response Format\n```json\n{\n  \"error\": \"Detailed error message\",\n  \"code\": \"ERROR_CODE\",\n  \"details\": {}\n}\n```\n\n### Common Error Messages\n\n#### Content Blocking (400)\n- **Trigger**: Realistic human faces, inappropriate content\n- **Message**: Contains \"face\" or \"人脸\" keywords\n- **Solution**: Modify prompt to avoid restricted content\n\n#### File Size (400) \n- **Trigger**: Images >30MB\n- **Message**: Contains \"file\" and \"large\" or \"size exceed\"\n- **Solution**: Compress images before upload\n\n#### Invalid Key (401)\n- **Message**: \"Invalid API key\" or similar\n- **Solution**: Check key at https://evolink.ai/dashboard\n\n#### Insufficient Balance (402)\n- **Message**: \"Insufficient balance\" or similar  \n- **Solution**: Add credits at https://evolink.ai/dashboard\n\n## Polling Strategy\n\n### Recommended Pattern\n1. **Initial wait**: Start polling immediately\n2. **Frequent polling**: Every 5 seconds for first 30 seconds\n3. **Slower polling**: Every 10 seconds after 30 seconds\n4. **Timeout**: Stop after 3 minutes with warning\n\n### Typical Generation Times\n- **4-5 seconds, 480p**: 20-45 seconds\n- **5-8 seconds, 720p**: 30-90 seconds  \n- **10-15 seconds, 1080p**: 60-180 seconds\n\n### Timeout Handling\nAfter 3 minutes, inform user that generation may still be processing and suggest checking back later.\n\n## Rate Limits\n\n- **Generation requests**: Varies by plan\n- **Status queries**: Higher limit, safe to poll frequently\n- **Concurrent tasks**: Varies by plan\n\nContact support for specific rate limit details for your account.\n\n## Output URLs\n\n- **Validity**: 24 hours from generation\n- **Format**: MP4 video files\n- **CDN delivery**: High-speed download\n- **Audio**: Synchronized audio included by default (voice, sound effects, background music)\n\n## Best Practices\n\n### Prompt Writing\n- Be specific and descriptive\n- Include visual details (colors, lighting, movement)\n- Avoid realistic human faces\n- Use cinematic language for better results\n\n### Performance Optimization  \n- Start with 480p for testing\n- Use shorter durations for faster generation\n- Provide clear, high-quality reference images\n- Batch similar requests to optimize costs\n\n### Error Resilience\n- Always handle all error codes\n- Provide user-friendly error messages with action links\n- Implement exponential backoff for rate limits\n- Set reasonable timeouts for polling\n\nArchive v1.4.0: 4 files, 9008 bytes\n\nFiles: _meta.json (139b), references/api-params.md (6220b), scripts/seedance-gen.sh (9056b), SKILL.md (5776b)\n\nFile v1.4.0:SKILL.md\n\n---\nname: seedance-2-video-gen\ndescription: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor. Powered by ByteDance Seedance model.\nhomepage: https://github.com/EvoLinkAI/evolink-skills\nmetadata: {\"openclaw\":{\"homepage\":\"https://github.com/EvoLinkAI/evolink-skills\",\"requires\":{\"bins\":[\"jq\",\"curl\"],\"env\":[\"EVOLINK_API_KEY\"]},\"primaryEnv\":\"EVOLINK_API_KEY\"}}\n---\n\n# Seedance Video Generation\n\nAn interactive AI video generation assistant powered by the Seedance model via EvoLink API.\n\n## After Installation\n\nWhen this skill is first loaded, proactively greet the user and start the setup:\n\n1. Check if `EVOLINK_API_KEY` is set\n   - **If not set:** \"To generate videos, you'll need an EvoLink API key. It takes 30 seconds to get one — just sign up at evolink.ai. Want me to walk you through it?\"\n   - **If already set:** \"You're all set! What kind of video would you like to create?\"\n\n2. That's it. One question. The user is now in the flow.\n\nDo NOT list features, show a menu, or dump instructions. Just ask one question to move forward.\n\n## Core Principles\n\n1. **Guide, don't decide** — Present options and let the user decide. Don't make assumptions about their preferences.\n2. **Let the user drive the creative vision** — If they have an idea, use their words. If they need inspiration, offer suggestions and let them choose or refine.\n3. **Smart context awareness** — Recognize what the user has already provided and only ask about missing pieces.\n4. **Intent first** — If the user's intent is unclear, confirm what they want before proceeding.\n\n## Flow\n\n### Step 1: Check for API Key\n\nIf the user hasn't provided an API key or set `EVOLINK_API_KEY`:\n\n- Tell them they need an EvoLink API Key\n- Guide them to register at https://evolink.ai and get a key from the dashboard\n- Once they provide a key, proceed to Step 2\n\nIf the key is already set or provided, skip directly to Step 2.\n\n### Step 2: Understand Intent\n\nAssess what the user wants based on their message:\n\n- **Intent is clear** (e.g., \"generate a video of a cat dancing\") → Go to Step 3\n- **Intent is ambiguous** (e.g., \"I want to try Seedance\") → Ask what they'd like to do: generate a new video, learn about model capabilities, etc.\n\n### Step 3: Gather Missing Information\n\nCheck what the user has already provided and **only ask about what's missing**:\n\n| Parameter | What to tell the user | Required? |\n|-----------|----------------------|-----------|\n| **Video content** (prompt) | Ask what they'd like to see. If they need inspiration, suggest a few ideas for them to pick from or build on. | Yes |\n| **Duration** | Supported: **4–12 seconds**. Ask how long they want. | Yes |\n| **Resolution** | Supported: **480p** / **720p** / **1080p**. Ask their preference. | Yes |\n| **Audio** | The model can auto-generate **voice, sound effects, and background music** matching the video. Ask if they want audio enabled. | Yes |\n| **Aspect ratio** | Supported: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. Only mention if relevant or if user asks. | Optional |\n| **Reference images** | Supported: up to 9 images (JPEG/PNG/WebP, ≤30MB each). Only mention if relevant. | Optional |\n\n**Smart gathering rules:**\n- User gives everything at once → Confirm and generate immediately\n- User gives partial info → Only ask about the missing pieces\n- User says \"I want to generate a video\" with no details → Guide from the beginning\n\n### Step 4: Generate\n\nOnce all required information is confirmed:\n\n1. Tell the user: \"Generating your video now — this usually takes 30–120 seconds. I'll let you know when it's ready.\"\n2. Run the generation script. **Do NOT forward each line of script output to the user.** The script prints polling status internally — ignore it. Only report the final result.\n3. When complete, share the video URL (valid for 24 hours) and generation time.\n\n## Script Usage\n\n```bash\n# Set API key\nexport EVOLINK_API_KEY=your_key_here\n\n# Basic text-to-video\n./scripts/seedance-gen.sh \"user's prompt\" --duration 5 --quality 720p\n\n# With audio disabled\n./scripts/seedance-gen.sh \"user's prompt\" --duration 8 --quality 1080p --no-audio\n\n# With reference image\n./scripts/seedance-gen.sh \"user's prompt\" --image \"https://example.com/ref.jpg\" --duration 6 --quality 720p\n\n# Custom aspect ratio\n./scripts/seedance-gen.sh \"user's prompt\" --aspect-ratio 9:16 --duration 4 --quality 480p\n```\n\n## Error Handling\n\nProvide friendly, actionable messages:\n\n| Error | What to tell the user |\n|-------|----------------------|\n| Invalid/missing key (401) | \"Your API key doesn't seem to work. You can check it at https://evolink.ai/dashboard\" |\n| Insufficient balance (402) | \"Your account balance is low. You can add credits at https://evolink.ai/dashboard\" |\n| Rate limited (429) | \"Too many requests — let's wait a moment and try again\" |\n| Content blocked (400) | \"This prompt was flagged (realistic human faces are restricted). Try adjusting the description\" |\n| Service unavailable (503) | \"The service is temporarily busy. Let's try again in a minute\" |\n\n## Model Capabilities Summary\n\nUse this when the user asks what the model can do:\n\n- **Text-to-video**: Describe a scene, get a video\n- **Image-to-video**: Provide reference images to guide the output\n- **Audio generation**: Auto-generates synchronized voice, sound effects, and background music\n- **Duration**: 4–12 seconds\n- **Resolution**: 480p, 720p, 1080p\n- **Aspect ratios**: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9\n- **Limitation**: Realistic human faces are restricted\n\n## References\n\n- `references/api-params.md`: Complete API parameter reference\n- `scripts/seedance-gen.sh`: Generation script with automatic polling and error handling\n\nFile v1.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn74p4xy6sja0199cea53anecs81kqjs\",\n  \"slug\": \"seedance-2-video-gen\",\n  \"version\": \"1.4.0\",\n  \"publishedAt\": 1771868583552\n}\n\nFile v1.4.0:references/api-params.md\n\n# Seedance API Parameters Reference\n\nThis document provides complete API parameter reference for the Seedance video generation service.\n\n## API Endpoints\n\n### Generation Request\n```\nPOST https://api.evolink.ai/v1/videos/generations\nAuthorization: Bearer {EVOLINK_API_KEY}\nContent-Type: application/json\n```\n\n### Task Status Query\n```\nGET https://api.evolink.ai/v1/tasks/{task_id}\nAuthorization: Bearer {EVOLINK_API_KEY}\n```\n\n## Generation Parameters\n\n### Required Parameters\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `model` | string | Fixed: `\"seedance-1.5-pro\"` |\n| `prompt` | string | Text description of desired video content |\n\n### Optional Parameters\n\n| Parameter | Type | Default | Options | Description |\n|-----------|------|---------|---------|-------------|\n| `image_urls` | array | `[]` | URLs | Reference images (max 9) |\n| `duration` | integer | `5` | `4-12` | Video duration in seconds |\n| `quality` | string | `\"720p\"` | `\"480p\"`, `\"720p\"`, `\"1080p\"` | Video resolution |\n| `aspect_ratio` | string | `\"16:9\"` | `\"16:9\"`, `\"9:16\"`, `\"1:1\"`, `\"4:3\"`, `\"3:4\"`, `\"21:9\"` | Video aspect ratio |\n| `generate_audio` | boolean | `true` | `true`, `false` | Generate synchronized audio (voice, SFX, music). Enabled by default; disabling reduces cost. |\n\n### Parameter Constraints\n\n#### Image URLs\n- **Maximum count**: 9 images\n- **File size limit**: ≤30MB per image\n- **Supported formats**: JPEG, PNG, WebP, BMP, TIFF, GIF\n- **Format**: Array of strings containing full URLs\n\n#### Duration\n- **Range**: 4-12 seconds\n- **Type**: Integer\n- **Impact**: Longer videos cost more and take longer to generate\n\n#### Quality\n- **480p**: Fastest, cheapest, lower quality\n- **720p**: Balanced (recommended default)\n- **1080p**: Highest quality, slower, most expensive\n\n#### Aspect Ratio\n- **16:9**: Standard landscape (YouTube, TV)\n- **9:16**: Mobile/vertical (TikTok, Instagram Stories)\n- **1:1**: Square (Instagram posts, social media)\n- **4:3**: Traditional format\n- **3:4**: Portrait format\n- **21:9**: Ultra-wide cinematic\n\n## Example Payloads\n\n### Text-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\",\n  \"prompt\": \"A serene sunset over calm ocean waves\",\n  \"duration\": 5,\n  \"quality\": \"720p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n### Image-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\", \n  \"prompt\": \"Gentle waves rolling onto the shore\",\n  \"image_urls\": [\n    \"https://example.com/beach1.jpg\",\n    \"https://example.com/beach2.jpg\"\n  ],\n  \"duration\": 8,\n  \"quality\": \"1080p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n## Response Format\n\n### Generation Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"pending\",\n  \"created_at\": \"2024-01-01T12:00:00Z\"\n}\n```\n\n### Status Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"completed\",\n  \"video_url\": \"https://cdn.example.com/video.mp4\",\n  \"created_at\": \"2024-01-01T12:00:00Z\",\n  \"completed_at\": \"2024-01-01T12:01:30Z\"\n}\n```\n\n## Task Status Values\n\n| Status | Description | Action Required |\n|--------|-------------|-----------------|\n| `pending` | Task queued | Continue polling |\n| `processing` | Generation in progress | Continue polling |\n| `completed` | Video ready | Retrieve video_url |\n| `failed` | Generation failed | Check error field |\n\n## Error Codes\n\n### HTTP Status Codes\n\n| Code | Meaning | Common Causes | Solutions |\n|------|---------|---------------|-----------|\n| `200` | Success | - | Process response |\n| `400` | Bad Request | Invalid parameters, content blocked, file too large | Check parameters and content |\n| `401` | Unauthorized | Invalid or missing API key | Verify EVOLINK_API_KEY |\n| `402` | Payment Required | Insufficient balance | Add credits at dashboard |\n| `429` | Rate Limited | Too many requests | Wait and retry |\n| `503` | Service Unavailable | Server maintenance/overload | Retry later |\n\n### Error Response Format\n```json\n{\n  \"error\": \"Detailed error message\",\n  \"code\": \"ERROR_CODE\",\n  \"details\": {}\n}\n```\n\n### Common Error Messages\n\n#### Content Blocking (400)\n- **Trigger**: Realistic human faces, inappropriate content\n- **Message**: Contains \"face\" or \"人脸\" keywords\n- **Solution**: Modify prompt to avoid restricted content\n\n#### File Size (400) \n- **Trigger**: Images >30MB\n- **Message**: Contains \"file\" and \"large\" or \"size exceed\"\n- **Solution**: Compress images before upload\n\n#### Invalid Key (401)\n- **Message**: \"Invalid API key\" or similar\n- **Solution**: Check key at https://evolink.ai/dashboard\n\n#### Insufficient Balance (402)\n- **Message**: \"Insufficient balance\" or similar  \n- **Solution**: Add credits at https://evolink.ai/dashboard\n\n## Polling Strategy\n\n### Recommended Pattern\n1. **Initial wait**: Start polling immediately\n2. **Frequent polling**: Every 5 seconds for first 30 seconds\n3. **Slower polling**: Every 10 seconds after 30 seconds\n4. **Timeout**: Stop after 3 minutes with warning\n\n### Typical Generation Times\n- **4-5 seconds, 480p**: 20-45 seconds\n- **5-8 seconds, 720p**: 30-90 seconds  \n- **10-15 seconds, 1080p**: 60-180 seconds\n\n### Timeout Handling\nAfter 3 minutes, inform user that generation may still be processing and suggest checking back later.\n\n## Rate Limits\n\n- **Generation requests**: Varies by plan\n- **Status queries**: Higher limit, safe to poll frequently\n- **Concurrent tasks**: Varies by plan\n\nContact support for specific rate limit details for your account.\n\n## Output URLs\n\n- **Validity**: 24 hours from generation\n- **Format**: MP4 video files\n- **CDN delivery**: High-speed download\n- **Audio**: Synchronized audio included by default (voice, sound effects, background music)\n\n## Best Practices\n\n### Prompt Writing\n- Be specific and descriptive\n- Include visual details (colors, lighting, movement)\n- Avoid realistic human faces\n- Use cinematic language for better results\n\n### Performance Optimization  \n- Start with 480p for testing\n- Use shorter durations for faster generation\n- Provide clear, high-quality reference images\n- Batch similar requests to optimize costs\n\n### Error Resilience\n- Always handle all error codes\n- Provide user-friendly error messages with action links\n- Implement exponential backoff for rate limits\n- Set reasonable timeouts for polling","readmeExcerpt":"Skill: Seedance 2 Video Generation Owner: EvoLinkAI Summary: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... Tags: latest:1.4.1 Version history: v1.4.1 | 2026-02-23T18:02:09.524Z | user Fix: silent polling to prevent message spam during generation v1.4.0 | 2026-02-23T17:43:03.552Z | user UX: add post-instal","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Set API key\nexport EVOLINK_API_KEY=your_key_here\n\n# Basic text-to-video\n./scripts/seedance-gen.sh \"user's prompt\" --duration 5 --quality 720p\n\n# With audio disabled\n./scripts/seedance-gen.sh \"user's prompt\" --duration 8 --quality 1080p --no-audio\n\n# With reference image\n./scripts/seedance-gen.sh \"user's prompt\" --image \"https://example.com/ref.jpg\" --duration 6 --quality 720p\n\n# Custom aspect ratio\n./scripts/seedance-gen.sh \"user's prompt\" --aspect-ratio 9:16 --duration 4 --quality 480p"},{"language":"text","snippet":"POST https://api.evolink.ai/v1/videos/generations\nAuthorization: Bearer {EVOLINK_API_KEY}\nContent-Type: application/json"},{"language":"text","snippet":"GET https://api.evolink.ai/v1/tasks/{task_id}\nAuthorization: Bearer {EVOLINK_API_KEY}"},{"language":"json","snippet":"{\n  \"model\": \"seedance-1.5-pro\",\n  \"prompt\": \"A serene sunset over calm ocean waves\",\n  \"duration\": 5,\n  \"quality\": \"720p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}"},{"language":"json","snippet":"{\n  \"model\": \"seedance-1.5-pro\", \n  \"prompt\": \"Gentle waves rolling onto the shore\",\n  \"image_urls\": [\n    \"https://example.com/beach1.jpg\",\n    \"https://example.com/beach2.jpg\"\n  ],\n  \"duration\": 8,\n  \"quality\": \"1080p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}"},{"language":"json","snippet":"{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"pending\",\n  \"created_at\": \"2024-01-01T12:00:00Z\"\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: seedance-2-video-gen\ndescription: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor. Powered by ByteDance Seedance model.\nhomepage: https://github.com/EvoLinkAI/evolink-skills\nmetadata: {\"openclaw\":{\"homepage\":\"https://github.com/EvoLinkAI/evolink-skills\",\"requires\":{\"bins\":[\"jq\",\"curl\"],\"env\":[\"EVOLINK_API_KEY\"]},\"primaryEnv\":\"EVOLINK_API_KEY\"}}\n---\n\n# Seedance Video Generation\n\nAn interactive AI video generation assistant powered by the Seedance model via EvoLink API.\n\n## After Installation\n\nWhen this skill is first loaded, proactively greet the user and start the setup:\n\n1. Check if `EVOLINK_API_KEY` is set\n   - **If not set:** \"To generate videos, you'll need an EvoLink API key. It takes 30 seconds to get one — just sign up at evolink.ai. Want me to walk you through it?\"\n   - **If already set:** \"You're all set! What kind of video would you like to create?\"\n\n2. That's it. One question. The user is now in the flow.\n\nDo NOT list features, show a menu, or dump instructions. Just ask one question to move forward.\n\n## Core Principles\n\n1. **Guide, don't decide** — Present options and let the user decide. Don't make assumptions about their preferences.\n2. **Let the user drive the creative vision** — If they have an idea, use their words. If they need inspiration, offer suggestions and let them choose or refine.\n3. **Smart context awareness** — Recognize what the user has already provided and only ask about missing pieces.\n4. **Intent first** — If the user's intent is unclear, confirm what they want before proceeding.\n\n## Flow\n\n### Step 1: Check for API Key\n\nIf the user hasn't provided an API key or set `EVOLINK_API_KEY`:\n\n- Tell them they need an EvoLink API Key\n- Guide them to register at https://evolink.ai and get a key from the dashboard\n- Once they provide a key, proceed to Step 2\n\nIf the key is already set or provided, skip directly to Step 2.\n\n### Step 2: Understand Intent\n\nAssess what the user wants based on their message:\n\n- **Intent is clear** (e.g., \"generate a video of a cat dancing\") → Go to Step 3\n- **Intent is ambiguous** (e.g., \"I want to try Seedance\") → Ask what they'd like to do: generate a new video, learn about model capabilities, etc.\n\n### Step 3: Gather Missing Information\n\nCheck what the user has already provided and **only ask about what's missing**:\n\n| Parameter | What to tell the user | Required? |\n|-----------|----------------------|-----------|\n| **Video content** (prompt) | Ask what they'd like to see. If they need inspiration, suggest a few ideas for them to pick from or build on. | Yes |\n| **Duration** | Supported: **4–12 seconds**. Ask how long they want. | Yes |\n| **Resolution** | Supported: **480p** / **720p** / **1080p**. Ask their preference. | Yes |\n| **Audio** | The model can auto-generate **voice, sound effects, and background music** matching the video. Ask if they want audio enabled. | Yes |\n| *"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn74p4xy6sja0199cea53anecs81kqjs\",\n  \"slug\": \"seedance-2-video-gen\",\n  \"version\": \"1.4.1\",\n  \"publishedAt\": 1771869729524\n}"},{"path":"references/api-params.md","content":"# Seedance API Parameters Reference\n\nThis document provides complete API parameter reference for the Seedance video generation service.\n\n## API Endpoints\n\n### Generation Request\n```\nPOST https://api.evolink.ai/v1/videos/generations\nAuthorization: Bearer {EVOLINK_API_KEY}\nContent-Type: application/json\n```\n\n### Task Status Query\n```\nGET https://api.evolink.ai/v1/tasks/{task_id}\nAuthorization: Bearer {EVOLINK_API_KEY}\n```\n\n## Generation Parameters\n\n### Required Parameters\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `model` | string | Fixed: `\"seedance-1.5-pro\"` |\n| `prompt` | string | Text description of desired video content |\n\n### Optional Parameters\n\n| Parameter | Type | Default | Options | Description |\n|-----------|------|---------|---------|-------------|\n| `image_urls` | array | `[]` | URLs | Reference images (max 9) |\n| `duration` | integer | `5` | `4-12` | Video duration in seconds |\n| `quality` | string | `\"720p\"` | `\"480p\"`, `\"720p\"`, `\"1080p\"` | Video resolution |\n| `aspect_ratio` | string | `\"16:9\"` | `\"16:9\"`, `\"9:16\"`, `\"1:1\"`, `\"4:3\"`, `\"3:4\"`, `\"21:9\"` | Video aspect ratio |\n| `generate_audio` | boolean | `true` | `true`, `false` | Generate synchronized audio (voice, SFX, music). Enabled by default; disabling reduces cost. |\n\n### Parameter Constraints\n\n#### Image URLs\n- **Maximum count**: 9 images\n- **File size limit**: ≤30MB per image\n- **Supported formats**: JPEG, PNG, WebP, BMP, TIFF, GIF\n- **Format**: Array of strings containing full URLs\n\n#### Duration\n- **Range**: 4-12 seconds\n- **Type**: Integer\n- **Impact**: Longer videos cost more and take longer to generate\n\n#### Quality\n- **480p**: Fastest, cheapest, lower quality\n- **720p**: Balanced (recommended default)\n- **1080p**: Highest quality, slower, most expensive\n\n#### Aspect Ratio\n- **16:9**: Standard landscape (YouTube, TV)\n- **9:16**: Mobile/vertical (TikTok, Instagram Stories)\n- **1:1**: Square (Instagram posts, social media)\n- **4:3**: Traditional format\n- **3:4**: Portrait format\n- **21:9**: Ultra-wide cinematic\n\n## Example Payloads\n\n### Text-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\",\n  \"prompt\": \"A serene sunset over calm ocean waves\",\n  \"duration\": 5,\n  \"quality\": \"720p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n### Image-to-Video\n```json\n{\n  \"model\": \"seedance-1.5-pro\", \n  \"prompt\": \"Gentle waves rolling onto the shore\",\n  \"image_urls\": [\n    \"https://example.com/beach1.jpg\",\n    \"https://example.com/beach2.jpg\"\n  ],\n  \"duration\": 8,\n  \"quality\": \"1080p\",\n  \"aspect_ratio\": \"16:9\",\n  \"generate_audio\": false\n}\n```\n\n## Response Format\n\n### Generation Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"pending\",\n  \"created_at\": \"2024-01-01T12:00:00Z\"\n}\n```\n\n### Status Response\n```json\n{\n  \"task_id\": \"task_abc123\",\n  \"status\": \"completed\",\n  \"video_url\": \"https://cdn.example.com/video.mp4\",\n  \"created_at\": \"2024-01-01T12:00:00Z\",\n  \"completed_at\": \"2024-01-01T12:01:30Z\"\n}\n```\n\n## Task Status Values\n\n| Status | "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... Skill: Seedance 2 Video Generation Owner: EvoLinkAI Summary: Seedance 2.0 AI video generation via EvoLink API. Text-to-video, image-to-video with auto audio (voice, SFX, BGM). Works with OpenClaw, Claude Code, Cursor.... Tags: latest:1.4.1 Version history: v1.4.1 | 2026-02-23T18:02:09.524Z | user Fix: silent polling to prevent message spam during generation v1.4.0 | 2026-02-23T17:43:03.552Z | user UX: add post-instal","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1178,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","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-04-15T00:45:39.800Z","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-09T22:39:46.005Z","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"}]}}}