OpenAI / 302.ai compatible
Sora2 创建视频任务(异步请求)
本接口用于创建视频生成任务。调用成功后立即返回任务 ID,客户端需要再调用“查询任务结果”接口轮询状态,直到 status 变为 completed,视频地址在 outputs[0]。
请求参数
Header 参数
接口鉴权,格式固定为 Bearer YOUR_API_KEY。
调用来源或渠道标识。建议固定传小程序渠道名,具体客户/订单信息放到 Body 的 customer_info。
Body 参数
application/json视频模型。当前建议固定传 sora-2。
视频方向。竖屏适合小程序/短视频,横屏适合展示页。
视频长度。测试阶段建议先用 10 秒,成本和等待时间更可控。
生成视频的提示词。建议写清产品、镜头、风格、画面要求和禁忌。
输出视频分辨率。竖屏默认 720x1280。
产品参考图 URL,1-9 张都可以。客户随手拍即可,Deep-V 中转站会在后台自动筛选和记录淘汰原因。
客户信息预留字段。小程序能提供什么就传什么,例如用户 ID、订单号、昵称、手机号尾号、会员等级。字段名后续可以双方约定,Deep-V 中转站会原样保存并支持后台搜索。
客户录音 URL,选填。后续用于声音参考或声音克隆。
客户本人照片 URL,选填。后续用于人物/口播参考。
回调地址,选填。第一版可不传,先用轮询查询结果。
{
"model": "sora-2",
"orientation": "portrait",
"duration": 10,
"size": "720x1280",
"prompt": "多镜头展示这盆鲜花,保持花束颜色、形状和包装一致,画面干净高级。",
"product_images": [
"https://your-domain.com/uploads/20260429/flower-1.png",
"https://your-domain.com/uploads/20260429/flower-2.png"
],
"customer_info": {
"user_id": "wx_user_10001",
"order_id": "order_20260430_001",
"nickname": "花店客户A",
"phone_tail": "1234"
},
"voice_audio_url": "https://your-domain.com/uploads/20260429/customer-voice.mp3",
"person_image_url": "https://your-domain.com/uploads/20260429/person.png"
}
请求示例代码
curl --request POST "https://你的域名/sora/v2/video" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "X-DeepV-Client: wechat-miniapp" \
--header "Content-Type: application/json" \
--data-raw '{
"model": "sora-2",
"orientation": "portrait",
"duration": 10,
"size": "720x1280",
"prompt": "多镜头展示这盆鲜花,保持花束颜色、形状和包装一致,画面干净高级。",
"product_images": ["https://your-domain.com/uploads/flower-1.png"],
"customer_info": {"user_id": "wx_user_10001", "order_id": "order_20260430_001"}
}'
const response = await fetch("https://你的域名/sora/v2/video", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"X-DeepV-Client": "wechat-miniapp",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "sora-2",
orientation: "portrait",
duration: 10,
size: "720x1280",
prompt: "多镜头展示这盆鲜花,保持花束颜色、形状和包装一致,画面干净高级。",
product_images: ["https://your-domain.com/uploads/flower-1.png"],
customer_info: {user_id: "wx_user_10001", order_id: "order_20260430_001"}
})
});
const result = await response.json();
import requests
response = requests.post(
"https://你的域名/sora/v2/video",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"X-DeepV-Client": "wechat-miniapp",
"Content-Type": "application/json",
},
json={
"model": "sora-2",
"orientation": "portrait",
"duration": 10,
"size": "720x1280",
"prompt": "多镜头展示这盆鲜花,保持花束颜色、形状和包装一致,画面干净高级。",
"product_images": ["https://your-domain.com/uploads/flower-1.png"],
"customer_info": {"user_id": "wx_user_10001", "order_id": "order_20260430_001"},
},
)
print(response.json())
$payload = [
"model" => "sora-2",
"orientation" => "portrait",
"duration" => 10,
"size" => "720x1280",
"prompt" => "多镜头展示这盆鲜花,保持花束颜色、形状和包装一致,画面干净高级。",
"product_images" => ["https://your-domain.com/uploads/flower-1.png"],
"customer_info" => ["user_id" => "wx_user_10001", "order_id" => "order_20260430_001"],
];
$ch = curl_init("https://你的域名/sora/v2/video");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"X-DeepV-Client: wechat-miniapp",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);
echo curl_exec($ch);
返回示例
业务状态码,成功为 200。
视频任务 ID,查询结果时使用。
任务状态:processing / completed / failed。
完成后视频地址在 outputs[0]。
{
"code": 200,
"data": {
"id": "video_20260429_eab114b120",
"model": "sora-2",
"status": "processing",
"progress": 3,
"outputs": [],
"error": null
},
"message": "success"
}
Sora2 查询任务结果
完成后返回
{
"code": 200,
"data": {
"id": "video_20260429_eab114b120",
"status": "completed",
"progress": 100,
"outputs": [
"https://your-comfyui-domain/view?filename=DeepV_API_video.mp4&type=output"
],
"error": null
},
"message": "success"
}
上传素材
小程序如果上传的是本地图片、录音或本人照片,先调用这个接口,把文件传到中转站,接口会返回一个 URL。再把这个 URL 放入创建任务接口。
FormData 参数
要上传的图片或音频文件。
素材类型,建议值:product_image / voice_audio / person_image。
开发公司对接清单
2. 本地文件先调用
POST /uploads 得到 URL。3. 再调用
POST /sora/v2/video 创建任务。4. 保存返回的
data.id。5. 每 3-10 秒调用
GET /sora/v2/video/{task_id} 查询,直到 completed。6. 取
outputs[0] 作为最终视频地址。7. 不需要对接筛图、淘汰原因、视觉模型、ComfyUI 节点和成本统计;这些全部由 Deep-V 中转站内部处理。后续小程序如果新增客户字段,只要把字段名和含义告诉 Deep-V,中转站再接收保存即可。