使用豆包(火山引擎 Ark)生成图片或视频并保存本地。用户提及“豆包生图/图片/生视频/视频”、“Doubao”、“Seedance”、“火山引擎图片/视频”时触发。
豆包图片与视频生成是一项面向实际任务的技能,主要用于这个 skill 提供豆包(火山引擎 Ark)的图片生成和视频生成能力,结果保存到本地;适用场景:;
设 DOUBAO_SKILL_DIR 为 .claude/skills/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.MP4outputs/scripts/chong_sheng_zhui_qi_20260401/video_generation/nightmare/C01.MP4--poll 模式可直接完成任务;异步工作流可分步操作webhook_server.py(默认端口 8888),创建任务时自动检测回调地址(优先级:手动 --callback-url > 环境变量 VIDEO_CALLBACK_BASE_URL > 自动检测本机 IP + 8888 端口)