创建视频
视频生成
POST /v1/videos
视频生成是异步任务。创建后立即返回 queued,轮询状态,完成后读取 URL 或下载内容。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 视频模型 ID。 |
prompt | string | 文生视频必填 | 描述视频内容、动作、镜头和风格。 |
seconds / duration | string | number | 是 | 生成时长;duration 是兼容别名,必须是模型支持的时长。 |
size | string | 否 | WIDTHxHEIGHT;短边决定分辨率档位,同时决定比例。 |
aspect_ratio | string | 否 | 也可直接传比例,例如 16:9、9:16;size 优先映射。 |
resolution | string | 否 | 也可直接传 720p、1080p 等模型支持的档位。 |
reference_mode | string | 否 | asset=普通参考图;frame=首尾帧。字段本身也会触发自动识别。 |
reference_images | string[] | file[] | 否 | 普通参考图;JSON 用 URL、Data URI 或原始 Base64,multipart 可重复字段。 |
start_frame / end_frame | string | file | 否 | 首尾帧;end_frame 必须搭配 start_frame,且不能与普通参考图混用。 |
reference_videos | string[] | file[] | 否 | 参考视频;数量和格式以模型公开能力为准。 |
audio_reference(s) | string | string[] | file[] | 否 | 参考音频;必须搭配模型支持的普通图像或视频参考。 |
audio | boolean | 否 | 控制输出音轨;仅对支持该能力的模型生效。 |
response_format | string | 否 | 仅支持 url;完成态返回公开临时 URL 和 expires_at。 |
视频生成
POST /v1/videos · 创建 · 轮询 · 下载curl https://y.junlistudio.com/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "a paper boat sailing down a rainy street, cinematic",
"seconds": "4",
"size": "1120x480",
"response_format": "url"
}'
# 轮询状态,完成后读取 url
curl https://y.junlistudio.com/v1/videos/<VIDEO_ID> \
-H "Authorization: Bearer YOUR_API_KEY"
curl '<RETURNED_URL>' -o output.mp4import time
import requests
base = "https://y.junlistudio.com/v1"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
job = requests.post(f"{base}/videos", headers=headers, json={
"model": "seedance-2.5",
"prompt": "a paper boat sailing down a rainy street",
"seconds": "4",
"size": "1120x480",
"response_format": "url",
}).json()
while True:
status = requests.get(f"{base}/videos/{job['id']}", headers=headers).json()
if status["status"] in ("completed", "failed"):
break
time.sleep(5)
if status["status"] == "completed":
open("output.mp4", "wb").write(requests.get(status["url"]).content)