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.
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 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 支持提示词运镜控制吗?
支持。你可以在提示词中直接使用专业的运镜指令(如“平视缓慢推近”、“低角度平移仰拍”或“围绕人物环绕运镜”),模型会准确理解镜头运动并在保持主体稳定的前提下驱动视角变化。















