Install
openclaw skills install @flyelepai/async-free-creation通过 Flyelep 异步自由创作接口调用 Image-2 模型生成产品图或创意图。 当用户要求异步自由创作、自由创作、Image-2 自由创作、根据提示词和参考图生成多张图片时使用此技能。
openclaw skills install @flyelepai/async-free-creation通过 Flyelep Image-2 自由创作 API 异步生成图片。
重要:这是一个 HTTP API 调用技能。必须通过 HTTP POST 请求调用 API 接口,禁止通过浏览器访问 Flyelep 网站。
POST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/allAroundCreationAsyncapplication/jsonsecretKeyPOST https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/queryTaskResultapplication/jsonsecretKeyqueryResult 仍可作为兼容备选。在请求头中传入 secretKey。该密钥需由用户在 Flyelep 开放平台申请获得:https://www.flyelep.cn/controlboard 。
请求头示例:
Content-Type: application/json
secretKey: 用户提供的API密钥
安全说明:
secretKey必须放在请求头中,不要将真实密钥写入技能文件、示例代码仓库或持久化配置中,应在运行时由用户动态提供。
{
"query": "生成钢笔的产品图",
"apiImgUrlList": [
"https://example.com/product.png"
],
"detailPictureNumber": 4,
"aspectRatio": "1:1"
}
成功:
{
"code": 200,
"data": {
"agentGenerateTaskId": "2054467932287070209"
}
}
code=200 表示创建任务成功data.agentGenerateTaskId 为异步任务 ID{
"agentGenerateTaskId": "2054467932287070209"
}
{
"code": 200,
"data": {
"taskList": [
{
"taskStatus": 2,
"executeResult": "https://example.com/result1.png"
},
{
"taskStatus": 1
}
]
}
}
| 值 | 含义 |
|---|---|
0 | 待生成 |
1 | 生成中 |
2 | 生成成功 |
3 | 生成失败 |
当 taskStatus=2 时,读取对应项的 executeResult 图片 URL 并展示给用户。若仍有 0 或 1,等待后继续轮询;若出现 3,告知用户该任务项生成失败。
重要:以下必传参数必须通过询问用户获取,agent 不可自行填写。调用本技能时,应先向用户列出必传参数与可选参数表格,由用户确认或提供后再执行。
| 字段 | 默认值 | 说明 |
|---|---|---|
| query | - | 用户生成图片的具体需求描述,最多 1000 个字符 |
| detailPictureNumber | - | 需要生成的图片数量,支持 1 到 4 |
| aspectRatio | 随机 | 图片比例;文档标注为必需,但为空时默认随机比例 |
| 字段 | 默认值 | 说明 |
|---|---|---|
| apiImgUrlList | - | 参考图片 URL 数组,最多 6 张,建议单张图片小于 10MB |
生成钢笔的产品图apiImgUrlList,不是 fileUrlList 或 imgUrlList1、2、3、44支持以下比例:
1:13:22:33:44:34:55:49:1616:921:9API 文档标注此参数为必需,但默认为空时接口随机选择比例。
默认规则:
16:91:19:16Content-Type: application/json; charset=utf-8 请求头。以下分平台说明:payload_temp.json,再通过 Shell 工具调用 curl.exe --data-binary @payload_temp.json 发送请求。这是因为 PowerShell 使用 GBK 编码,而服务端使用 UTF-8 解析,直接在命令行中嵌入中文 JSON 会导致乱码。curl.exe(而非 curl,后者在 PowerShell 中是 Invoke-WebRequest 的别名)。必须在 curl.exe 后加 --% 停止 PowerShell 解析,否则 @ 会被误判为 splatting 操作符导致报错。payload_temp.jsonSet-Content -Encoding UTF8 会带 BOM,不可用)curl(无需 .exe,无需 --%)。curl -X POST URL -H "..." -H "..." --data-binary 'JSON单行内容',一步完成。curl --data-binary @payload_temp.json。payload_temp.json 临时文件(如使用了临时文件)。示例 1:创建异步自由创作任务
步骤 1:创建 payload_temp.json,内容如下:
{
"aspectRatio": "1:1",
"query": "生成钢笔的产品图",
"detailPictureNumber": 4,
"apiImgUrlList": [
"https://example.com/product.png"
]
}
方式 B(无 Write 工具):
powershell $json = '{"aspectRatio":"1:1","query":"生成钢笔的产品图","detailPictureNumber":4,"apiImgUrlList":["https://example.com/product.png"]}' [System.IO.File]::WriteAllText("payload_temp.json", $json, [System.Text.UTF8Encoding]::new($false))
步骤 2:使用 Shell 工具执行:
curl.exe --% -X POST "https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/allAroundCreationAsync" -H "Content-Type: application/json; charset=utf-8" -H "secretKey: 你的密钥" --max-time 300 --data-binary @payload_temp.json
macOS/Linux 内联写法(无需临时文件):
bash curl -X POST "https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/allAroundCreationAsync" -H "Content-Type: application/json; charset=utf-8" -H "secretKey: 你的密钥" --max-time 300 --data-binary '{"aspectRatio":"1:1","query":"生成钢笔的产品图","detailPictureNumber":4,"apiImgUrlList":["https://example.com/product.png"]}'
步骤 3:清理临时文件:
rm payload_temp.json
示例 2:查询任务结果
步骤 1:创建 payload_temp.json,内容如下:
{
"agentGenerateTaskId": "2054467932287070209"
}
方式 B(无 Write 工具):
powershell $json = '{"agentGenerateTaskId":"2054467932287070209"}' [System.IO.File]::WriteAllText("payload_temp.json", $json, [System.Text.UTF8Encoding]::new($false))
步骤 2:使用 Shell 工具执行:
curl.exe --% -X POST "https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/queryTaskResult" -H "Content-Type: application/json; charset=utf-8" -H "secretKey: 你的密钥" --max-time 300 --data-binary @payload_temp.json
macOS/Linux 内联写法(无需临时文件):
bash curl -X POST "https://www.flyelep.cn/prod-api/poster-design/api/v1/poster/queryTaskResult" -H "Content-Type: application/json; charset=utf-8" -H "secretKey: 你的密钥" --max-time 300 --data-binary '{"agentGenerateTaskId":"2054467932287070209"}'
步骤 3:清理临时文件:
rm payload_temp.json
queryapiImgUrlListdetailPictureNumber,未指定时默认 4aspectRatio,未指定时可为空或不传secretKeyallAroundCreationAsync 创建任务data.agentGenerateTaskIdqueryTaskResult 轮询任务结果taskStatus=2 的 executeResult 图片 URL 逐个展示给用户| 错误 | 原因与解决 |
|---|---|
HTTP 401 / code 非 200 | secretKey 无效、缺失或已过期,确认请求头是否正确传入 |
| HTTP 405 Not Allowed | 请求方法错误,必须使用 POST |
agentGenerateTaskId 为空 | 创建任务失败或响应结构异常,检查创建任务接口返回 |
查询结果一直是 0 或 1 | 图片仍在排队或生成中,等待后继续轮询 |
taskStatus=3 | 对应图片生成失败,可简化提示词、减少参考图或重试 |
detailPictureNumber 超出范围 | 该接口仅支持单次生成 1-4 张 |
apiImgUrlList 无法访问 | 参考图 URL 不是公网直链、已过期,或源站限制访问 |
| 比例不支持 | aspectRatio 必须使用文档规定的比例枚举 |
该接口适合宽泛的创意图片生成,但仍应把提示词写得明确、短而有约束。
推荐提示词包含:
不要在提示词中承诺接口不支持的细粒度编辑能力。若用户明确要求局部重绘、商品换色、商品替换、场景替换、图片翻译、抠图、放大或超清增强,应优先使用对应的专用 skill。