这个 skill 提供豆包(火山引擎 Ark)的图片生成和视频生成能力,结果保存到本地。
适用场景:
脚本位于 skill 目录内的 scripts/,运行时始终使用绝对路径。
设 DOUBAO_SKILL_DIR 为 .claude/skills/doubao-all-in-one 的绝对路径:
uv run python $DOUBAO_SKILL_DIR/scripts/text_to_image.py
uv run python $DOUBAO_SKILL_DIR/scripts/image_to_image.py
uv run python $DOUBAO_SKILL_DIR/scripts/create_video_task.py
uv run python $DOUBAO_SKILL_DIR/scripts/query_video_task.py
uv run python $DOUBAO_SKILL_DIR/scripts/list_video_tasks.py
uv run python $DOUBAO_SKILL_DIR/scripts/delete_video_task.py
uv run python $DOUBAO_SKILL_DIR/scripts/download_video.py
uv run python $DOUBAO_SKILL_DIR/scripts/webhook_server.py
uv 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,而非 adaptive
references/seedance_1_5_pro_prompt_guide.md
```
优化说明:
文件名标题:[不超过 10 个中文字的内容简述,如"金毛麦田奔跑"]
优化后提示词:
[完整提示词]
```
--name 参数传入。标题应概括画面核心内容,如"金毛麦田奔跑""猫咪打哈欠""海边日落漫步"
ARK_API_KEY(必需,未设置时直接报错)
OUTPUT_ROOT(可选,输出根目录,支持 ~ 展开,默认为用户主目录)
当用户请求为短剧的多个 clip(C01、C02…)批量生成视频时,遵循以下规则:
create_video_task.py --duration 8
outputs/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 端口)
共 1 个版本