One continuous cinematic five-second shot inside a Nordic night sleeper-train compartment. An adult Nordic woman with fair skin and a charcoal wool sweater sits in three-quarter profile at the window, her hands resting on her lap. Outside, a blizzard and dark conifer trunks stream past. Begin as a medium shot of her quiet face and the window, then slowly push in until the glass fills the frame. Warm amber cabin lamps and cold blue snowlight must stay physically consistent on the glass as layered reflections. Keep her anatomy, sweater knit, and seat geometry stable. No cuts, no other passengers, no readable text, no logos, no brands, no advertising, no watermark.
Seedance 1.0 Pro Text to Video API
bytedance/seedance/v1/pro/text-to-videoSeedance 1.0 Pro Text to Video 将纯文本提示词转化为高保真连续动态视频,支持 720p 与 1080p 分辨率、5 秒与 10 秒输出时长以及写实物理规律模拟。它能够深度遵循长达 10,000 字符的详尽分镜描述,同时在镜头平移与推进中稳定保持主体面貌和场景光影连贯性。
示例
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/text-to-video",
"input": {
"prompt": "One continuous cinematic five-second shot inside a Nordic night sleeper-train compartment. An adult Nordic woman with fair skin and a charcoal wool sweater sits in three-quarter profile at the window, her hands resting on her lap. Outside, a blizzard and dark conifer trunks stream past. Begin as a medium shot of her quiet face and the window, then slowly push in until the glass fills the frame. Warm amber cabin lamps and cold blue snowlight must stay physically consistent on the glass as layered reflections. Keep her anatomy, sweater knit, and seat geometry stable. No cuts, no other passengers, no readable text, no logos, no brands, no advertising, no watermark.",
"resolution": "720p",
"duration": 5
}
}
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": "ZWY8D7HA9YAXUSPM",
"status": "running",
"created_time": "2026-09-22T19:06:20"
}
}{
"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/text-to-video",
"input": {
"prompt": "One continuous cinematic five-second shot inside a Nordic night sleeper-train compartment. An adult Nordic woman with fair skin and a charcoal wool sweater sits in three-quarter profile at the window, her hands resting on her lap. Outside, a blizzard and dark conifer trunks stream past. Begin as a medium shot of her quiet face and the window, then slowly push in until the glass fills the frame. Warm amber cabin lamps and cold blue snowlight must stay physically consistent on the glass as layered reflections. Keep her anatomy, sweater knit, and seat geometry stable. No cuts, no other passengers, no readable text, no logos, no brands, no advertising, no watermark.",
"resolution": "720p",
"duration": 5
}
}
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 字符;不接受非字符串或空提示词。 |
| 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/text-to-video | 请求根级 model 字段。 |
| 分辨率 | 720p / 1080p | 仅支持字符串 720p 或 1080p;仅省略时默认 720p,不接受别名、大小写变体、首尾空白、null 或空字符串。 |
| 时长 | 5 / 10s | 仅支持数值整数 5 或 10 秒;仅省略时默认 5 秒,不接受字符串、布尔值、null 或非整数。数值 5.0 等同于 5。 |
相关模型
Seedance 1.0 Pro Text to Video API 常见问题
Seedance 1.0 Pro Text to Video API 是什么?
Seedance 1.0 Pro Text to Video 是字节跳动研发的纯文本生成视频模型。它根据自然语言提示词直接生成 720p 与 1080p 分辨率的高保真视频,支持 5 秒与 10 秒输出时长、写实物理规律运动模拟与细腻的镜头运镜控制。基于字节跳动先进的视频生成架构,它在严格遵循提示词时序动作与场景空间描述的同时,稳定保持环境光影质感与画面的时间连续性。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Seedance 1.0 Pro Text to Video 支持生成 10 秒长视频吗?
支持。模型提供 5 秒与 10 秒两种整秒时长选项(默认时长为 5 秒)。选择 10 秒时长能够在单次生成中容纳更充裕的情节推进、多阶段主体动作以及平稳的镜头景别转换。
Seedance 1.0 Pro Text to Video 支持哪些分辨率规格?
该端点支持 720p 与 1080p 两种输出分辨率。省略该参数时默认采用 720p;若追求更高清晰度的大屏展示或专业影视素材,可将 resolution 设为 1080p。
Seedance 1.0 Pro Text to Video 提示词支持多长字符?
提示词在校验前会去除首尾多余空白,有效字符长度支持 1 到 10,000 个 Unicode 字符。你可以充分利用该容量详尽描述角色外貌、时序动作流、光影环境与多阶段运镜指令。
Seedance 1.0 Pro Text 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 Text to Video 支持通过文本控制摄影机运镜吗?
支持。你可以在提示词中直接使用专业的摄影运镜词汇(例如“镜头缓慢推近”、“平移跟随主体”、“低角度仰拍”或“俯瞰全景推进”),模型会准确识别运镜意图并与主体的动作演进保持同步。
生成人物动作时如何保持场景连贯性?
建议在提示词开头先建立稳定的环境空间与主体核心特征,再按时间先后顺序描述主体的动作流与镜头轨迹,避免在同一提示词内出现互相冲突的场景切换或相悖的动态指令。















