{"id":"94c862e7-7df9-4912-ac67-f98634ecea0a","entityType":"agent","slug":"clawhub-flyelepai-flyelep-scene-replace","name":"scene-replace","canonicalUrl":"https://www.xpersona.co/agent/clawhub-flyelepai-flyelep-scene-replace","canonicalPath":"/agent/clawhub-flyelepai-flyelep-scene-replace","generatedAt":"2026-10-11T03:54:24.120Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T01:41:08.302Z","emptyReason":null},"description":"通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Skill: scene-replace Owner: flyelepai Summary: 通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Tags: latest:1.0.4 Version history: v1.0.4 | 2026-08-28T03:14:56.862Z | user - Updated required parameter modelType default value from 0 to 9 (Flyelep Image 2 is now required). - Clarified that only one image is allowed for replaceImageUrl; passing multiple images is now an error.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s175rfkzzv81fcfhp65sjggxa984fmry:flyelep-scene-replace","sourceUrl":"https://clawhub.ai/flyelepai/flyelep-scene-replace","homepage":"https://clawhub.ai/flyelepai/skills/flyelep-scene-replace","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/flyelepai/flyelep-scene-replace","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/flyelepai/skills/flyelep-scene-replace","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Skill: scene-replace Owner: flyelepai Summary: 通过 Flyelep AI 工具接口将图片中"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:41:08.302Z","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-11T01:41:08.302Z","emptyReason":null},"stars":null,"forks":null,"downloads":1202,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:41:08.290Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T01:41:08.302Z","lastCrawledAt":"2026-10-11T01:41:08.290Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T01:41:08.290Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-08-28T03:14:56.862Z","changelog":"- Updated required parameter `modelType` default value from `0` to `9` (Flyelep Image 2 is now required). - Clarified that only one image is allowed for `replaceImageUrl`; passing multiple images is now an error. - Added instructions and samples for uploading local files to obtain public links before calling the main API. - Improved error case documentation, especially regarding model type and multi-image issues. - Removed deprecated information and streamlined parameter/usage tables for clarity. - Removed the `skill-card.md` file.","fileCount":3,"zipByteSize":5967},{"version":"1.0.3","createdAt":"2026-08-07T06:16:45.997Z","changelog":"- Removed the file skill-card.md. - Updated SKILL.md with more detailed instructions for both Windows/PowerShell and macOS/Linux environments, including handling of JSON encoding and file operations for API calls. - Clarified that all required parameters must be collected from the user and the agent must not autofill these values. - Set modelType to always default to 0, regardless of user input. - Made explicit that only a single replaceImageUrl is supported. - Expanded step-by-step platform-specific usage examples and cleanup requirements for temporary files.","fileCount":3,"zipByteSize":4872},{"version":"1.0.2","createdAt":"2026-04-27T03:59:06.234Z","changelog":"No user-facing changes in this version. No file changes detected.","fileCount":3,"zipByteSize":3809},{"version":"1.0.1","createdAt":"2026-04-27T01:17:32.337Z","changelog":"- 授权指引更新：新增获取 API 密钥的官网链接，便于用户申请 secretKey。 - 其余内容无变动。","fileCount":2,"zipByteSize":2673},{"version":"1.0.0","createdAt":"2026-04-20T10:00:12.591Z","changelog":"Flye 场景替换技能首次发布： - 支持通过 Flyelep AI Tool API 替换图片的背景场景 - 可结合参考图（replaceImageUrl）和文本提示（textPrompt）精确指定目标环境 - 必须使用 HTTP POST，API 认证需 secretKey 请求头 - 返回替换后图片 URL，操作成功返回 code=200 - 支持 gemini-2.5 和 gemini-3-pro 两种模型类型选择 - 详细说明参数设置、错误处理和提示词撰写建议","fileCount":2,"zipByteSize":2658}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s175rfkzzv81fcfhp65sjggxa984fmry:flyelep-scene-replace","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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-flyelepai-flyelep-scene-replace/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/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-11T03:54:24.119Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-flyelepai-flyelep-scene-replace/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-11T01:41:08.302Z","emptyReason":null},"readme":"Skill: scene-replace\n\nOwner: flyelepai\n\nSummary: 通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n\nTags: latest:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-08-28T03:14:56.862Z | user\n\n- Updated required parameter `modelType` default value from `0` to `9` (Flyelep Image 2 is now required).\n- Clarified that only one image is allowed for `replaceImageUrl`; passing multiple images is now an error.\n- Added instructions and samples for uploading local files to obtain public links before calling the main API.\n- Improved error case documentation, especially regarding model type and multi-image issues.\n- Removed deprecated information and streamlined parameter/usage tables for clarity.\n- Removed the `skill-card.md` file.\n\nv1.0.3 | 2026-08-07T06:16:45.997Z | user\n\n- Removed the file skill-card.md.\n- Updated SKILL.md with more detailed instructions for both Windows/PowerShell and macOS/Linux environments, including handling of JSON encoding and file operations for API calls.\n- Clarified that all required parameters must be collected from the user and the agent must not autofill these values.\n- Set modelType to always default to 0, regardless of user input.\n- Made explicit that only a single replaceImageUrl is supported.\n- Expanded step-by-step platform-specific usage examples and cleanup requirements for temporary files.\n\nv1.0.2 | 2026-04-27T03:59:06.234Z | user\n\nNo user-facing changes in this version.  \nNo file changes detected.\n\nv1.0.1 | 2026-04-27T01:17:32.337Z | user\n\n- 授权指引更新：新增获取 API 密钥的官网链接，便于用户申请 secretKey。\n- 其余内容无变动。\n\nv1.0.0 | 2026-04-20T10:00:12.591Z | user\n\nFlye 场景替换技能首次发布：\n\n- 支持通过 Flyelep AI Tool API 替换图片的背景场景\n- 可结合参考图（replaceImageUrl）和文本提示（textPrompt）精确指定目标环境\n- 必须使用 HTTP POST，API 认证需 secretKey 请求头\n- 返回替换后图片 URL，操作成功返回 code=200\n- 支持 gemini-2.5 和 gemini-3-pro 两种模型类型选择\n- 详细说明参数设置、错误处理和提示词撰写建议\n\nArchive index:\n\nArchive v1.0.4: 3 files, 5967 bytes\n\nFiles: skill-card.md (2267b), SKILL.md (10386b), _meta.json (140b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: scene-replace\ndescription: >-\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n---\n# Flyelep 场景替换\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\n\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\n\n## API 接口信息\n\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\n- **Content-Type**: `application/json`\n- **认证方式**: 在请求头中传入 `secretKey`（密钥需由用户在 Flyelep 开放平台申请：https://www.flyelep.cn/controlboard）\n- **超时时间**: 建议 120-300 秒\n\n请求头示例：\n\n```http\nContent-Type: application/json\nsecretKey: 用户提供的API密钥\n```\n\n> **安全说明**：不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\n\n## 请求 Body\n\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"modelType\": 9,\n  \"textPrompt\": \"将场景替换成我上传的图片\"\n}\n```\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}\n```\n\n- `code=200` 表示调用成功\n- `msg` 为接口返回说明\n- `data` 为场景替换后的图片 URL\n\n返回结果应直接展示给用户，不要回读图片内容。\n\n## 参数说明\n\n### 必传参数\n\n> **重要**：以下必传参数必须通过询问用户获取，agent 不可自行填写。调用本技能时，应先向用户列出必传参数与可选参数表格，由用户确认或提供后再执行。\n\n| 字段 | 类型 | 是否必需 | 默认值 | 说明 |\n|------|------|----------|--------|------|\n| sourceUrl | String | 是 | - | 原图链接 |\n| modelType | Integer | 是 | 9 | 当前仅支持传 `9`：Flyelep Image 2 |\n| textPrompt | String | 是 | - | 用户提示词，描述目标场景 |\n| replaceImageUrl | String | 否 | - | 场景参考图链接，暂时只支持单图 |\n\n### 参数映射规则\n\n**sourceUrl**：\n- 传入待替换场景的原图公网 URL\n- 必须是图片直链，不要传网页地址\n- 如果用户提供本地文件路径，先按「本地文件上传」章节换取公网直链，再填入此参数\n\n**modelType**：\n- 当前接口仅支持 `9`（Flyelep Image 2），必传\n- 传其他值会报「无效的模型类型」\n\n**textPrompt**：\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\n- 有参考图时用于补充约束（如「将场景替换成我上传的图片」），无参考图时由文字单独控制目标场景\n- 不传时接口会退化为默认提示词「替换场景」，效果不可控，因此实际调用应始终传入\n\n**replaceImageUrl**：\n- 可选参数，用于提供目标场景参考图\n- 暂时只支持单图，传入多张（逗号分隔）会被接口拒绝，报「该操作类型最多只能上传1张图片」\n- 不传时仅靠 `textPrompt` 生成目标场景\n- 如果用户提供本地文件路径，先按「本地文件上传」章节换取公网直链，再填入此参数\n\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\n\n## 本地文件上传\n\n用户提供的是本地文件路径而不是公网直链时，先把文件上传换取直链，再调用本接口。已安装 `file-upload` 技能时以该技能为准；未安装时按下面的说明直接调用上传接口。\n\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload`\n- **请求方式**: `multipart/form-data`，文件字段名固定为 `file`，单次只能上传一个文件，多个文件并发调用多次\n- **认证方式**: 请求头传 `secretKey`，与本技能使用同一个密钥\n- **超时时间**: 图片建议 60-120 秒\n- **不要手动设置 `Content-Type` 请求头**，让 HTTP 客户端自动生成带 boundary 的值，手写会导致服务端解析失败\n- 图片仅支持 `bmp`、`gif`、`jpg`、`jpeg`、`png`，`webp` 需先转成 `png` 或 `jpg`；文件名必须带正确后缀，服务端靠它判断格式\n- 原文件名不会出现在 URL 里，中文名、空格、特殊字符都能直接上传，不需要提前改名\n- 上传不消耗算力，但服务端不做去重：同一个文件在一次任务里只上传一次，记下 `fullPath` 复用\n\n成功响应取 `data.fullPath` 作为公网直链，永久有效、不带签名：\n\n```json\n{\n  \"code\": 200,\n  \"msg\": null,\n  \"data\": {\n    \"relativePath\": \"cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"fullPath\": \"https://agent-1404002717.cos.ap-guangzhou.myqcloud.com/cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"serviceProvider\": null\n  }\n}\n```\n\n判断成功只看 `code`，业务失败时 HTTP 状态码仍是 200，`code` 为 500 或 9999，原因在 `msg` 里。\n\n```bash\n# Windows/PowerShell（用 curl.exe，PowerShell 里的 curl 是 Invoke-WebRequest 的别名）\ncurl.exe -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload\" -H \"secretKey: 你的密钥\" --max-time 120 -F \"file=@C:/path/to/product.png\"\n\n# macOS/Linux\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload\" -H \"secretKey: 你的密钥\" --max-time 120 -F \"file=@./product.png\"\n```\n\n图片入桶前会先过内容审核，审核不通过整个请求失败，需换图重试。拿到 `code=9999`、`msg` 为 `服务繁忙，请稍后再试` 时，先自查三项：是否漏了 `secretKey` 请求头、表单字段名是否为 `file`、文件是否超出服务端体积上限。密钥、格式、审核、体积类错误重试无效，只有网络超时、5xx 和存储类异常值得重试。\n\n## 调用示例\n\n> **跨平台调用说明**：\n> - 请求头必须包含 `Content-Type: application/json; charset=utf-8` 和 `secretKey`\n> - **Windows/PowerShell**：因 GBK 编码问题，必须先将 JSON 写入临时文件 `payload_temp.json`（UTF-8 无 BOM），再用 `curl.exe --% --data-binary @payload_temp.json` 发送请求。使用 Write 工具创建文件，或用 .NET API `[System.IO.File]::WriteAllText(\"payload_temp.json\", $json, [System.Text.UTF8Encoding]::new($false))`。调用后用 `rm payload_temp.json` 清理。\n> - **macOS/Linux**：bash/zsh 默认 UTF-8，可直接内联 JSON：`curl -X POST URL -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --data-binary 'JSON单行内容'`\n\n### 示例：结合参考图与文本描述替换场景\n\n**前置步骤**：向用户索取原图和场景参考图的路径或 URL。如用户提供本地文件，先按「本地文件上传」章节换取公网直链。\n\n**Windows/PowerShell**：\n\n步骤 1：创建 `payload_temp.json`（两种方式任选其一）：\n\n方式 A（使用 Write 工具）：\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene1.jpg\",\n  \"modelType\": 9,\n  \"textPrompt\": \"室内现代风格展厅，暖色灯光，突出高级陈列感\"\n}\n```\n\n方式 B（无 Write 工具，PowerShell 执行）：\n```powershell\n[System.IO.File]::WriteAllText(\"payload_temp.json\", '{\"sourceUrl\":\"https://example.com/product.jpg\",\"replaceImageUrl\":\"https://example.com/scene1.jpg\",\"modelType\":9,\"textPrompt\":\"室内现代风格展厅，暖色灯光，突出高级陈列感\"}', [System.Text.UTF8Encoding]::new($false))\n```\n\n步骤 2：执行请求：\n```bash\ncurl.exe --% -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --max-time 300 --data-binary @payload_temp.json\n```\n\n步骤 3：清理临时文件：\n```bash\nrm payload_temp.json\n```\n\n**macOS/Linux**：\n```bash\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --max-time 300 --data-binary '{\"sourceUrl\":\"https://example.com/product.jpg\",\"replaceImageUrl\":\"https://example.com/scene1.jpg\",\"modelType\":9,\"textPrompt\":\"室内现代风格展厅，暖色灯光，突出高级陈列感\"}'\n```\n\n## 常见错误及解决方案\n\n| 错误 | 原因与解决 |\n|------|-----------|\n| HTTP 401 / `code` 非 200 | `secretKey` 无效、缺失或已过期，确认请求头是否正确传入 |\n| HTTP 405 Not Allowed | 请求方法错误，必须使用 `POST` |\n| `sourceUrl` 无法访问 | 原图 URL 不是公网直链、已过期，或源站限制访问 |\n| `无效的模型类型` | `modelType` 不在支持范围，当前仅支持 `9` |\n| `该操作类型最多只能上传1张图片` | `replaceImageUrl` 传了多张，场景替换只接受 1 张 |\n| `textPrompt` 未传 | 提示词为必传参数，需要描述目标场景 |\n| 场景效果不理想 | 文字描述过于模糊，可补充风格、光线、空间类型、氛围等信息 |\n| 请求超时 | 原图较大、参考图较多或生成复杂时，可适当增大超时时间 |\n\n## 执行流程\n\n1. **向用户询问 `secretKey`**（API 密钥必须由用户提供，agent 不可自行填写）\n2. 收集原图 URL，以及可选的场景参考图 URL（如用户提供本地文件，先按「本地文件上传」章节换取公网直链）\n3. 与用户确认目标场景需求，构造 `textPrompt`，`modelType` 固定填 `9`\n4. 在请求头中传入 `secretKey`，调用接口\n5. 将返回的场景替换结果图片 URL 直接展示给用户\n\n该接口支持通过 `textPrompt` 控制目标场景，因此提示词质量很重要。执行时应遵循：\n\n1. 明确保留项：主体商品、角度、构图、光影关系\n2. 明确替换项：背景环境、风格、空间、色温、陈列方式\n3. `textPrompt` 为必需；`replaceImageUrl` 可选，提供后与提示词共同控制生成效果\n\n当用户要求\"换背景场景但保留产品不变\"时，提示词应明确写出\"保留主体不变\"；如果用户真正想改的是商品本身而不是背景，应改用商品替换类 skill。\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787886896862\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nUses the Flyelep AI Tool API to replace the background scene in an image with a specified scene, optionally guided by a reference image and text prompt.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[flyelepai](https://clawhub.ai/user/flyelepai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to replace product or subject backgrounds while preserving the main subject. It is suited for product display scenes, background replacement workflows, and guided scene changes using public image URLs or uploaded local images.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Local images may be uploaded to a permanent public URL.\n\nMitigation: Use only images approved for external upload, avoid private or regulated content, and confirm the user understands that uploaded image URLs may remain accessible.\n\nRisk: Flyelep API keys may be exposed through shell command examples, logs, or command history.\n\nMitigation: Use revocable keys, provide credentials only at runtime, avoid hard-coding keys in files, and rotate any key that may have been logged.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/flyelepai/skills/flyelep-scene-replace)\n- [Flyelep control board](https://www.flyelep.cn/controlboard)\n- [Flyelep scene replacement API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace)\n- [Flyelep file upload API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with HTTP request examples and returned image URLs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill returns or presents a URL for the generated scene-replaced image and may include upload or API-call instructions.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 4872 bytes\n\nFiles: skill-card.md (2226b), SKILL.md (7652b), _meta.json (140b)\n\nFile v1.0.3:SKILL.md\n\n---\r\nname: scene-replace\r\ndescription: >-\r\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\r\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\r\n---\r\n# Flyelep 场景替换\r\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\r\n\r\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\r\n\r\n## API 接口信息\r\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\r\n- **Content-Type**: `application/json`\r\n- **认证方式**: 在请求头中传入 `secretKey`\r\n- **超时时间**: 建议 120-300 秒\r\n\r\n## 认证方式\r\n所有 AI 工具接口均需在请求头中传入 `secretKey`。该密钥需由用户在 Flyelep 开放平台申请获得：https://www.flyelep.cn/controlboard 。\r\n\r\n请求头示例：\r\n\r\n```http\r\nContent-Type: application/json\r\nsecretKey: 用户提供的API密钥\r\n```\r\n\r\n> **安全说明**：`secretKey` 必须放在请求头中，这是 AI 工具接口的统一鉴权要求。不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\r\n\r\n## 请求 Body\r\n```json\r\n{\r\n  \"sourceUrl\": \"https://example.com/product.jpg\",\r\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\r\n  \"textPrompt\": \"室内现代风格展厅\",\r\n  \"modelType\": 0\r\n}\r\n```\r\n\r\n## 响应格式\r\n统一响应结构：\r\n\r\n```json\r\n{\r\n  \"code\": 200,\r\n  \"msg\": \"操作成功\",\r\n  \"data\": \"https://example.com/scene_replaced.jpg\"\r\n}\r\n```\r\n\r\n- `code=200` 表示调用成功\r\n- `msg` 为接口返回说明\r\n- `data` 为场景替换后的图片 URL\r\n\r\n返回结果应直接展示给用户，不要回读图片内容。\r\n\r\n## 参数说明\r\n### 必传参数\r\n\r\n> **重要**：以下必传参数必须通过询问用户获取，agent 不可自行填写。调用本技能时，应先向用户列出必传参数与可选参数表格，由用户确认或提供后再执行。\r\n\r\n| 字段 | 默认值 | 说明 |\r\n|------|--------|------|\r\n| sourceUrl | - | 原图链接 |\r\n| replaceImageUrl | - | 场景参考图链接，暂时只支持单图 |\r\n| textPrompt | - | 用户提示词，描述目标场景 |\r\n| modelType | 0 | 模型类型：无论任何情况，都默认填 `0` |\r\n\r\n## 参数映射规则\r\n### sourceUrl\r\n- 传入待替换场景的原图公网 URL\r\n- 必须是图片直链，不要传网页地址\r\n\r\n### replaceImageUrl\r\n- 用于提供目标场景参考图\r\n- 暂时只支持单图\r\n\r\n### textPrompt\r\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\r\n- 参考图负责场景基准，文字负责补充约束\r\n\r\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\r\n\r\n## 调用示例\r\n- **重要**：调用 API 时，必须设置 `Content-Type: application/json; charset=utf-8` 请求头。以下分平台说明：\r\n- **Windows/PowerShell 环境**：\r\n  - 必须采用以下流程：**先将请求体 JSON 写入当前工作目录下的临时文件 `payload_temp.json`，再通过 Shell 工具调用 `curl.exe --data-binary @payload_temp.json` 发送请求**。这是因为 PowerShell 使用 GBK 编码，而服务端使用 UTF-8 解析，直接在命令行中嵌入中文 JSON 会导致乱码。\r\n  - 使用 `curl.exe`（而非 `curl`，后者在 PowerShell 中是 `Invoke-WebRequest` 的别名）。必须在 `curl.exe` 后加 `--%` 停止 PowerShell 解析，否则 `@` 会被误判为 splatting 操作符导致报错。\r\n  - **文件创建方式**：根据可用工具选择其一（均需确保 UTF-8 **无 BOM** 编码，否则服务端 JSON 解析会在 position 0 报错）：\r\n    - **方式 A（有 Write 工具）**：使用 Write 工具创建 `payload_temp.json`\r\n    - **方式 B（无 Write 工具）**：使用 Shell 的 .NET API 创建文件（`Set-Content -Encoding UTF8` 会带 BOM，不可用）\r\n- **macOS/Linux 环境**：\r\n  - bash/zsh 默认使用 UTF-8 编码，可直接内联中文 JSON，无需临时文件。命令中使用 `curl`（无需 `.exe`，无需 `--%`）。\r\n  - 推荐内联写法：`curl -X POST URL -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --data-binary 'JSON单行内容'`，一步完成\r\n  - 也可使用临时文件方式：`curl --data-binary @payload_temp.json`\r\n- **清理**：API 返回结果后，务必删除 `payload_temp.json` 临时文件（如使用了临时文件）。\r\n\r\n**示例：结合参考图与文本描述替换场景**\r\n\r\n步骤 1：创建 `payload_temp.json`，内容如下：\r\n```json\r\n{\r\n  \"sourceUrl\": \"https://example.com/product.jpg\",\r\n  \"replaceImageUrl\": \"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\r\n  \"textPrompt\": \"室内现代风格展厅，暖色灯光，突出高级陈列感\",\r\n  \"modelType\": 0\r\n}\r\n```\r\n> 方式 B（无 Write 工具）：\r\n> ```powershell\r\n> $json = '{\"sourceUrl\":\"https://example.com/product.jpg\",\"replaceImageUrl\":\"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\"textPrompt\":\"室内现代风格展厅，暖色灯光，突出高级陈列感\",\"modelType\":0}'\r\n> [System.IO.File]::WriteAllText(\"payload_temp.json\", $json, [System.Text.UTF8Encoding]::new($false))\r\n> ```\r\n\r\n步骤 2：使用 Shell 工具执行：\r\n```bash\r\ncurl.exe --% -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --max-time 300 --data-binary @payload_temp.json\r\n```\r\n\r\n> **macOS/Linux 内联写法**（无需临时文件）：\r\n> ```bash\r\n> curl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" -H \"Content-Type: application/json; charset=utf-8\" -H \"secretKey: 你的密钥\" --max-time 300 --data-binary '{\"sourceUrl\":\"https://example.com/product.jpg\",\"replaceImageUrl\":\"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\"textPrompt\":\"室内现代风格展厅，暖色灯光，突出高级陈列感\",\"modelType\":0}'\r\n> ```\r\n\r\n步骤 3：清理临时文件：\r\n```bash\r\nrm payload_temp.json\r\n```\r\n\r\n## 常见错误及解决方案\r\n| 错误 | 原因与解决 |\r\n|------|-----------|\r\n| HTTP 401 / `code` 非 200 | `secretKey` 无效、缺失或已过期，确认请求头是否正确传入 |\r\n| HTTP 405 Not Allowed | 请求方法错误，必须使用 `POST` |\r\n| `sourceUrl` 无法访问 | 原图 URL 不是公网直链、已过期，或源站限制访问 |\r\n| `modelType` 非 0 | 模型类型只支持 `0` |\r\n| `replaceImageUrl` 与 `textPrompt` 都没传或少传 | 两者都需要提供 |\r\n| 场景效果不理想 | 文字描述过于模糊，可补充风格、光线、空间类型、氛围等信息 |\r\n| 请求超时 | 原图较大、参考图较多或生成复杂时，可适当增大超时时间 |\r\n\r\n## 提示词处理\r\n该接口支持通过 `textPrompt` 控制目标场景，因此提示词质量很重要。\r\n\r\n执行时应遵循：\r\n\r\n1. 明确保留项：主体商品、角度、构图、光影关系\r\n2. 明确替换项：背景环境、风格、空间、色温、陈列方式\r\n3. `replaceImageUrl`和`textPrompt`皆为必需，两者共同控制生成效果\r\n\r\n当用户要求“换背景场景但保留产品不变”时，提示词应明确写出“保留主体不变”；如果用户真正想改的是商品本身而不是背景，应改用商品替换类 skill。\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1786083405997\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nCalls the Flyelep AI scene replacement API to replace an image background with a target scene guided by a reference image and text prompt.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[flyelepai](https://clawhub.ai/user/flyelepai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to collect required public image URLs, prompt text, and a Flyelep API key, then call Flyelep to generate a scene-replaced image URL while preserving the subject.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Image URLs, prompt text, and the Flyelep secretKey are shared with Flyelep during API calls.\n\nMitigation: Use the skill only when that sharing is approved, and avoid sensitive or private image links.\n\nRisk: Temporary payload files may contain request data when the Windows/PowerShell workflow is used.\n\nMitigation: Delete the temporary payload file after the API call completes.\n\nRisk: Non-public, expired, or non-direct image URLs can cause API failures or unintended access exposure.\n\nMitigation: Provide only approved, publicly reachable direct image URLs.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/flyelepai/skills/flyelep-scene-replace)\n- [Flyelep scene replacement API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace)\n- [Flyelep open platform](https://www.flyelep.cn/controlboard)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with JSON payload examples and curl commands; API response data is a generated image URL.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires user-provided public image URLs, a text prompt, and a Flyelep secretKey; temporary payload files should be removed after use.]\n\n## Skill Version(s):\n\n1.0.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.0.2: 3 files, 3809 bytes\n\nFiles: skill-card.md (2121b), SKILL.md (4732b), _meta.json (140b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: scene-replace\ndescription: >-\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n---\n# Flyelep 场景替换\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\n\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\n\n## API 接口信息\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\n- **Content-Type**: `application/json`\n- **认证方式**: 在请求头中传入 `secretKey`\n- **超时时间**: 建议 120-300 秒\n\n## 认证方式\n所有 AI 工具接口均需在请求头中传入 `secretKey`。该密钥需由用户在 Flyelep 开放平台申请获得：https://www.flyelep.cn/controlboard 。\n\n请求头示例：\n\n```http\nContent-Type: application/json\nsecretKey: 用户提供的API密钥\n```\n\n> **安全说明**：`secretKey` 必须放在请求头中，这是 AI 工具接口的统一鉴权要求。不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\n\n## 请求 Body\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"textPrompt\": \"室内现代风格展厅\",\n  \"modelType\": 0\n}\n```\n\n## 响应格式\n统一响应结构：\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}\n```\n\n- `code=200` 表示调用成功\n- `msg` 为接口返回说明\n- `data` 为场景替换后的图片 URL\n\n返回结果应直接展示给用户，不要回读图片内容。\n\n## 参数说明\n### 必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| sourceUrl | - | 原图链接 |\n| modelType | - | 模型类型：`0=gemini-2.5`，`1=gemini-3-pro` |\n\n### 条件必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| replaceImageUrl | - | 场景参考图链接，多张时用英文逗号分隔|\n| textPrompt | - | 用户提示词，描述目标场景|\n\n## 参数映射规则\n### sourceUrl\n- 传入待替换场景的原图公网 URL\n- 必须是图片直链，不要传网页地址\n\n### modelType\n- `0`：`gemini-2.5`\n- `1`：`gemini-3-pro`\n\n推荐默认规则：\n\n- 用户未指定模型时，默认传 `0`\n\n### replaceImageUrl\n- 用于提供目标场景参考图\n- 暂时只支持单图\n\n### textPrompt\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\n- 参考图负责场景基准，文字负责补充约束\n\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\n\n## 调用示例\n**结合参考图与文本描述替换场景：**\n\n```bash\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"secretKey: 你的密钥\" \\\n  --max-time 300 \\\n  -d '{\n    \"sourceUrl\": \"https://example.com/product.jpg\",\n    \"replaceImageUrl\": \"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\n    \"textPrompt\": \"室内现代风格展厅，暖色灯光，突出高级陈列感\",\n    \"modelType\": 1\n  }'\n```\n\n## 常见错误及解决方案\n| 错误 | 原因与解决 |\n|------|-----------|\n| HTTP 401 / `code` 非 200 | `secretKey` 无效、缺失或已过期，确认请求头是否正确传入 |\n| HTTP 405 Not Allowed | 请求方法错误，必须使用 `POST` |\n| `sourceUrl` 无法访问 | 原图 URL 不是公网直链、已过期，或源站限制访问 |\n| `modelType` 非 0/1 | 模型类型只支持 `0` 或 `1` |\n| `replaceImageUrl` 与 `textPrompt` 都没传或少传 | 两者都需要提供 |\n| 场景效果不理想 | 文字描述过于模糊，可补充风格、光线、空间类型、氛围等信息 |\n| 请求超时 | 原图较大、参考图较多或生成复杂时，可适当增大超时时间 |\n\n## 提示词处理\n该接口支持通过 `textPrompt` 控制目标场景，因此提示词质量很重要。\n\n执行时应遵循：\n\n1. 明确保留项：主体商品、角度、构图、光影关系\n2. 明确替换项：背景环境、风格、空间、色温、陈列方式\n3. `replaceImageUrl`和`textPrompt`皆为必需，两者共同控制生成效果\n\n当用户要求“换背景场景但保留产品不变”时，提示词应明确写出“保留主体不变”；如果用户真正想改的是商品本身而不是背景，应改用商品替换类 skill。\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1777262346234\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nScene Replace guides an agent to call the Flyelep AI Tool API to replace an image background using a public source image URL, scene reference image URL, and prompt text. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[flyelepai](https://clawhub.ai/user/flyelepai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill when they need an agent to replace the background scene of an image, such as changing a product display environment while preserving the subject. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends selected image URLs, reference image URLs, prompt text, and a Flyelep API key to Flyelep. <br>\nMitigation: Use it only with images and prompts suitable for that provider, and keep the secretKey private. <br>\nRisk: The API requires publicly reachable image URLs, so private or expiring links may fail or expose content to a third-party service. <br>\nMitigation: Provide only intended public image links and avoid sensitive images unless the provider's handling is acceptable. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/flyelepai/flyelep-scene-replace) <br>\n- [Flyelep scene replacement API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace) <br>\n- [Flyelep controlboard](https://www.flyelep.cn/controlboard) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [API Calls, Shell commands, Guidance] <br>\n**Output Format:** [Markdown with JSON and bash examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Returns the generated image URL from the Flyelep API response.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (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>\n\nArchive v1.0.1: 2 files, 2673 bytes\n\nFiles: SKILL.md (4731b), _meta.json (140b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: scene-replace\ndescription: >-\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n---\n# Flyelep 场景替换\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\n\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\n\n## API 接口信息\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\n- **Content-Type**: `application/json`\n- **认证方式**: 在请求头中传入 `secretKey`\n- **超时时间**: 建议 120-300 秒\n\n## 认证方式\n所有 AI 工具接口均需在请求头中传入 `secretKey`。该密钥需由用户在 Flyelep 开放平台申请获得：https://www.flyelep.cn/controlboard。\n\n请求头示例：\n\n```http\nContent-Type: application/json\nsecretKey: 用户提供的API密钥\n```\n\n> **安全说明**：`secretKey` 必须放在请求头中，这是 AI 工具接口的统一鉴权要求。不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\n\n## 请求 Body\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"textPrompt\": \"室内现代风格展厅\",\n  \"modelType\": 0\n}\n```\n\n## 响应格式\n统一响应结构：\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}\n```\n\n- `code=200` 表示调用成功\n- `msg` 为接口返回说明\n- `data` 为场景替换后的图片 URL\n\n返回结果应直接展示给用户，不要回读图片内容。\n\n## 参数说明\n### 必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| sourceUrl | - | 原图链接 |\n| modelType | - | 模型类型：`0=gemini-2.5`，`1=gemini-3-pro` |\n\n### 条件必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| replaceImageUrl | - | 场景参考图链接，多张时用英文逗号分隔|\n| textPrompt | - | 用户提示词，描述目标场景|\n\n## 参数映射规则\n### sourceUrl\n- 传入待替换场景的原图公网 URL\n- 必须是图片直链，不要传网页地址\n\n### modelType\n- `0`：`gemini-2.5`\n- `1`：`gemini-3-pro`\n\n推荐默认规则：\n\n- 用户未指定模型时，默认传 `0`\n\n### replaceImageUrl\n- 用于提供目标场景参考图\n- 暂时只支持单图\n\n### textPrompt\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\n- 参考图负责场景基准，文字负责补充约束\n\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\n\n## 调用示例\n**结合参考图与文本描述替换场景：**\n\n```bash\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"secretKey: 你的密钥\" \\\n  --max-time 300 \\\n  -d '{\n    \"sourceUrl\": \"https://example.com/product.jpg\",\n    \"replaceImageUrl\": \"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\n    \"textPrompt\": \"室内现代风格展厅，暖色灯光，突出高级陈列感\",\n    \"modelType\": 1\n  }'\n```\n\n## 常见错误及解决方案\n| 错误 | 原因与解决 |\n|------|-----------|\n| HTTP 401 / `code` 非 200 | `secretKey` 无效、缺失或已过期，确认请求头是否正确传入 |\n| HTTP 405 Not Allowed | 请求方法错误，必须使用 `POST` |\n| `sourceUrl` 无法访问 | 原图 URL 不是公网直链、已过期，或源站限制访问 |\n| `modelType` 非 0/1 | 模型类型只支持 `0` 或 `1` |\n| `replaceImageUrl` 与 `textPrompt` 都没传或少传 | 两者都需要提供 |\n| 场景效果不理想 | 文字描述过于模糊，可补充风格、光线、空间类型、氛围等信息 |\n| 请求超时 | 原图较大、参考图较多或生成复杂时，可适当增大超时时间 |\n\n## 提示词处理\n该接口支持通过 `textPrompt` 控制目标场景，因此提示词质量很重要。\n\n执行时应遵循：\n\n1. 明确保留项：主体商品、角度、构图、光影关系\n2. 明确替换项：背景环境、风格、空间、色温、陈列方式\n3. `replaceImageUrl`和`textPrompt`皆为必需，两者共同控制生成效果\n\n当用户要求“换背景场景但保留产品不变”时，提示词应明确写出“保留主体不变”；如果用户真正想改的是商品本身而不是背景，应改用商品替换类 skill。\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1777252652337\n}\n\nArchive v1.0.0: 2 files, 2658 bytes\n\nFiles: SKILL.md (4693b), _meta.json (140b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: scene-replace\ndescription: >-\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n---\n# Flyelep 场景替换\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\n\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\n\n## API 接口信息\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\n- **Content-Type**: `application/json`\n- **认证方式**: 在请求头中传入 `secretKey`\n- **超时时间**: 建议 120-300 秒\n\n## 认证方式\n所有 AI 工具接口均需在请求头中传入 `secretKey`。该密钥需由用户在 Flyelep 开放平台申请获得。\n\n请求头示例：\n\n```http\nContent-Type: application/json\nsecretKey: 用户提供的API密钥\n```\n\n> **安全说明**：`secretKey` 必须放在请求头中，这是 AI 工具接口的统一鉴权要求。不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\n\n## 请求 Body\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"textPrompt\": \"室内现代风格展厅\",\n  \"modelType\": 0\n}\n```\n\n## 响应格式\n统一响应结构：\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}\n```\n\n- `code=200` 表示调用成功\n- `msg` 为接口返回说明\n- `data` 为场景替换后的图片 URL\n\n返回结果应直接展示给用户，不要回读图片内容。\n\n## 参数说明\n### 必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| sourceUrl | - | 原图链接 |\n| modelType | - | 模型类型：`0=gemini-2.5`，`1=gemini-3-pro` |\n\n### 条件必传参数\n| 字段 | 默认值 | 说明 |\n|------|--------|------|\n| replaceImageUrl | - | 场景参考图链接，多张时用英文逗号分隔|\n| textPrompt | - | 用户提示词，描述目标场景|\n\n## 参数映射规则\n### sourceUrl\n- 传入待替换场景的原图公网 URL\n- 必须是图片直链，不要传网页地址\n\n### modelType\n- `0`：`gemini-2.5`\n- `1`：`gemini-3-pro`\n\n推荐默认规则：\n\n- 用户未指定模型时，默认传 `0`\n\n### replaceImageUrl\n- 用于提供目标场景参考图\n- 暂时只支持单图\n\n### textPrompt\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\n- 参考图负责场景基准，文字负责补充约束\n\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\n\n## 调用示例\n**结合参考图与文本描述替换场景：**\n\n```bash\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"secretKey: 你的密钥\" \\\n  --max-time 300 \\\n  -d '{\n    \"sourceUrl\": \"https://example.com/product.jpg\",\n    \"replaceImageUrl\": \"https://example.com/scene1.jpg,https://example.com/scene2.jpg\",\n    \"textPrompt\": \"室内现代风格展厅，暖色灯光，突出高级陈列感\",\n    \"modelType\": 1\n  }'\n```\n\n## 常见错误及解决方案\n| 错误 | 原因与解决 |\n|------|-----------|\n| HTTP 401 / `code` 非 200 | `secretKey` 无效、缺失或已过期，确认请求头是否正确传入 |\n| HTTP 405 Not Allowed | 请求方法错误，必须使用 `POST` |\n| `sourceUrl` 无法访问 | 原图 URL 不是公网直链、已过期，或源站限制访问 |\n| `modelType` 非 0/1 | 模型类型只支持 `0` 或 `1` |\n| `replaceImageUrl` 与 `textPrompt` 都没传或少传 | 两者都需要提供 |\n| 场景效果不理想 | 文字描述过于模糊，可补充风格、光线、空间类型、氛围等信息 |\n| 请求超时 | 原图较大、参考图较多或生成复杂时，可适当增大超时时间 |\n\n## 提示词处理\n该接口支持通过 `textPrompt` 控制目标场景，因此提示词质量很重要。\n\n执行时应遵循：\n\n1. 明确保留项：主体商品、角度、构图、光影关系\n2. 明确替换项：背景环境、风格、空间、色温、陈列方式\n3. `replaceImageUrl`和`textPrompt`皆为必需，两者共同控制生成效果\n\n当用户要求“换背景场景但保留产品不变”时，提示词应明确写出“保留主体不变”；如果用户真正想改的是商品本身而不是背景，应改用商品替换类 skill。\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776679212591\n}","readmeExcerpt":"Skill: scene-replace Owner: flyelepai Summary: 通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Tags: latest:1.0.4 Version history: v1.0.4 | 2026-08-28T03:14:56.862Z | user - Updated required parameter modelType default value from 0 to 9 (Flyelep Image 2 is now required). - Clarified that only one image is allowed for replaceImageUrl; passing multiple images is now an error. ","codeSnippets":[],"executableExamples":[{"language":"http","snippet":"Content-Type: application/json\nsecretKey: 用户提供的API密钥"},{"language":"json","snippet":"{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"modelType\": 9,\n  \"textPrompt\": \"将场景替换成我上传的图片\"\n}"},{"language":"json","snippet":"{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}"},{"language":"json","snippet":"{\n  \"code\": 200,\n  \"msg\": null,\n  \"data\": {\n    \"relativePath\": \"cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"fullPath\": \"https://agent-1404002717.cos.ap-guangzhou.myqcloud.com/cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"serviceProvider\": null\n  }\n}"},{"language":"bash","snippet":"curl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload\" -H \"secretKey: 你的密钥\" --max-time 120 -F \"file=@./product.png\""},{"language":"bash","snippet":"# Windows/PowerShell（用 curl.exe，PowerShell 里的 curl 是 Invoke-WebRequest 的别名）\ncurl.exe -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload\" -H \"secretKey: 你的密钥\" --max-time 120 -F \"file=@C:/path/to/product.png\"\n\n# macOS/Linux\ncurl -X POST \"https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload\" -H \"secretKey: 你的密钥\" --max-time 120 -F \"file=@./product.png\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: scene-replace\ndescription: >-\n  通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。\n  当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。\n---\n# Flyelep 场景替换\n通过 Flyelep AI Tool API 将图片中的背景场景替换为目标场景，并返回替换后的新图片 URL。\n\n**重要：这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口，禁止通过浏览器访问 Flyelep 网站。**\n\n## API 接口信息\n\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace`\n- **Content-Type**: `application/json`\n- **认证方式**: 在请求头中传入 `secretKey`（密钥需由用户在 Flyelep 开放平台申请：https://www.flyelep.cn/controlboard）\n- **超时时间**: 建议 120-300 秒\n\n请求头示例：\n\n```http\nContent-Type: application/json\nsecretKey: 用户提供的API密钥\n```\n\n> **安全说明**：不要将真实密钥写入技能文件、示例代码仓库或持久化配置中，应在运行时由用户动态提供。\n\n## 请求 Body\n\n```json\n{\n  \"sourceUrl\": \"https://example.com/product.jpg\",\n  \"replaceImageUrl\": \"https://example.com/scene.jpg\",\n  \"modelType\": 9,\n  \"textPrompt\": \"将场景替换成我上传的图片\"\n}\n```\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"操作成功\",\n  \"data\": \"https://example.com/scene_replaced.jpg\"\n}\n```\n\n- `code=200` 表示调用成功\n- `msg` 为接口返回说明\n- `data` 为场景替换后的图片 URL\n\n返回结果应直接展示给用户，不要回读图片内容。\n\n## 参数说明\n\n### 必传参数\n\n> **重要**：以下必传参数必须通过询问用户获取，agent 不可自行填写。调用本技能时，应先向用户列出必传参数与可选参数表格，由用户确认或提供后再执行。\n\n| 字段 | 类型 | 是否必需 | 默认值 | 说明 |\n|------|------|----------|--------|------|\n| sourceUrl | String | 是 | - | 原图链接 |\n| modelType | Integer | 是 | 9 | 当前仅支持传 `9`：Flyelep Image 2 |\n| textPrompt | String | 是 | - | 用户提示词，描述目标场景 |\n| replaceImageUrl | String | 否 | - | 场景参考图链接，暂时只支持单图 |\n\n### 参数映射规则\n\n**sourceUrl**：\n- 传入待替换场景的原图公网 URL\n- 必须是图片直链，不要传网页地址\n- 如果用户提供本地文件路径，先按「本地文件上传」章节换取公网直链，再填入此参数\n\n**modelType**：\n- 当前接口仅支持 `9`（Flyelep Image 2），必传\n- 传其他值会报「无效的模型类型」\n\n**textPrompt**：\n- 用自然语言描述目标场景，如风格、环境、光线、氛围、陈列方式\n- 有参考图时用于补充约束（如「将场景替换成我上传的图片」），无参考图时由文字单独控制目标场景\n- 不传时接口会退化为默认提示词「替换场景」，效果不可控，因此实际调用应始终传入\n\n**replaceImageUrl**：\n- 可选参数，用于提供目标场景参考图\n- 暂时只支持单图，传入多张（逗号分隔）会被接口拒绝，报「该操作类型最多只能上传1张图片」\n- 不传时仅靠 `textPrompt` 生成目标场景\n- 如果用户提供本地文件路径，先按「本地文件上传」章节换取公网直链，再填入此参数\n\n> **说明**：场景替换、商品替换、商品换色三个接口共用同一 DTO，由接口内部自动设置 `type` 字段，调用方无需传入 `type`。\n\n## 本地文件上传\n\n用户提供的是本地文件路径而不是公网直链时，先把文件上传换取直链，再调用本接口。已安装 `file-upload` 技能时以该技能为准；未安装时按下面的说明直接调用上传接口。\n\n- **URL**: `POST https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload`\n- **请求方式**: `multipart/form-data`，文件字段名固定为 `file`，单次只能上传一个文件，多个文件并发调用多次\n- **认证方式**: 请求头传 `secretKey`，与本技能使用同一个密钥\n- **超时时间**: 图片建议 60-120 秒\n- **不要手动设置 `Content-Type` 请求头**，让 HTTP 客户端自动生成带 boundary 的值，手写会导致服务端解析失败\n- 图片仅支持 `bmp`、`gif`、`jpg`、`jpeg`、`png`，`webp` 需先转成 `png` 或 `jpg`；文件名必须带正确后缀，服务端靠它判断格式\n- 原文件名不会出现在 URL 里，中文名、空格、特殊字符都能直接上传，不需要提前改名\n- 上传不消耗算力，但服务端不做去重：同一个文件在一次任务里只上传一次，记下 `fullPath` 复用\n\n成功响应取 `data.fullPath` 作为公网直链，永久有效、不带签名：\n\n```json\n{\n  \"code\": 200,\n  \"msg\": null,\n  \"data\": {\n    \"relativePath\": \"cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"fullPath\": \"https://agent-1404002717.cos.ap-guangzhou.myqcloud.com/cos_ai_agent/2026-08-11/3f2a9c1b7d84e6f5a012.png\",\n    \"serviceProvider\": null\n  }\n}\n```\n\n判断成功只看 `code`，业务失败时 HTTP 状态码仍是 200，`code` 为 500 或 9999，原因在 `msg` 里。\n\n```bash\n# Windows/PowerShell（用 curl.exe，PowerShell 里的"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fp1zsg4nwdq826y0awapkks84fkq1\",\n  \"slug\": \"flyelep-scene-replace\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787886896862\n}"},{"path":"skill-card.md","content":"## Description:\n\nUses the Flyelep AI Tool API to replace the background scene in an image with a specified scene, optionally guided by a reference image and text prompt.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[flyelepai](https://clawhub.ai/user/flyelepai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to replace product or subject backgrounds while preserving the main subject. It is suited for product display scenes, background replacement workflows, and guided scene changes using public image URLs or uploaded local images.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Local images may be uploaded to a permanent public URL.\n\nMitigation: Use only images approved for external upload, avoid private or regulated content, and confirm the user understands that uploaded image URLs may remain accessible.\n\nRisk: Flyelep API keys may be exposed through shell command examples, logs, or command history.\n\nMitigation: Use revocable keys, provide credentials only at runtime, avoid hard-coding keys in files, and rotate any key that may have been logged.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/flyelepai/skills/flyelep-scene-replace)\n- [Flyelep control board](https://www.flyelep.cn/controlboard)\n- [Flyelep scene replacement API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/aiTool/sceneReplace)\n- [Flyelep file upload API endpoint](https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with HTTP request examples and returned image URLs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill returns or presents a URL for the generated scene-replaced image and may include upload or API-call instructions.]\n\n## Skill Version(s):\n\n1.0.4 (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":"通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Skill: scene-replace Owner: flyelepai Summary: 通过 Flyelep AI 工具接口将图片中的背景场景替换为指定场景，可结合参考图和文本提示词精准控制效果。 当用户要求更换背景场景、替换商品展示环境、保留主体改场景时使用此技能。 Tags: latest:1.0.4 Version history: v1.0.4 | 2026-08-28T03:14:56.862Z | user - Updated required parameter modelType default value from 0 to 9 (Flyelep Image 2 is now required). - Clarified that only one image is allowed for replaceImageUrl; passing multiple images is now an error.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":951,"uniquenessScore":54,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:41:08.302Z","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-11T01:41:08.302Z","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-11T03:54:24.120Z","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"}]}}}