360 Secure SkillHub
360 安全技能中心

Seedance Video

封装字节跳动 Seedance 视频生成能力:提供 Python CLI 与 curl 两种调用方式,支持文生视频、图生视频(首帧、首尾帧、参考图)、Draft 预览与多模型选择,并支持异步任务的查询、等待、下载与删除。需设置 ARK_API_KEY,提交前需与用户确认 prompt 与参数,生成结果下载到本地。

lovensky1992-wk
lovensky1992-wk
热度 73.53
最近更新 2026-05-17 14:53:01
分类:创作依赖:代码执行 / 第三方 API / 读写文件应用场景:视频编辑 / 图像生成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add seedance-video-gen
Metadata
name
seedance-video
description
使用字节跳动 Seedance 生成 AI 视频:文生视频、图生视频(首帧/首尾帧/参考图)、 异步任务查询。支持 Seedance 2.0(多模态输入、视频续生、视频编辑)等多个模型。 Use when: (1) 用户说"生成视频"/"做个视频"/"AI视频"/"text to video", (2) 用户要求根据图片生成视频/动画/"图生视频"/"image to video", (3) 用户提到 Seedance/字节视频生成, (4) 用户说"帮我做段视频"/"生成一段动画"。 NOT for: 从已有视频中抽帧/截图(用 video-frames)、 视频剪辑/转码/格式转换(用 ffmpeg 直接操作)、实拍视频处理。
version
1.0.0
category
file-generation
argument-hint
[text prompt or task ID]

Seedance Video Generation

使用字节跳动 Seedance 模型通过火山引擎 Ark API 生成 AI 视频。

Step 0: 前置检查

  1. API Key:确认 ARK_API_KEY 环境变量已设置
    echo $ARK_API_KEY | head -c 8  # 只显示前 8 位确认存在
    
    未设置 → 提示用户在 火山引擎控制台 获取
  2. Python CLI 工具:确认 {baseDir}/seedance.py 存在
    • 不存在 → 降级用 curl(见 references/curl-api-reference.md)

Step 1: 需求分类

用户意图 模式 跳转
"帮我生成一段视频" / 纯文字描述 文生视频 → Step 2,Mode text
"用这张图生成视频" / 给了一张图 图生视频(首帧) → Step 2,Mode image
给了两张图(开头和结尾) 首尾帧视频 → Step 2,Mode first-last
"参考这几张图" / 给了多张参考图 参考图视频 → Step 2,Mode ref
"查下之前那个视频任务" / 给了 task ID 任务查询 → Step 4

Step 2: 确认参数

必须在调 API 前跟用户确认以下内容:

  1. Prompt:向用户展示将使用的 prompt,确认后再提交
  2. 模型选择(根据场景推荐):
场景 推荐模型 理由
日常文/图生视频 Seedance 1.5 Pro(默认) 稳定,支持音频
需要最高质量 Seedance 2.0 多模态,最强效果
快速预览/测试 Seedance 2.0 Fast 生成快,质量略低
预算有限 1.5 Pro + Draft mode 先低成本预览
纯文生视频、低成本 1.0 Lite T2V 最便宜
多参考图 1.0 Lite I2V 支持 1-4 张参考图
  1. 默认参数(用户不指定则用默认值):
    • 分辨率:720p | 比例:16:9(文生)/ adaptive(图生)| 时长:5秒 | 音频:开

Step 3: 执行生成

所有模式统一用 Python CLI:

# 文生视频
python3 {baseDir}/seedance.py create \
  --prompt "描述文字" \
  --ratio 16:9 --duration 5 --resolution 720p \
  --wait --download ~/Desktop

# 图生视频(首帧)
python3 {baseDir}/seedance.py create \
  --prompt "动作描述" --image /path/to/photo.jpg \
  --wait --download ~/Desktop

# 首尾帧
python3 {baseDir}/seedance.py create \
  --prompt "过渡描述" --image first.jpg --last-frame last.jpg \
  --wait --download ~/Desktop

# 参考图(1-4张,Lite I2V)
python3 {baseDir}/seedance.py create \
  --prompt "[图1]的人物在跳舞" --ref-images ref1.jpg ref2.jpg \
  --model doubao-seedance-1-0-lite-i2v-250428 \
  --wait --download ~/Desktop

# Draft 模式(便宜预览)
python3 {baseDir}/seedance.py create \
  --prompt "描述" --draft true --wait --download ~/Desktop

# 从 Draft 生成正式版
python3 {baseDir}/seedance.py create \
  --draft-task-id <DRAFT_TASK_ID> --resolution 720p \
  --wait --download ~/Desktop

--wait --download 会自动轮询等待 + 下载,无需手动轮询。

超时保护

  • --wait 默认超时 10 分钟
  • 超时后展示 task ID 给用户,可后续用 status 查询
  • 正常生成时间:文生 1-3 分钟,图生 2-5 分钟

Step 4: 任务管理

# 查询状态
python3 {baseDir}/seedance.py status <TASK_ID>

# 等待并下载已有任务
python3 {baseDir}/seedance.py wait <TASK_ID> --download ~/Desktop

# 列出任务
python3 {baseDir}/seedance.py list --status succeeded

# 取消/删除
python3 {baseDir}/seedance.py delete <TASK_ID>

Step 5: 验证与交付

  1. 确认视频文件已下载:ls -lh ~/Desktop/seedance_video_*.mp4
  2. 用 MEDIA:<path> 发送视频给用户
  3. 展示 task ID:方便用户后续查询或重新下载
  4. 询问是否满意,不满意 → 调整 prompt 重新生成

边界条件

情况 处理
ARK_API_KEY 未设置 停止,引导用户获取
图片格式不支持 支持 jpeg/png/webp/bmp/tiff/gif(1.5 Pro 额外支持 heic)
图片尺寸不合规 宽高比 0.4-2.5,单边 300-6000px,≤30MB
生成失败(API 错误) 展示错误信息 + 建议:prompt 含违规词→修改;配额不足→换模型或稍后重试
视频 URL 过期 24 小时过期!生成后立即下载。过期 → 用 task ID 查询是否还能重新获取
任务历史过期 7 天后无法查询
seedance.py 不存在 降级用 curl,见 references/curl-api-reference.md
网络超时 重试 1 次,仍失败 → 建议用 flex tier(离线队列,便宜 50%)

参数速查

参数 默认值 可选值
ratio 16:9 / adaptive 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
duration 5 4-12 秒(1.5 Pro),2-12(其他)
resolution 720p 480p, 720p, 1080p
generate_audio true true/false(仅 1.5 Pro)
draft false true/false(仅 1.5 Pro)
service_tier default default(在线), flex(离线,半价)

模型 ID 速查

模型 ID
Seedance 2.0 doubao-seedance-2-0-260128
Seedance 2.0 Fast doubao-seedance-2-0-fast-260128
Seedance 1.5 Pro doubao-seedance-1-5-pro-251215
Seedance 1.0 Pro doubao-seedance-1-0-pro-250528
Seedance 1.0 Pro Fast doubao-seedance-1-0-pro-fast-251015
Seedance 1.0 Lite T2V doubao-seedance-1-0-lite-t2v-250428
Seedance 1.0 Lite I2V doubao-seedance-1-0-lite-i2v-250428