Install
openclaw skills install @showtimewalker/doubao-all-in-one使用豆包(火山引擎 Ark)生成图片或视频,将结果保存到本地。当用户提到"豆包生图""豆包图片""豆包生视频""豆包视频""Doubao""Seedance""火山引擎图片""火山引擎视频"时引用。
openclaw skills install @showtimewalker/doubao-all-in-one这个 skill 提供豆包(火山引擎 Ark)的图片生成和视频生成能力,结果保存到本地。
适用场景:
脚本位于 skill 目录内的 scripts/,运行时始终使用绝对路径。
设 DOUBAO_SKILL_DIR 为 .claude/skills/doubao-all-in-one 的绝对路径:
uv run python $DOUBAO_SKILL_DIR/scripts/text_to_image.pyuv run python $DOUBAO_SKILL_DIR/scripts/image_to_image.pyuv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.pyuv run python $DOUBAO_SKILL_DIR/scripts/query_video_task.pyuv run python $DOUBAO_SKILL_DIR/scripts/list_video_tasks.pyuv run python $DOUBAO_SKILL_DIR/scripts/delete_video_task.pyuv run python $DOUBAO_SKILL_DIR/scripts/download_video.pyuv run python $DOUBAO_SKILL_DIR/scripts/webhook_server.pyuv run python $DOUBAO_SKILL_DIR/scripts/text_to_image.py \
--prompt "一张电影感写实人像海报,光影强烈,构图干净" \
--name "写实人像海报"
uv run python $DOUBAO_SKILL_DIR/scripts/image_to_image.py \
--image resources/images/climb1.jpeg \
--prompt "保留主体动作,改为日落暖光的写实摄影风格" \
--name "日落暖光人像"
uv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.py \
--prompt "写实风格,晴朗的蓝天之下,一大片白色的雏菊花田,镜头逐渐拉近,最终定格在一朵雏菊花的特写上,花瓣上有几颗晶莹的露珠" \
--name "雏菊花田特写" \
--ratio 16:9 --duration 5 --poll
uv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.py \
--prompt "女孩抱着狐狸,女孩睁开眼,温柔地看向镜头" \
--name "女孩抱狐狸" \
--image-url "https://example.com/first_frame.png" \
--role first_frame --ratio adaptive --duration 5 --poll
uv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.py \
--prompt "小猫对着镜头打哈欠" --name "猫咪打哈欠" --ratio 16:9 --duration 5
# 先启动 Webhook 服务器
uv run python $DOUBAO_SKILL_DIR/scripts/webhook_server.py
# 再创建任务,传入回调地址(不传则自动检测本机 8888 端口)
uv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.py \
--prompt "小猫对着镜头打哈欠" --name "猫咪打哈欠" --ratio 16:9 --duration 5
| 参数 | 说明 | 文生图 | 图生图 |
|---|---|---|---|
--prompt | 提示词 | 是 | 是 |
--name | 文件名描述(不超过 10 个中文字) | 否 | 否 |
--model | 模型 ID,默认 doubao-seedream-5-0-260128 | 否 | 否 |
--image | 输入图片路径或 URL,可多次传 | - | 是 |
--size | 输出尺寸:2K / 3K / 4K / 2048x2048,默认 2K | 否 | 否 |
--response-format | 返回格式:b64_json / url,默认 b64_json | 否 | 否 |
--output-format | 输出文件格式:png / jpeg(仅 5.0 lite) | 否 | 否 |
--guidance-scale | 文本权重,范围 [1, 10](仅 3.0 系列) | 否 | 否 |
--watermark | 添加水印 | 否 | 否 |
--sequential-image-generation | 组图模式:auto / disabled,默认 disabled | 否 | 否 |
--max-images | 组图最大数量,范围 [1, 15],默认 15 | 否 | 否 |
--optimize-prompt | 提示词优化:standard / fast(仅 5.0 lite/4.5/4.0) | 否 | 否 |
--web-search | 启用联网搜索(仅 5.0 lite) | 否 | 否 |
--output | 输出文件路径 | 否 | 否 |
所有路径相对于 OUTPUT_ROOT(由环境变量注入,兜底为用户主目录):
outputs/doubao/images/text_to_image/outputs/doubao/images/image_to_image/{
"type": "image",
"scene": "text_to_image",
"provider": "doubao",
"used_model": "doubao-seedream-5-0-260128",
"local_path": "outputs/doubao/images/text_to_image/20260330_120000.png",
"image_count": 1,
"generated_images": 1,
"usage": {"generated_images": 1, "output_tokens": 0, "total_tokens": 0}
}
| 参数 | 说明 | 必需 |
|---|---|---|
--prompt | 提示词 | 是 |
--name | 文件名描述(不超过 10 个中文字) | 否 |
--model | 模型 ID,默认 doubao-seedance-1-5-pro-251215 | 否 |
--image-url | 图片 URL(可多次传),配合 --role 使用 | 否 |
--role | 图片角色:first_frame / last_frame | 否 |
--ratio | 宽高比:16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive | 否,默认 16:9 |
--duration | 视频时长(秒):2~12(1.5 pro 支持 -1 由模型自选) | 否,默认 5 |
--resolution | 分辨率:480p, 720p, 1080p(1.0 lite 参考图不支持 1080p) | 否,默认 480p |
--seed | 随机种子,范围 [-1, 2^32-1] | 否 |
--frames | 视频帧数,格式 25+4n,范围 [29, 289](1.5 pro 暂不支持) | 否 |
--generate-audio | 生成有声视频(仅 1.5 pro,API 默认 true) | 否 |
--watermark | 添加水印 | 否 |
--camera-fixed | 固定摄像头(参考图场景不支持) | 否 |
--return-last-frame | 返回视频尾帧图像(可用于连续视频拼接) | 否 |
--draft | 生成样片(仅 1.5 pro,固定 480p,不支持离线) | 否 |
--execution-expires-after | 任务超时秒数,范围 [3600, 259200],默认 172800(48h) | 否 |
--service-tier | 推理模式:default(在线)/ flex(离线,50% 价格) | 否 |
--poll | 创建后自动轮询直到完成并下载 | 否 |
--poll-interval | 轮询间隔秒数,默认 10 | 否 |
--timeout | 轮询超时秒数,默认 900 | 否 |
--callback-url | Webhook 回调地址;不传时自动检测 | 否 |
所有路径相对于 OUTPUT_ROOT(由环境变量注入,兜底为用户主目录):
outputs/doubao/videos/text_to_video/outputs/doubao/videos/first_frame_to_video/outputs/doubao/videos/first_last_frame_to_video/创建任务返回:
{
"type": "video",
"scene": "text_to_video",
"provider": "doubao",
"task_id": "cgt-2025xxxx",
"status": "queued"
}
轮询完成并下载后返回:
{
"type": "video",
"scene": "text_to_video",
"provider": "doubao",
"task_id": "cgt-2025xxxx",
"used_model": "doubao-seedance-1-5-pro-251215",
"local_path": "outputs/doubao/videos/text_to_video/20260330_120000_cgt-xxx.mp4",
"source_url": "https://...",
"resolution": "480p",
"ratio": "16:9",
"duration": 5
}
查询任务返回:
{
"task_id": "cgt-2025xxxx",
"model": "doubao-seedance-1-5-pro-251215",
"status": "succeeded",
"created_at": 1743300000,
"updated_at": 1743300120,
"video_url": "https://...",
"last_frame_url": "https://...",
"resolution": "480p",
"ratio": "16:9",
"duration": 5,
"seed": 12345,
"generate_audio": true,
"draft": false,
"service_tier": "default",
"execution_expires_after": 172800,
"usage": {"completion_tokens": 100, "total_tokens": 100}
}
| 模型 | Model ID | 特点 |
|---|---|---|
| Seedream 5.0 | doubao-seedream-5-0-260128 | 默认首选 |
| Seedream 4.5 | doubao-seedream-4-5-251128 | 额度不足时自动 fallback |
| 模型 | Model ID | 特点 |
|---|---|---|
| Seedance 1.5 Pro | doubao-seedance-1-5-pro-251215 | 最高质量,支持有声视频、样片模式、返回尾帧、4~12秒 |
调用图片生成脚本前,必须先读取 references/seedream_prompt_guide.md,并对照以下检查清单审核用户的提示词。
references/seedream_prompt_guide.md优化说明:
- [具体补充了什么,如"补充了风格描述:莫奈油画风格"]
文件名标题:[不超过 10 个中文字的内容简述,如"雪中小猫玩耍"]
优化后提示词:
[完整提示词]
--name 参数传入。标题应概括画面核心内容,如"雪中小猫玩耍""金色麦田奔跑""日落海边漫步"调用视频生成脚本前,必须先读取 references/seedance_1_5_pro_prompt_guide.md,并对照其中的提示词质量检查清单审核用户的提示词。
--resolution 参数,直接使用脚本默认的 480p--ratio 参数,直接使用脚本默认的 16:9。有首帧/尾帧参考图且用户未指定比例时也应使用 16:9,而非 adaptivereferences/seedance_1_5_pro_prompt_guide.md优化说明:
- [具体补充了什么,如"补充了运动描述:金毛犬在麦田中快速奔跑"]
- [具体补充了什么,如"补充了环境描述:金色麦田,阳光从侧面照射"]
文件名标题:[不超过 10 个中文字的内容简述,如"金毛麦田奔跑"]
优化后提示词:
[完整提示词]
--name 参数传入。标题应概括画面核心内容,如"金毛麦田奔跑""猫咪打哈欠""海边日落漫步"ARK_API_KEY(必需,未设置时直接报错)OUTPUT_ROOT(可选,输出根目录,支持 ~ 展开,默认为用户主目录)当用户请求为短剧的多个 clip(C01、C02…)批量生成视频时,遵循以下规则:
create_video_task.py --duration 8outputs/scripts/{项目名}/video_generation/{篇章}/CXX.MP4
outputs/scripts/chong_sheng_zhui_qi_20260401/video_generation/nightmare/C01.MP4--poll 模式可直接完成任务;异步工作流可分步操作webhook_server.py(默认端口 8888),创建任务时自动检测回调地址(优先级:手动 --callback-url > 环境变量 VIDEO_CALLBACK_BASE_URL > 自动检测本机 IP + 8888 端口)