一、核心逻辑
图生视频必填参考图资源,二选一传参:
input_reference:上传本地图片文件(multipart 文件字段)reference_url:传入公网可直接访问的图片 URL 地址
二、curl 完整请求示例(推荐,直接可运行)
方式 1:本地图片文件上传(input_reference)
bash
运行
curl --location --request POST 'https://xxx.com/v1/videos' \
--header 'Authorization: Bearer 你的API密钥' \
--form 'prompt="一只猫咪在草坪缓慢走动,画面流畅自然"' \
--form 'input_reference=@/本地文件路径/test.jpg' \
--form 'model="sora-2"' \
--form 'seconds=4' \
--form 'size="1280x720"' \
--form 'fps=24' \
--form 'num_inference_steps=25' \
--form 'guidance_scale=7.5' \
--form 'enable_frame_interpolation=true' \
--form 'n=1'
方式 2:网络图片 URL(reference_url,无需传文件)
bash
运行
curl --location --request POST 'https://xxx.com/v1/videos' \
--header 'Authorization: Bearer 你的API密钥' \
--form 'prompt="画面镜头缓缓拉近,画面物体轻微动态"' \
--form 'reference_url="https://xxx.com/input_img.jpg"' \
--form 'model="sora-2"' \
--form 'seconds=5' \
--form 'size="720x1280"' \
--form 'fps=30' \
--form 'negative_prompt="画面闪烁、扭曲、水印、模糊、畸形"' \
--form 'seed=6688'
三、Postman 配置步骤
- 请求方式:POST
- 请求地址:
/v1/videos - Header 添加鉴权:
Authorization: Bearer xxx - Body 选择
form-data:
表格
| key | value | 类型 |
|---|---|---|
| prompt | 视频画面描述文案 | text |
| reference_url | 公网图片链接 | text |
| input_reference | 选择本地图片文件 | file |
| model | sora-2 | text |
| seconds | 视频时长(秒) | text |
| size | 分辨率如 1080x1920 |
text |
| fps | 帧率 24/30 | text |
注意:
input_reference和reference_url不能同时大量混用,二选一即可;纯文生视频只填 prompt,不传这两个参数。
四、接口返回成功 200 示例(提交任务)
json
{
"id": "video_task_892761",
"object": "video",
"model": "sora-2",
"status": "queued",
"progress": 0,
"created_at": 1783701245,
"size": "1280x720",
"seconds": "4",
"quality": "standard",
"url": "",
"remixed_from_video_id": null,
"completed_at": 0,
"expires_at": 0,
"error": null,
"file_path": "",
"file_paths": [],
"num_outputs": 1,
"peak_memory_mb": 0,
"inference_time_s": 0
}
五、常用关键参数说明
表格
| 参数 | 作用 |
|---|---|
| prompt | 基于参考图的画面动态描述,控制画面运动逻辑 |
| reference_url | 在线图片地址,图生视频首选 |
| input_reference | 二进制上传本地图片 |
| negative_prompt | 负面提示词,规避崩坏、模糊、残影 |
| seconds | 视频总时长 |
| size | 分辨率 宽 x 高 |
| enable_frame_interpolation | 开启插帧,画面更丝滑 |
| seed | 固定种子可复现同款视频效果 |
六、Python requests 代码示例
python
运行
import requests
url = "https://xxx.com/v1/videos"
headers = {
"Authorization": "Bearer 你的token"
}
# 方式1:传图片URL
data = {
"prompt": "海浪轻轻拍打岸边,画面自然动态",
"reference_url": "https://xxx/xx.jpg",
"model": "sora-2",
"seconds": 4,
"size": "1280x720"
}
resp = requests.post(url, headers=headers, data=data)
print(resp.json())
# 方式2:上传本地图片文件
files = {
"input_reference": open("local.jpg", "rb")
}
data2 = {
"prompt": "人物轻微转头,环境缓慢动态",
"model": "sora-2"
}
res = requests.post(url, headers=headers, data=data2, files=files)
print(res.json())
正文完
可以使用微信扫码关注公众号(ID:xzluomor)