第 13 章 / 共 21 章约 2 分钟

13. 异步任务(视频 / Midjourney)#

视频生成、Midjourney 绘图等耗时任务采用异步模式:先提交任务,立即拿到任务 id,再轮询查询结果。

13.1 提交视频任务#

POST /v1/video/create(别名 POST /v1/videos)

参数类型必填说明
modelstring是视频模型名(如 sora / veo / wan / doubao 系列)
promptstring否文本描述(与 content 二选一,不能同时传)
contentarray否多模态内容数组。文本元素写 {"type":"text","text":"…"};引用元素写 {"type":"image_url","image_url":{"url":"…"}}(video_url、audio_url 同理,字段名与 type 保持一致);引用可带 role(reference_image、reference_video、reference_audio,如音频驱动传参考音频),URL 支持 http(s)、asset:、data:
inputobject否Sora 风格的嵌套输入
parametersobject否Wan 风格参数块(顶层同名字段优先于 parameters 内的值)
imagesarray否参考图 URL 列表(图生视频,须为 http/https URL)
aspect_ratio / ratiostring否画面比例,如 16:9(两者等价,ratio 优先)
resolutionstring否分辨率,如 720p / 1080p
durationinteger否视频时长(秒),1–15;Seedance 系列要求 4–15
generate_audioboolean否是否生成带音频的视频。仅对支持音频输出的模型生效(如 Veo 3、Seedance 音频版);模型不支持时由上游报错。不传时按通道默认处理
watermarkboolean否是否添加水印
seedinteger否随机种子(0–4294967295),用于结果复现
return_last_frameboolean否是否在结果中返回视频末帧
enhance_promptboolean否是否让上游增强提示词
enable_upsampleboolean否是否启用超采样
execution_expires_afterinteger否任务保留时长(秒),1–172800,超时后任务过期
Shell
# 基础文生视频
curl http://183.240.79.21:52099/v1/video/create \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "一只在草地上奔跑的柯基犬,阳光明媚",
    "aspect_ratio": "16:9"
  }'

# 生成带音频的视频(对支持音频的模型传 generate_audio: true)
curl http://183.240.79.21:52099/v1/video/create \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3",
    "prompt": "海浪拍打礁石,伴随海鸥鸣叫",
    "resolution": "1080p",
    "generate_audio": true
  }'

提交成功后会返回任务 id,用它去轮询任务状态(见 13.3)。generate_audio 会透传给上游:目标模型不支持音频时由上游在任务内报错,可在 13.3 查询结果的 error 字段看到原因。

13.2 提交 Midjourney 任务#

接口说明
POST /v1/mj/submit/imagine文生图
POST /v1/mj/submit/blend多图混合
POST /v1/mj/submit/action对已有任务做放大 / 变体等操作
cURL
curl http://183.240.79.21:52099/v1/mj/submit/imagine \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "midjourney",
    "prompt": "a cute corgi astronaut, digital art --ar 16:9"
  }'

13.3 查询任务状态#

GET /v1/tasks/{id} — 用提交时返回的 id 查询。任务归属校验:查询他人的任务返回 404(防枚举)。加 ?fresh=true 会触发一次上游实时轮询。

cURL
curl http://183.240.79.21:52099/v1/tasks/0000019f-... \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"

13.4 任务列表#

GET /v1/tasks — 列出你自己的任务(按创建时间倒序)。

查询参数说明
task_type按类型过滤(如 video、mj)
status按状态过滤
offset偏移量,默认 0
limit每页数量,默认 50,最大 200
cURL
curl "http://183.240.79.21:52099/v1/tasks?task_type=video&limit=20" \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"

13.5 取消任务#

POST /v1/tasks/{id}/cancel — 取消一个进行中的任务,并解冻预冻结的额度。任务不存在或已处于终态时返回 404。

cURL
curl -X POST http://183.240.79.21:52099/v1/tasks/0000019f-.../cancel \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"