{"id":"c4bcee4c-6dd4-4fd5-beef-6a965c8d6888","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-aigc-videogen","name":"AIGC视频生成","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-aigc-videogen","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-aigc-videogen","generatedAt":"2026-10-12T15:05:20.294Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T22:03:35.612Z","emptyReason":null},"description":"AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。 Skill: AIGC视频生成 Owner: linkfox-ai Summary: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。 Tags: latest:1.2.3 Version history: v1.2.3 | 2026-09-14T04:53:04.768Z | user Update from 1.2.2 to 1.2.3 v1.2.2 | 2026-08-14T14:40:45.210Z | user Update from 1.2.1 to 1.2.2 v1.2.1 | 2026-08-07T10:36:29.9","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 987 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-aigc-videogen","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-aigc-videogen","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-aigc-videogen","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T22:03:35.612Z","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-11T22:03:35.612Z","emptyReason":null},"stars":null,"forks":null,"downloads":987,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.2.3","tractionLabel":"987 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T22:03:35.600Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T22:03:35.612Z","lastCrawledAt":"2026-10-11T22:03:35.600Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T22:03:35.600Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.3","createdAt":"2026-09-14T04:53:04.768Z","changelog":"Update from 1.2.2 to 1.2.3","fileCount":7,"zipByteSize":20730},{"version":"1.2.2","createdAt":"2026-08-14T14:40:45.210Z","changelog":"Update from 1.2.1 to 1.2.2","fileCount":7,"zipByteSize":21160},{"version":"1.2.1","createdAt":"2026-08-07T10:36:29.953Z","changelog":"Update from 1.2.0 to 1.2.1","fileCount":7,"zipByteSize":20900},{"version":"1.2.0","createdAt":"2026-08-05T03:20:09.457Z","changelog":"Initial release","fileCount":5,"zipByteSize":11946},{"version":"1.0.2","createdAt":"2026-07-06T11:08:41.675Z","changelog":"Update from 1.0.1 to 1.0.2","fileCount":4,"zipByteSize":9862},{"version":"1.0.1","createdAt":"2026-07-03T08:08:04.427Z","changelog":"Update from 1.0.0 to 1.0.1","fileCount":4,"zipByteSize":9862},{"version":"1.0.0","createdAt":"2026-07-02T12:34:02.403Z","changelog":"Initial release","fileCount":5,"zipByteSize":11120}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-aigc-videogen","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-linkfox-ai-linkfox-aigc-videogen/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/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-12T15:05:20.292Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-aigc-videogen/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-10-11T22:03:35.612Z","emptyReason":null},"readme":"Skill: AIGC视频生成\n\nOwner: linkfox-ai\n\nSummary: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n\nTags: latest:1.2.3\n\nVersion history:\n\nv1.2.3 | 2026-09-14T04:53:04.768Z | user\n\nUpdate from 1.2.2 to 1.2.3\n\nv1.2.2 | 2026-08-14T14:40:45.210Z | user\n\nUpdate from 1.2.1 to 1.2.2\n\nv1.2.1 | 2026-08-07T10:36:29.953Z | user\n\nUpdate from 1.2.0 to 1.2.1\n\nv1.2.0 | 2026-08-05T03:20:09.457Z | user\n\nInitial release\n\nv1.0.2 | 2026-07-06T11:08:41.675Z | user\n\nUpdate from 1.0.1 to 1.0.2\n\nv1.0.1 | 2026-07-03T08:08:04.427Z | user\n\nUpdate from 1.0.0 to 1.0.1\n\nv1.0.0 | 2026-07-02T12:34:02.403Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.2.3: 7 files, 20730 bytes\n\nFiles: _meta.json (140b), references/api.md (6226b), references/onboarding.md (1999b), scripts/aigc_videogen.py (14529b), scripts/onboarding.py (24027b), skill-card.md (2439b), SKILL.md (4724b)\n\nFile v1.2.3:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 解决认证和算力问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示算力或余额不足**：消息含\"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1789361584768\n}\n\nFile v1.2.3:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 402 | 算力不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nFile v1.2.3:references/onboarding.md\n\n# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.2.3:skill-card.md\n\n## Description:\n\nGenerates short AI videos from an input image, optional ending frame, and prompt using supported LinkFox video models.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and creators use this skill to turn a source image, optional final frame, and prompt into a generated video. Agents can create an asynchronous LinkFox generation task, poll for completion, and return the saved local video path.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles reusable LinkFox API keys and phone-based onboarding credentials.\n\nMitigation: Use securely stored API keys, avoid exposing secrets in shared shell startup files or logs, and rotate credentials if they may have been disclosed.\n\nRisk: The skill can initiate billing or quota purchase flows.\n\nMitigation: Review plan, payment method, and order details before creating any order, and do not allow unattended purchases.\n\nRisk: Image URLs and prompts are sent to external LinkFox processing services.\n\nMitigation: Submit only content approved for external processing and avoid sensitive or confidential image URLs and prompts.\n\nRisk: Endpoint environment variables can redirect requests away from the expected LinkFox services.\n\nMitigation: Do not override LinkFox endpoint environment variables unless the destination is trusted and intentionally configured.\n\n## Reference(s):\n\n- [AI Video API Reference](artifact/references/api.md)\n- [Authentication and Billing Onboarding](artifact/references/onboarding.md)\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Files, Guidance]\n\n**Output Format:** [Markdown or plain text with local video file paths and JSON snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save generated videos under the session media directory and response JSON under data; generation can take up to 20 minutes.]\n\n## Skill Version(s):\n\n1.2.3 (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.2.2: 7 files, 21160 bytes\n\nFiles: _meta.json (140b), references/api.md (6226b), references/onboarding.md (2046b), scripts/aigc_videogen.py (14473b), scripts/onboarding.py (24089b), skill-card.md (2971b), SKILL.md (4724b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1786718445210\n}\n\nFile v1.2.2:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nFile v1.2.2:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.2.2:skill-card.md\n\n## Description:\n\nAI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面，支持 KLING、WAN、SEED、SEED_FAST 和 HAILUO 模型。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to generate short AI videos from a source image, optional ending frame, and prompt through LinkFox video-generation services. It also guides users through API-key setup and billing recovery when authentication or balance errors block generation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends generation requests and account-recovery actions to LinkFox network services, including API-key setup and payment-order creation when auth or billing errors occur.\n\nMitigation: Install only if those network and account flows are acceptable; prefer LinkFox self-service account and billing pages when possible, and review payment QR codes and shell-profile commands before using them.\n\nRisk: API keys and phone/SMS login details may be exposed or persisted if configured on a shared machine.\n\nMitigation: Avoid storing API keys permanently on shared systems, keep credentials out of transcripts and logs, and remove or rotate environment variables when access is no longer needed.\n\nRisk: Generated media may involve signed or temporary URLs and large local files.\n\nMitigation: Share only the downloaded local media path with the user, do not read video file contents or expose base64 media, and avoid publishing raw temporary API URLs.\n\n## Reference(s):\n\n- [AI 生视频 API 参考（首尾帧/单图模式）](references/api.md)\n- [解决认证和积分问题](references/onboarding.md)\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen)\n- [LinkFox self-service site](https://agent.linkfox.com/)\n- [LinkFox tool gateway](https://tool-gateway.linkfox.com)\n- [LinkFox feedback API](https://skill-api.linkfox.com/api/v1/public/feedback)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance, files]\n\n**Output Format:** [Markdown guidance with JSON parameters, shell commands, local media file paths, and generated video files.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates asynchronous LinkFox API tasks, polls for completion for up to 20 minutes, saves generated videos under a session media directory, and writes raw API responses under data only for troubleshooting.]\n\n## Skill Version(s):\n\n1.2.2 (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.2.1: 7 files, 20900 bytes\n\nFiles: _meta.json (140b), references/api.md (6226b), references/onboarding.md (2046b), scripts/aigc_videogen.py (14472b), scripts/onboarding.py (24089b), skill-card.md (2574b), SKILL.md (4724b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1786098989953\n}\n\nFile v1.2.1:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nFile v1.2.1:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.2.1:skill-card.md\n\n## Description:\n\nGenerates short AI videos from a source image and optional ending frame using LinkFox-backed models such as KLING, WAN, SEED, SEED_FAST, and HAILUO.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to turn a provided image, prompt, and model settings into a generated video file. It is suited for single-image or first-frame/last-frame video generation workflows, including product and scene videos.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The onboarding flow can request a phone number and SMS code and return an API key.\n\nMitigation: Use the onboarding flow only when you intend to register or log in with LinkFox, and do not share SMS codes or generated API keys outside the intended LinkFox setup.\n\nRisk: Billing recovery can list plans and create payment orders or QR payment flows.\n\nMitigation: Confirm the selected plan, price, and payment method before creating an order or authorizing payment.\n\nRisk: Configurable service base-url environment variables can change where requests are sent.\n\nMitigation: Keep LinkFox service environment variables pointed at official LinkFox domains unless an administrator has approved another endpoint.\n\nRisk: Images, prompts, and generated media are processed through a third-party LinkFox service.\n\nMitigation: Avoid submitting sensitive or unauthorized images and prompts, and confirm that the use case permits third-party processing.\n\n## Reference(s):\n\n- [AI 生视频 API 参考](references/api.md)\n- [解决认证和积分问题](references/onboarding.md)\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Files, Shell commands, Configuration guidance]\n\n**Output Format:** [Plain text with local video file paths, JSON parameter examples, and shell commands for onboarding when needed]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates an asynchronous video-generation task, polls for completion, and saves generated video media to the session media directory.]\n\n## Skill Version(s):\n\n1.2.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 v1.2.0: 5 files, 11946 bytes\n\nFiles: _meta.json (140b), references/api.md (6226b), scripts/aigc_videogen.py (14472b), skill-card.md (2469b), SKILL.md (5341b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用以下措施来处理：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n### 措施\n- 优先采用skill内的 onboarding.md 引导解决问题。\n- 如找不到 onboarding.md 文件，则加载 /linkfox-onboarding 这个skill并根据它的引导来处理。如未安装请先安装：\n    - 下载 https://agent-files.linkfox.com/skills/linkfox-onboarding/release.zip，解压后安装这个skill。如需用户授权才可下载，要询问用户获得授权，你不能自己放弃下载。\n- 兜底措施：仅当前面两个措施经过所有努力都走不通时，才提示用户依据 https://skill.linkfox.com/linkfoxskills/guide.htm 指引获取API Key，或去 https://os.linkfox.com/ 补充积分。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1785900009457\n}\n\nFile v1.2.0:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nFile v1.2.0:skill-card.md\n\n## Description:\n\nAIGC视频生成 generates short videos from a starting image, optional ending frame, prompt, and selected LinkFox-supported video model.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit image-to-video generation jobs through LinkFox APIs, select supported model settings, and retrieve generated local video files.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Image URLs, prompts, task metadata, and the LinkFox API key are sent to LinkFox-controlled services.\n\nMitigation: Use only media and prompts approved for third-party processing, and configure credentials intentionally.\n\nRisk: Video generation may consume LinkFox credits or quota.\n\nMitigation: Confirm generation requests before execution and monitor account balance or quota before repeated use.\n\nRisk: During authentication or billing failures, the skill may ask to download and install a separate onboarding skill from a remote URL.\n\nMitigation: Require explicit user approval and review the downloaded onboarding skill before installation.\n\nRisk: Generated videos and fallback API responses are stored locally in session directories.\n\nMitigation: Handle saved media and response files according to the sensitivity of the source images and prompts.\n\n## Reference(s):\n\n- [AI 生视频 API 参考（首尾帧/单图模式）](references/api.md)\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen)\n- [LinkFox API key and credits guide](https://skill.linkfox.com/linkfoxskills/guide.htm)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, files, guidance]\n\n**Output Format:** [Plain text or Markdown status with local video file paths; JSON parameters are passed to the Python script.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated videos are saved to the session media directory; raw API responses are saved to the session data directory when no video file is produced.]\n\n## Skill Version(s):\n\n1.2.0 (source: server release metadata)\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.2: 4 files, 9862 bytes\n\nFiles: _meta.json (140b), references/api.md (6102b), scripts/aigc_videogen.py (14369b), SKILL.md (4250b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783336121675\n}\n\nFile v1.0.2:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取。未配置时提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | 检查 Authorization Header 是否传入正确 API Key |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nArchive v1.0.1: 4 files, 9862 bytes\n\nFiles: _meta.json (140b), references/api.md (6102b), scripts/aigc_videogen.py (14369b), SKILL.md (4250b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783066084427\n}\n\nFile v1.0.1:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取。未配置时提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | 检查 Authorization Header 是否传入正确 API Key |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_TOOL_GATEWAY/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nArchive v1.0.0: 5 files, 11120 bytes\n\nFiles: _meta.json (140b), references/api.md (6105b), scripts/aigc_videogen.py (14371b), skill-card.md (2246b), SKILL.md (4250b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1782995642403\n}\n\nFile v1.0.0:references/api.md\n\n# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_AGENT_API_URL}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取。未配置时提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或 FAILED\n\n---\n\n## 错误码\n\nHTTP 200 时业务成功与否看响应体 `errcode`/`errorCode`（200=成功）；HTTP 401 表示未授权。\n\n| errcode | 含义 | 处理 |\n|---------|------|------|\n| 200 | 成功 | 正常解析业务字段 |\n| 400 | 参数错误 | 检查必填参数是否正确传入 |\n| 401 | 认证失败 | 检查 Authorization Header 是否传入正确 API Key |\n| 10007 | 参数校验失败 | 检查 videoTime 是否为模型支持的值 |\n| 10009 | 任务不存在 | 检查 taskId 是否正确 |\n| 其他 | 业务异常 | 参考 errmsg 字段 |\n\n错误响应示例：\n```json\n{\"errcode\": 401, \"errmsg\": \"authorized error\"}\n```\n\n## curl 示例\n\n创建任务：\n```bash\ncurl -X POST \"$LINKFOX_AGENT_API_URL/aigc/videoGenAsync\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"imageUrl\":\"https://example.com/product.jpg\",\"videoType\":\"KLING\",\"videoTime\":5}'\n```\n\n查询结果：\n```bash\ncurl -X POST \"$LINKFOX_AGENT_API_URL/aigc/taskQuery\" \\\n  -H \"Authorization: $LINKFOX_AGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"taskId\":\"123456789\"}'\n```\n\n---\n\n## Feedback API\n\n> 该端点与上方工具 API 分离，请勿混用 base URL。\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-aigc-videogen\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**字段规则：**\n- `skillName`：使用 SKILL.md frontmatter 的 name\n- `sentiment`：POSITIVE（赞扬）/ NEUTRAL（建议无情绪）/ NEGATIVE（不满或错误）\n- `category`：BUG（异常或数据错误）/ COMPLAINT（不满）/ SUGGESTION（改进建议）/ OTHER\n- `content`：说明用户说了什么/期望什么、实际发生了什么、为什么是问题/赞赏\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nGenerates AI videos from an image and prompt, with optional end-frame control and supported LinkFox models including KLING, WAN, SEED, SEED_FAST, and HAILUO. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit image-to-video generation jobs to LinkFox, monitor asynchronous task completion, and return saved local video paths to the user. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Prompts, image URLs, and the API key are sent to the LinkFox service. <br>\nMitigation: Install and run only when LinkFox video generation is intended, keep the API key in a trusted environment, and avoid submitting sensitive or unauthorized content. <br>\nRisk: Video generation can be slow and may consume service credits. <br>\nMitigation: Confirm ambiguous requests before execution and choose model, duration, and quality parameters deliberately. <br>\nRisk: Generated videos and response data are saved locally. <br>\nMitigation: Review the saved media and data paths and delete retained outputs when local retention is not desired. <br>\n\n\n## Reference(s): <br>\n- [AI 生视频 API 参考](references/api.md) <br>\n- [LinkFox API key guide](https://skill.linkfox.com/linkfoxskills/guide.htm) <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Files, Shell commands] <br>\n**Output Format:** [Markdown text with local video file paths] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires LINKFOX_AGENT_API_KEY; generation may take up to 20 minutes and saves videos under a session media directory.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release evidence) <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: AIGC视频生成 Owner: linkfox-ai Summary: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。 Tags: latest:1.2.3 Version history: v1.2.3 | 2026-09-14T04:53:04.768Z | user Update from 1.2.2 to 1.2.3 v1.2.2 | 2026-08-14T14:40:45.210Z | user Update from 1.2.1 to 1.2.2 v1.2.1 | 2026-08-07T10:36:29.9","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}"},{"language":"json","snippet":"{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}"},{"language":"json","snippet":"{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}"},{"language":"json","snippet":"{\"taskId\": \"123456789\"}"},{"language":"json","snippet":"{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}"},{"language":"json","snippet":"{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-aigc-videogen\ndescription: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。\n---\n\n# AI 生视频（首尾帧/单图模式）\n\n根据原图（首帧）和可选尾帧图生成视频，支持多种 AI 视频模型，异步创建任务后轮询获取结果。\n\n## 核心特点\n\n- **5 种模型选择**：覆盖不同风格和时长需求。\n- **首尾帧控制**：可选尾帧图控制视频结束画面。\n- **丰富参数**：支持 Pro 模式、声音生成、运镜控制、宽高比等。\n- **异步模式**：创建任务立即返回 taskId，脚本自动轮询直到完成（超时 20 分钟）。\n\n## 模型说明\n\n| 模型（videoType） | 说明 | 支持时长       |\n|------|------|------------|\n| KLING | 可灵 | 5秒/10秒     |\n| WAN | 万相 | 5秒/10秒/15秒 |\n| SEED | Seedance/豆包 | 5秒/10秒/15秒 |\n| SEED_FAST | Seedance 2.0 Fast | 5秒/10秒/15秒 |\n| HAILUO | 海螺 | 6秒/10秒     |\n\n## 参数概览\n\n- **必填字段**：`imageUrl`、`videoType`、`videoTime`\n- **可选核心**：`lastFrameImageUrl`（尾帧图）、`prompt`（2000字以内）\n\n完整参数表、响应字段结构与错误码，见 [`references/api.md`](references/api.md)。\n\n## 调用方式\n\n- **创建任务**：`POST /aigc/videoGenAsync` → 返回 `{taskId}`\n- **轮询结果**：`POST /aigc/taskQuery` → 传入 `{taskId}` → 返回状态和结果\n- **Python 脚本**：`python scripts/aigc_videogen.py '<JSON 参数>'`（脚本内部自动完成创建+轮询）\n\n**异步流程**：\n1. 脚本调用 `/aigc/videoGenAsync` 创建任务，获得 `taskId`\n2. 等待 2 分钟后开始轮询 `/aigc/taskQuery`，每 10 秒一次，最长等待 20 分钟\n3. 成功后自动下载视频到会话 `media/` 目录\n\n**输出策略（脚本默认行为）**：\n- 脚本会自动把生成的视频**下载转存**到会话 `media/` 目录，stdout 输出一行 `Saved full response: <路径数组>`。\n- 原始 API 响应静默落盘到 `data/`，仅在无视频产物时才在 stdout 提示其路径。\n\n**读数据建议**：**禁止** Read 转存的视频文件内容。直接把 `Saved full response:` 后的本地路径提供给用户即可。\n\n## 解决认证和算力问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示算力或余额不足**：消息含\"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 使用指引\n\n1. **模型选择**：一般商品视频用 `KLING`；长时长用 `WAN`/`SEED`。\n2. **首尾帧**：传 `imageUrl`（首帧，必传）+ 可选 `lastFrameImageUrl`（尾帧），支持模型：KLING仅Pro / WAN / SEED。\n3. **时长匹配**：必须传模型支持的时长值，否则报错。\n4. **提示词**：可选，2000 字以内，描述期望的动态效果。\n\n### 示例\n\n**1. KLING — 商品展示**\n```json\n{\"imageUrl\": \"https://example.com/product.jpg\", \"videoType\": \"KLING\", \"videoTime\": 10, \"prompt\": \"商品展示视频\"}\n```\n\n\n**3. WAN 万相 — 带声音和运镜**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"WAN\", \"videoTime\": 15, \"voice\": true, \"camera\": \"single\"}\n```\n\n**4. SEED — 高分辨率**\n```json\n{\"imageUrl\": \"https://example.com/scene.jpg\", \"videoType\": \"SEED\", \"videoTime\": 10, \"resolution\": \"1080p\", \"aspectRatio\": \"16:9\"}\n```\n\n## 展示规则\n\n- **只展示转存后的本地路径**：把 `Saved full response:` 后的本地视频路径告诉用户，例如「视频已保存至：xxx/a.mp4」。\n- **禁止** Read 视频文件、**禁止**展示 base64 内容。\n- **禁止**把原始 API 返回的临时 URL 直接给用户（带签名、会过期）。\n\n## 限制\n\n- 提示词最大 2000 字符。\n- 生成时间较长，通常 100-600 秒。脚本自动轮询，超时 20 分钟。\n- KLING 尾帧图仅 Pro 模式下支持。\n- 本接口仅支持单图/首尾帧模式。多参考图请使用 `linkfox-aigc-videogen-multi`。\n- 失败时不重试（仅尝试 1 次）。\n\n## 不适用\n**不适用**：\n- 多参考图生视频 → `linkfox-aigc-videogen-multi`\n- 图片生成 → `linkfox-aigc-imagegen`\n- 文本生成 → `linkfox-aigc-textgen`\n\n## 反馈\n\n参见 `references/api.md`。"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-aigc-videogen\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1789361584768\n}"},{"path":"references/api.md","content":"# AI 生视频 API 参考（首尾帧/单图模式）\n\n本页为 `linkfox-aigc-videogen` 技能调用的底层接口规格。SKILL.md 面向\"怎么用\"的决策层，本文档面向\"接口精确格式\"。\n\n## 接口说明\n\n> 工具中文名：AI生视频（首尾帧模式）\n\n采用异步两步模式：先创建任务获得 `taskId`，再轮询查询任务状态和结果。\n\n## 通用调用规范\n\n- **基础地址**：`${LINKFOX_TOOL_GATEWAY}`，从环境变量读取，未配置时报错退出。\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）。\n\n---\n\n## 接口一：创建生视频任务\n\n- **路径**：`POST /aigc/videoGenAsync`\n- **说明**：提交生视频请求，立即返回 taskId\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| imageUrl | string | 是 | - | 原图（首帧图），支持 jpg/jpeg/png/webp |\n| videoType | string | 是 | KLING | 模型类型：KLING(可灵) / WAN(万相) / SEED(豆包) / SEED_FAST(Seedance2.0 Fast) / HAILUO(海螺) |\n| videoTime | integer | 是 | 5 | 视频时长(秒)，见下方各模型支持对照 |\n| prompt | string | 否 | - | 强化内容描述（2000字以内） |\n| promptOptimizer | boolean | 否 | false | 是否开启提示词优化 |\n| isPro | boolean | 否 | false | Pro高质量模式（KLING/SEED/HAILUO支持） |\n| voice | boolean | 否 | false | 是否生成声音（WAN/SEED支持） |\n| lastFrameImageUrl | string | 否 | - | 尾帧图片URL，控制视频结束帧（KLING仅Pro/WAN/SEED支持） |\n| aspectRatio | string | 否 | - | 视频比例 16:9 / 9:16。SEED默认16:9；KLING透传 |\n| resolution | string | 否 | 720p | 视频分辨率。SEED: 480p/720p/1080p；KLING: 720p/1080p；HAILUO: 768p/1080p |\n\n### 各模型参数支持对照\n\n| 参数 | KLING(可灵) | WAN(万相) | SEED(豆包) | SEED_FAST | HAILUO(海螺) |\n|------|:---:|:---:|:---:|:---:|:---:|\n| videoTime | 5/10秒 | 5/10/15秒 | 5/10/15秒 | 5/10/15秒 | 6/10秒 |\n| isPro | 支持 | 不支持 | 支持 | 不支持 | 支持 |\n| voice | 不支持 | 支持 | 支持 | 支持 | 不支持 |\n| lastFrameImageUrl | 仅Pro | 支持 | 支持 | 支持 | 不支持 |\n| aspectRatio | 透传16:9/9:16 | 不支持 | 16:9/9:16(默认16:9) | 16:9/9:16(默认16:9) | 不生效 |\n| resolution | 720p/1080p | 不支持 | 480p/720p/1080p | 480p/720p(不支持1080p) | 768p/1080p |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 异步任务ID，用于后续轮询 |\n\n### 响应示例\n\n```json\n{\"taskId\": \"123456789\"}\n```\n\n---\n\n## 接口二：查询任务状态\n\n- **路径**：`POST /aigc/taskQuery`\n- **说明**：根据 taskId 轮询任务状态，成功时返回结果列表\n\n### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| taskId | string | 是 | - | 创建任务时返回的任务ID |\n\n### 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `taskId` | string | 任务ID |\n| `status` | string | 任务状态：`PROCESSING`(处理中) / `SUCCESS`(成功) / `FAILED`(失败) |\n| `resultList` | array[object] | 结果列表（仅 SUCCESS 时有值） |\n| `resultList[].id` | string | 资源ID |\n| `resultList[].url` | string | 生成的视频URL（已转存至OSS） |\n| `resultList[].type` | string | 资源类型 |\n| `errorMsg` | string | 错误信息（仅 FAILED 时有值） |\n\n### 响应示例\n\n处理中：\n```json\n{\"taskId\": \"123456789\", \"status\": \"PROCESSING\", \"resultList\": null, \"errorMsg\": null}\n```\n\n成功：\n```json\n{\"taskId\": \"123456789\", \"status\": \"SUCCESS\", \"resultList\": [{\"id\": \"1001\", \"url\": \"https://oss.example.com/aigc/123456789/result_1001.mp4\", \"type\": \"video\"}], \"errorMsg\": null}\n```\n\n失败：\n```json\n{\"taskId\": \"123456789\", \"status\": \"FAILED\", \"resultList\": null, \"errorMsg\": \"生成失败\"}\n```\n\n---\n\n## 轮询策略\n\n- **初始等待**：2 分钟（120 秒）\n- **轮询间隔**：10 秒\n- **超时时间**：20 分钟（1200 秒）\n- **结束条件**：status 为 SUCCESS 或"},{"path":"references/onboarding.md","content":"# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。"},{"path":"skill-card.md","content":"## Description:\n\nGenerates short AI videos from an input image, optional ending frame, and prompt using supported LinkFox video models.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and creators use this skill to turn a source image, optional final frame, and prompt into a generated video. Agents can create an asynchronous LinkFox generation task, poll for completion, and return the saved local video path.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles reusable LinkFox API keys and phone-based onboarding credentials.\n\nMitigation: Use securely stored API keys, avoid exposing secrets in shared shell startup files or logs, and rotate credentials if they may have been disclosed.\n\nRisk: The skill can initiate billing or quota purchase flows.\n\nMitigation: Review plan, payment method, and order details before creating any order, and do not allow unattended purchases.\n\nRisk: Image URLs and prompts are sent to external LinkFox processing services.\n\nMitigation: Submit only content approved for external processing and avoid sensitive or confidential image URLs and prompts.\n\nRisk: Endpoint environment variables can redirect requests away from the expected LinkFox services.\n\nMitigation: Do not override LinkFox endpoint environment variables unless the destination is trusted and intentionally configured.\n\n## Reference(s):\n\n- [AI Video API Reference](artifact/references/api.md)\n- [Authentication and Billing Onboarding](artifact/references/onboarding.md)\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-aigc-videogen)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Files, Guidance]\n\n**Output Format:** [Markdown or plain text with local video file paths and JSON snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save generated videos under the session media directory and response JSON under data; generation can take up to 20 minutes.]\n\n## Skill Version(s):\n\n1.2.3 (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":"AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。 Skill: AIGC视频生成 Owner: linkfox-ai Summary: AI生视频工具（首尾帧/单图模式），根据原图和提示词生成视频，支持可选尾帧图控制结束画面。支持模型KLING可灵/WAN万相/SEED豆包/SEED_FAST/HAILUO海螺。用户说\"生成视频\"、\"AI视频\"、\"图生视频\"、\"做个视频\"、\"video generation\"、\"generate video\"、\"图片转视频\"、\"动态视频\"时触发。 Tags: latest:1.2.3 Version history: v1.2.3 | 2026-09-14T04:53:04.768Z | user Update from 1.2.2 to 1.2.3 v1.2.2 | 2026-08-14T14:40:45.210Z | user Update from 1.2.1 to 1.2.2 v1.2.1 | 2026-08-07T10:36:29.9","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1162,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T22:03:35.612Z","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-11T22:03:35.612Z","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-12T15:05:20.294Z","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"}]}}}