Sora 2 Pro Text to Video API
openai/sora-2-pro/text-to-videoSora 2 Pro(Text to Video)将文本提示词转化为最高 1080p 全高清电影质感视频,支持 4 至 20 秒固定时长、多分辨率切换与原生高动态立体声音轨。它能够在呈现细腻微表情与复杂三维光影的同时,保持极高的大幅运镜稳定性与时空物理连贯性。
openai/sora-2-pro/text-to-video
请选择其他模型继续创作

Seedance 2.5
ByteDance Seed's Seedance 2.5 video model with separate text-to-video, start/end-frame image-to-video, and multimodal reference-to-video API workflows at 480p, 720p, or 1080p for 4 to 30 seconds.
起价
$0.140
每输出秒

MiniMax H3
MiniMax H3 on Vidgo API with separate text-to-video, start/end-frame image-to-video, and multimodal reference-to-video workflows at fixed 2K output.
起价
$0.105
每秒

Seedance 2.0
ByteDance Seedance 2.0 Standard and Fast video generation with text, ordered start/end frames, or multimodal image, video, and audio references.
起价
$0.100
每输出秒

Hailuo 2.3
MiniMax's Hailuo 2.3 video model for realistic human motion, expressive characters, and text-to-video or first-frame guided generation at 768p and 1080p.
起价
$0.175
每个视频

Kling 3.0
Kuaishou's most advanced video model with native 4K/60fps output, multi-shot storyboarding, multilingual audio, and character consistency for up to 3 people.
起价
$0.135
每秒
已下线:此模型不再接受生成请求,以下 API 资料仅供历史参考。
REST API
快速开始
配置 API Key,提交旗舰 1080p 文生视频请求,轮询获取带原生音频的成片。
第一步:配置 API 鉴权
在请求头中携带 Authorization: Bearer <VIDGO_API_KEY> 完成身份验证。
- 任务提交端点
- POST
https://api.vidgo.ai/api/generate/submit - 鉴权请求头
- Authorization: Bearer VIDGO_API_KEY
第二步:提交文生视频任务
向 /api/generate/submit 发起 POST 请求,指定 model 为 openai/sora-2-pro/text-to-video 并传入 input 参数。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "openai/sora-2-pro/text-to-video",
"input": {
"prompt": "Cinematic 1080p tracking shot: a vintage sports car speeds along an Amalfi coast highway at golden hour, waves crashing against coastal rocks below, sunlight glinting off metallic paint, dramatic lens flare, 35mm film grain, volumetric atmosphere. Audio: deep engine rumble, coastal wind gusts, rhythmic ocean surge.",
"duration": 4,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
}
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": "task-sora2-pro-t2v-109283",
"status": "running",
"created_time": "2026-09-17T10:00:00Z"
}
}{
"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": "openai/sora-2-pro/text-to-video",
"input": {
"prompt": "Cinematic 1080p tracking shot: a vintage sports car speeds along an Amalfi coast highway at golden hour, waves crashing against coastal rocks below, sunlight glinting off metallic paint, dramatic lens flare, 35mm film grain, volumetric atmosphere. Audio: deep engine rumble, coastal wind gusts, rhythmic ocean surge.",
"duration": 4,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
}
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请求参数
向 /api/generate/submit 提交时需传递的 input 参数配置:
| 字段 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| prompt | string | 必填 | — | 生成提示词,去除首尾空格后至少包含 1 个字符。 |
| duration | integer | 可选 | 4 | 视频时长(秒),支持 4, 8, 12, 16, 20。 |
| aspect_ratio | string | 可选 | 16:9 | 画幅比例,支持 16:9 或 9:16。 |
| resolution | string | 可选 | 1024p | 输出分辨率,支持 720p, 1024p, 1080p。 |
响应字段
提交任务成功后返回的数据结构,以及状态查询接口响应:
| 字段 | 类型 | 描述 |
|---|---|---|
| code | integer | 业务状态码,200 表示成功。 |
| message | string | 业务返回消息或异常描述。 |
| data.task_id | string | 全局唯一的异步任务标识流水号。 |
| data.status | string | 当前状态:not_started(排队中)、running(生成中)、finished(已完成)、failed(失败)。 |
| data.created_time | string | 任务创建时间(ISO 8601 格式)。 |
| data.files[] | array | 任务成功生成的文件列表。 |
| data.files[].file_url | string | 成片 MP4 文件的下载播放链接。 |
| data.error_message | string | null | 任务失败时的详细错误说明。 |
任务状态流转
轮询过程中,依据 data.status 判断任务执行阶段:
not_started任务已被系统受理入队,正等待旗舰算力节点分配。
running正在执行 1080p 扩散去噪与高动态音轨合成,持续轮询此状态。
finished生成成功,从 data.files[0].file_url 读取成片链接,终止轮询。
failed任务执行异常终止,读取 data.error_message 查看原因并终止轮询。
轮询与重试建议
- 身份认证请求头必须携带 Bearer API Key,若收到 401 请检查密钥有效性。
- 参数校验核对 resolution 是否属于 720p/1024p/1080p,以及 duration 取值范围。
- 轮询频次1080p 全高清渲染算力消耗较大,建议以 2–3 秒间隔轮询,平稳跟踪进度。
- Webhook 回调支持在提交请求顶层配置 callback_url,成片完成后系统将主动推送任务结果。
端点规格
| 规格项 | 取值 | 说明 |
|---|---|---|
| 输入方式 | 纯文本 | 通过 prompt 描述场景、主体动作、摄影机运动与声音氛围。 |
| 输出形式 | MP4 视频(含原生音频) | 异步执行渲染,任务完成后提供成片链接。 |
| 可选时长 | 4 / 8 / 12 / 16 / 20 秒 | 默认预设为 4 秒。 |
| 画幅比例 | 16:9 / 9:16 | 默认预设为 16:9。 |
| 原生分辨率 | 720p / 1024p / 1080p | 默认预设为 1024p,最高支持 1080p 全高清。 |
| 计费基准 | 按分辨率每秒费率 × 时长 | 720p: 48 积分/秒;1024p: 80 积分/秒;1080p: 112 积分/秒。 |
关联模型端点
Sora 2 Pro Text to Video API — 常见问题
Sora 2 Pro Text to Video API 是什么?
Sora 2 Pro Text to Video 是 OpenAI 研发用于文本生成视频的旗舰模型。它根据文本提示词直接生成最高 1080p 全高清分辨率、包含原生高动态立体声音频的电影质感视频,支持专业级运镜控制与多画幅构图。基于 OpenAI 最强多模态架构,它在严格遵循真实物理规律与时空连续性的同时,提供细腻的光影漫反射与材质肌理表现。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Sora 2 Pro 文生视频支持哪些分辨率?
Sora 2 Pro 文生视频端点支持 720p、1024p 和 1080p 三档分辨率(体验区默认预设为 1024p)。1080p 模式专为大屏商业广告与院线级视觉物料打造,呈现极致锐利的人物面部毛孔、织物纤维与复杂光影变化。
Sora 2 Pro 文生视频与标准版有什么区别?
Sora 2 Pro 旗舰版相比 Sora 2 Standard 标准版,最大核心升级在于支持 1080p 全高清渲染,并在复杂光学运镜、三维动态一致性、面部微表情传神度以及立体声混响效果上具备显著的画质与质感优势,专为高端商用场景设计。
Sora 2 Pro 文生视频单次最长支持多少秒?
单次调用支持生成最长 20 秒视频,提供 4、8、12、16 与 20 秒五档精确时长选择(体验区默认预设为 4 秒)。即使在 20 秒的长镜头中,模型依然能稳定保持空间透视关系与物理动量连续性。
Sora 2 Pro 文生视频支持生成原生音效吗?
支持。模型在生成画面的同时随视频联合渲染原生音轨,可根据提示词精确合成环境背景声效、车辆声、气流呼啸或人物对白氛围,音轨具备高保真声场定位与动作同步特性。
如何引导 Sora 2 Pro 文生视频展现电影级光影?
建议在提示词中加入具体的光学与打光细节,例如“35mm 变形镜头光晕(anamorphic flare)”、“逆光轮廓光(backlit rim light)”或“阴天柔和漫射光”,Pro 旗舰版能高度敏感地还原这些专业灯光设定。
需要根据首帧图片生成 1080p 视频该选哪个端点?
推荐选择关联的 Sora 2 Pro Image to Video 旗舰图生视频端点。该端点不仅支持最高 1080p 输出,还支持 auto 智能画幅比例,以原图构图比例与主体质感为参考展开动态。















