Animate this exact locked-camera landscape in one continuous five-second shot. Dry steppe grass leans in a steady crosswind and a few high clouds drift. Keep the mosaic shelter, tiles, concrete plinth, distant horizon, and lighting direction unchanged. No people, animals, vehicles, or new objects. Natural wind physics only. No cuts, no lettering, no logos, no brands, no advertising, no watermark.
Seedance 1.0 Pro Image to Video API
bytedance/seedance/v1/pro/image-to-videoSeedance 1.0 Pro Image to Video 将单张静态参考图像转化为高保真连续动态视频,支持 720p 与 1080p 分辨率、5 秒与 10 秒输出时长以及逼真物理运动模拟。它能够在动态演进中高度保留原图的人物面部特征、服饰质感与空间构图,同时根据提示词赋予主体流畅自然的肢体动作与镜头运镜。

图生视频需要一个 HTTP(S) 图片 URL。体验区上传支持 JPG、PNG、WebP,最大 10 MiB;这是上传限制,JSON/API 不接受 Base64。
示例
REST API 规格
快速开始
以下为 API 结构示例,并非真实生成结果;请替换示例提示词和素材 URL。
第一步:配置 API 鉴权
在控制台申请 API Key,并在每个 HTTP 请求头中携带 Authorization: Bearer <API_KEY> 进行身份验证。
- 任务提交端点
- POST
https://api.vidgo.ai/api/generate/submit - 鉴权请求头
- Authorization: Bearer VIDGO_API_KEY
第 2 步:提交生成任务
POST /api/generate/submit。model 和可选 callback_url 位于根级,生成参数位于 input 内。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "bytedance/seedance/v1/pro/image-to-video",
"input": {
"prompt": "Animate this exact outdoor loom scene in one continuous five-second shot. The same Ghanaian weaver throws the wooden shuttle once through the open shed, then beats the weft so the navy-and-gold cloth settles with a slight sag. Preserve her face, hair, clothing, loom geometry, textile pattern, mango-tree background, and camera framing. Very slow gentle lateral camera drift. Tactile wood and cloth physics. No extra people, no cuts, no lettering, no logos, no brands, no advertising, no watermark.",
"resolution": "720p",
"duration": 5,
"image_urls": [
"https://cdn.vidgo.ai/apis/models/bytedance/seedance/v1/pro/image-to-video/v1/01/input.png"
]
}
}
JSON
)
RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
CODE=$(printf '%s' "$RESPONSE" | jq -r '.code // empty')
if [ "$CODE" != "0" ] && [ "$CODE" != "200" ]; then
printf 'API error: %s
' "$RESPONSE" >&2
exit 1
fi
printf '%s
' "$RESPONSE"第三步:轮询任务执行结果
使用 task_id 查询进度;not_started 或 running 时继续轮询,finished 或 failed 时停止。成功后读取 data.files[].file_url,失败时读取 data.error_message。
状态查询端点
GET https://api.vidgo.ai/api/generate/status/{task_id}使用 task_id 查询进度;not_started 或 running 时继续轮询,finished 或 failed 时停止。成功后读取 data.files[].file_url,失败时读取 data.error_message。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "AJQ924LPAZ9JVYP0",
"status": "running",
"created_time": "2026-09-22T19:06:33"
}
}{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "finished",
"files": [
{
"file_url": "https://storage.vidgo.ai/generated/video.mp4",
"file_type": "video"
}
],
"created_time": "2026-08-22T10:00:00Z",
"progress": 100,
"error_message": null
}
}端到端完整脚本示例
展开查看在生产环境中具备轮询重试、异常保护和超时处理的完整自动化脚本。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "bytedance/seedance/v1/pro/image-to-video",
"input": {
"prompt": "Animate this exact outdoor loom scene in one continuous five-second shot. The same Ghanaian weaver throws the wooden shuttle once through the open shed, then beats the weft so the navy-and-gold cloth settles with a slight sag. Preserve her face, hair, clothing, loom geometry, textile pattern, mango-tree background, and camera framing. Very slow gentle lateral camera drift. Tactile wood and cloth physics. No extra people, no cuts, no lettering, no logos, no brands, no advertising, no watermark.",
"resolution": "720p",
"duration": 5,
"image_urls": [
"https://cdn.vidgo.ai/apis/models/bytedance/seedance/v1/pro/image-to-video/v1/01/input.png"
]
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
BUSINESS_CODE=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Submit failed:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
START_TIME=$(date +%s)
POLL_DELAY=2
while true; do
if [ $(( $(date +%s) - START_TIME )) -ge 600 ]; then
printf 'Timed out after 600 seconds
' >&2
exit 1
fi
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
BUSINESS_CODE=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Status request failed:
%s
' "$STATUS_RESPONSE" >&2
exit 1
fi
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep "$POLL_DELAY"
if [ "$POLL_DELAY" -lt 10 ]; then POLL_DELAY=$((POLL_DELAY + 1)); fi
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
done请求参数(input 对象)
model 和可选 callback_url 位于请求根级,以下字段位于 input。仅接受本端点列出的字段和类型;默认值仅在参数省略时生效。未知字段及比例、音频、首尾帧和固定镜头字段均不支持,即使传入 null 或空值也会被拒绝。
| 字段 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| prompt | string | 是 | — | 必须为字符串,去除首尾空白后为 1–10,000 个 Unicode 字符;不接受非字符串或空提示词。 |
| image_urls | array | 是 | — | 必须为恰好包含一个 HTTP(S) 图片 URL 的数组,地址须包含主机名且不含嵌入凭据或空白;不接受 Base64 或单个字符串。 |
| resolution | string | 否 | 720p | 仅支持字符串 720p 或 1080p;仅省略时默认 720p,不接受别名、大小写变体、首尾空白、null 或空字符串。 |
| duration | integer | 否 | 5 | 仅支持数值整数 5 或 10 秒;仅省略时默认 5 秒,不接受字符串、布尔值、null 或非整数。数值 5.0 等同于 5。 |
响应字段(查询结果)
通过 GET /api/generate/status/{task_id} 轮询获取的任务详情:
| 字段 | 类型 | 描述 |
|---|---|---|
| code | integer | 业务响应状态码,200 表示成功。 |
| data.task_id | string | 异步任务全局唯一流水号。 |
| data.status | string | 任务执行阶段:not_started(排队中)、running(生成中)、finished(已完成)、failed(失败)。 |
| data.files | array | 生成成功时包含的成片文件列表,每项含 file_url 与 file_type。 |
| data.error_message | string | null | 任务执行异常时的具体错误描述。 |
任务生命周期
客户端应根据 status 字段判断任务进度,达到 finished 或 failed 终态时立即终止轮询:
not_started任务已接收,等待执行。
running正在生成。
finished生成完成,从 data.files 获取视频 URL。
failed生成失败,请查看 data.error_message,已扣积分按现有流程返还。
轮询与异常处理
- 轮询频次推荐体验区从 2 秒开始逐步增加轮询间隔,上限 10 秒;任务进入 finished 或 failed 后停止。
- 网络波动与重试查询失败并不表示生成失败。使用“重试查询状态”继续查询原任务,无需重新提交。
- 异步 Webhook 回调支持在提交请求体根层级传递 callback_url,在任务终态时系统将通过 POST 自动推送完整任务结果。
接口规格
| 规格项 | 取值 | 说明 |
|---|---|---|
| 模型 ID | bytedance/seedance/v1/pro/image-to-video | 请求根级 model 字段。 |
| 分辨率 | 720p / 1080p | 仅支持字符串 720p 或 1080p;仅省略时默认 720p,不接受别名、大小写变体、首尾空白、null 或空字符串。 |
| 时长 | 5 / 10s | 仅支持数值整数 5 或 10 秒;仅省略时默认 5 秒,不接受字符串、布尔值、null 或非整数。数值 5.0 等同于 5。 |
Seedance 1.0 Pro Image to Video
Seedance 1.0 Pro Image to Video 是字节跳动研发的高保真图像生成视频模型。它能够深度提取并保留单张输入图片的主体轮廓、色彩基调与空间构图,结合自然语言提示词驱动人物与场景产生符合真实物理规律的平滑运动,支持 720p/1080p 输出及 5 秒/10 秒时长。
为什么选择此模式?
卓越的主体面貌与构图保留以单张参考图为基准,深度保留人物面部五官轮廓、发丝服饰纹理与原始构图平衡,避免动作展开后发生主体形变。
自然逼真的物理动力学模拟精确模拟衣物摆动、发丝飘拂与光影反射等写实物理动态,让静止画面顺畅延展为生动自然的电影感片段。
灵活的画质与时长规格组合提供 5 秒快速镜头与 10 秒长动作片段,并支持 720p 快速构图验证与 1080p 高清成片规格。
文本提示词精准引导动作与运镜通过文字提示词清晰指导人物的眼神转动、面部微表情与肢体动作,并支持推近、环绕及平移等专业摄影机运镜。
透明经济的按次计费模式生成按次扣除固定积分,720p 5 秒仅需 21 积分($0.105),遇到服务异常或任务失败自动即时退还对应积分。
参数说明
| 参数 | 要求 | 说明 |
|---|---|---|
| prompt | 必填 | 必须为字符串,去除首尾空白后为 1–10,000 个 Unicode 字符;不接受非字符串或空提示词。 |
| image_urls | 必填 | 必须为恰好包含一个 HTTP(S) 图片 URL 的数组,地址须包含主机名且不含嵌入凭据或空白;不接受 Base64 或单个字符串。 |
| resolution | 可选 | 仅支持字符串 720p 或 1080p;仅省略时默认 720p,不接受别名、大小写变体、首尾空白、null 或空字符串。 默认值 720p1080p |
| duration | 可选 | 仅支持数值整数 5 或 10 秒;仅省略时默认 5 秒,不接受字符串、布尔值、null 或非整数。数值 5.0 等同于 5。 默认值 510 |
使用方法
准备主体清晰的参考图片准备一张光线均匀、主体轮廓分明的 JPG、PNG 或 WebP 格式图片作为视觉起点(体验区支持最大 10 MiB)。
编写动作与摄影机运镜提示词在提示词中重点描写主体的动作演进趋势与摄影机轨迹(例如“人物微笑着转头看向远方,镜头平缓向前推进”)。
选择输出分辨率与视频时长根据交付标准选择 5 秒或 10 秒时长,并选取 720p 标准画质或 1080p 影视级高清规格。
确认积分消耗并提交生成任务在体验区点击运行或通过 REST API 发送包含图片与参数的 POST 请求,系统将自动扣除积分并返回 task_id。
轮询任务进度并下载成片通过状态查询端点定期轮询 task_id 进度,任务转为 finished 后即可从响应中获取生成的 MP4 视频链接。
计费说明
按分辨率与时长按次计费,文生视频和图生视频价格相同。1 积分 = $0.005。
| 计费项 | 费率 | 说明 |
|---|---|---|
| 720p · 5 秒 | 21 积分 / $0.105 | 每次视频生成 |
| 720p · 10 秒 | 42 积分 / $0.210 | 每次视频生成 |
| 1080p · 5 秒 | 43 积分 / $0.215 | 每次视频生成 |
| 1080p · 10 秒 | 86 积分 / $0.430 | 每次视频生成 |
适用场景
静态肖像与数字角色动态化将静止的人物肖像、动漫插画或写实模特照片赋予眼神流转、微笑与转头等生动自然的肢体神态。
电商商品与商业广告海报动态展示将单张商品静物照或商业平面海报转化为具备动态光影与镜头环绕的动态宣传短片,提升转化效果。
摄影与艺术作品镜头重现让风光摄影、建筑抓拍或纪实照片中的水流、云层与光斑动起来,打造身临其境的漫游镜头。
概念美术与插画视效探索将概念艺术线稿或游戏场景插画快速转化为 5–10 秒动态样片,辅助主创团队评估动态氛围与镜头感。
创作技巧
- 提示词聚焦动态演进而非重复外貌:模型会自动继承参考图的外观特征,提示词应重点描写运动方向、速度与摄影机运动。
- 确保参考图片主体明确且光影干净:使用高分辨率、五官清晰且背景层次分明的原图,有助于获得更连贯的主体一致性。
- 先以 720p 快速检验动作合理性:在构思初期建议先用 720p 5 秒规格检验动作轨迹,确认符合预期后再切换至 1080p 输出。
- 明确具体的摄影机运镜指令:使用“缓慢推近”、“侧向平移跟踪”或“环绕微移”等具体指令,避免模棱两可的模糊描述。
- 利用 10 秒时长展现多阶段动作:对于转身后停顿或连续手部操作等复合动作,选择 10 秒时长可呈现更从容的节奏韵律。
注意事项
- 单张图片输入规范:本端点严格要求在 image_urls 数组中传入恰好一张公开可访问的 HTTP(S) 图片 URL,体验区单图最大 10 MiB。
- 分辨率与时长参数约束:仅支持 720p(默认)与 1080p 分辨率,时长仅支持 5 秒(默认)与 10 秒整数,超出范围将被拦截。
- 任务异步生命周期与计费保障:提交任务后返回 task_id 进行异步状态轮询;若任务因任何原因失败,系统自动全额退还扣除积分。
相关模型
Seedance 1.0 Pro Image to Video API 常见问题
Seedance 1.0 Pro Image to Video API 是什么?
Seedance 1.0 Pro Image to Video 是字节跳动研发的图像生成视频模型。它根据单张静态参考图像与自然语言提示词生成 720p 与 1080p 分辨率的高保真视频,支持 5 秒与 10 秒输出时长、逼真物理规律运动模拟与细腻的镜头运镜控制。基于字节跳动先进的视频生成架构,它在严格保持输入图片主体面貌、服装质感与环境构图的同时,赋予画面平滑自然的时间连续性与动态交互。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Seedance 1.0 Pro Image to Video 支持上传几张参考图片?
本端点的 image_urls 数组必须且仅能包含 1 张起始参考图片。系统会以该图片作为画面的视觉起点与主体基准,结合提示词进行动态延展。
Seedance 1.0 Pro Image to Video 如何保持原图的主体一致性?
模型会深度提取参考图的人物面部轮廓、发色服饰与环境光照特征并在时间轴上持续锁定。建议在提示词中集中描述动作姿势与运镜变化,避免给出与原图相悖的外貌特征描述。
Seedance 1.0 Pro Image to Video 支持生成 10 秒视频吗?
支持。模型提供 5 秒与 10 秒两种整秒时长选项(默认时长为 5 秒)。选择 10 秒能够在保持主体稳定的前提下,展现更充裕的动作发展过程与缓和的运镜节奏。
Seedance 1.0 Pro Image to Video 支持哪些输出分辨率?
该端点支持 720p 与 1080p 两种输出分辨率。省略该参数时默认采用 720p;若需要输出高清晰度成片用于专业后期制作,可将 resolution 设为 1080p。
Seedance 1.0 Pro Image to Video 如何计费?
该端点按视频分辨率与输出时长按次计费(1 积分 = $0.005)。720p 规格下,5 秒为 21 积分($0.105),10 秒为 42 积分($0.210);1080p 规格下,5 秒为 43 积分($0.215),10 秒为 86 积分($0.430)。任务失败自动全额退还已扣积分。
Seedance 1.0 Pro Image to Video 支持提示词运镜控制吗?
支持。你可以在提示词中直接使用专业的运镜指令(如“平视缓慢推近”、“低角度平移仰拍”或“围绕人物环绕运镜”),模型会准确理解镜头运动并在保持主体稳定的前提下驱动视角变化。















