YeeHooDevelopers
开发者文档

创建任务

统一提交图片或视频生成任务;服务端会根据 model 自动识别任务类型并返回 task_id。

这是对外生成能力最核心的创建接口。

创建的任务、扣费和生成结果均归属于 API Key 对应的团队工作空间,不能通过请求头切换归属。

你不需要分别记图片接口和视频接口。当前推荐直接调用:

POST /v1/generations

服务端会根据你传入的 model 自动判断这是图片任务还是视频任务。

接口概览

说明
路由POST /v1/generations
鉴权Authorization: Bearer sk_yeehoo_xxx
幂等建议传 Idempotency-Key,避免重复下单
请求体application/json
返回201 Created + 任务对象
结果获取轮询 GET /v1/tasks/{task_id} 或等待 webhook

接入提醒

不要把这个接口当成同步返回图片或视频结果的接口。创建成功代表服务端已提交生成,最终内容仍要看任务终态。

Authorizations

所有对外生成接口都使用 API Key Bearer 鉴权。

Authorization: Bearer sk_yeehoo_your_api_key
Content-Type: application/json
Idempotency-Key: gen-demo-001

Header 说明

Header必填说明
Authorization固定格式 Bearer sk_yeehoo_xxx
Content-Type固定为 application/json
Idempotency-Key强烈建议同一次业务提交保持同一个值,防止网络重试导致重复创建任务

Body

先看最常用、最该传的字段。

通用必填字段

字段类型必填示例说明
modelstringgpt-image-2指定具体模型。服务端根据模型判断是图片任务还是视频任务
promptstringA cinematic fashion poster...生成指令,建议直接写清主体、风格、构图、光线、镜头感

图片任务常用字段

适用于当前公开图片模型。具体字段与枚举以 GET /v1/models 返回的 schema.fields 为准。

字段类型必填默认值示例说明
reference_imagesstring[]-["https://.../ref1.png"]参考图 URL 列表。可先调用上传参考图获取平台托管 URL
aspect_ratiostringauto1:1输出宽高比
resolutionstring模型相关1K输出分辨率
ninteger12本次任务希望生成的图片数量
qualitystring模型相关low仅在 schema.fields 声明时传入;当前 gpt-image-2-official 支持 lowmediumhigh,普通版不支持

视频任务常用字段

适用于当前公开视频模型。具体字段必须以 GET /v1/models 返回的模型 schema 为准。

字段类型必填默认值示例说明
reference_imagesstring[]-["https://.../ref.png"]参考图片 URL,Seedance 2 系列最多 9 张
reference_videosstring[]-["https://.../ref.mp4"]参考视频 URL,最多 3 个;传入后可能产生输入视频计费
input_video_durationnumber输出时长8实际处理的输入视频秒数;传参考视频时建议准确提供
reference_audiosstring[]-["https://.../ref.mp3"]参考音频 URL,最多 3 个
generate_audiobooleantruetrue是否生成音频
audiobooleanfalsefalseKling 模型的生成音频开关;仅 schema 声明时传入
modestring模型相关proKling 生成档位,常见值为 stdpro4k
first_frame_image_urlstring-https://.../first.png首帧图片 URL;仅模型 schema 声明时传入
last_frame_image_urlstring-https://.../last.png尾帧图片 URL;仅模型 schema 声明时传入
aspect_ratiostring模型默认16:9视频宽高比
resolutionstring模型默认720p视频清晰度,具体枚举取决于模型
durationinteger模型默认5视频时长,单位通常为秒

参数由模型 schema 决定。GET /v1/models 的每个模型对象都包含 schema.fields,其中有类型、必填、默认值、枚举 options 和部分数量限制。不要把某个模型的参数照搬到其他模型。

Kling V3 Omni 和 Kling Video O1 的参考视频使用 reference_videosinput_video_duration。Kling V3 Omni 包含参考视频时必须设置 audio=false;Kling Video O1 不支持音频字段。Gemini Omni Flash 当前只开放 duration=10

外部参考视频和音频 URL

当前公开上传接口只支持图片。reference_videosreference_audios 需要使用你方托管的 HTTPS URL:服务端无需 Cookie 或自定义 Header 即可下载,URL 在任务完成前持续有效,响应 Content-Type 与真实文件一致。建议使用至少数小时有效的签名 URL;不要传本地路径、blob: URL 或仅浏览器登录后可访问的地址。具体格式、大小和时长限制以模型 schema.fields 及上游校验结果为准。

Response

创建成功后返回提交回执。它不是完整任务对象;请使用 task_id 调用 GET /v1/tasks/{task_id} 获取状态、模型、结果和错误。

创建成功响应示例

{
  "created": 1784779200,
  "task_id": "task_01jxyz...",
  "object": "generation.task",
  "progress": 0,
  "billing_transaction_id": "bt_01jxyz..."
}

响应字段说明

字段类型说明
task_idstring后续轮询和 webhook 对账的核心 ID
createdinteger创建时间 Unix 时间戳
objectstring固定为 generation.task
progressinteger提交响应时的进度
billing_transaction_idstring计费交易 ID,仅用于对账;查询任务仍使用 task_id
dataarray极少数已同步完成的情况可能存在;异步任务通常不返回,结果以任务查询为准

成功后的下一步

  1. 记录 task_id
  2. 调用 GET /v1/tasks/{task_id} 轮询任务状态
  3. 或者提前给 API Key 配置 webhook,等待 task.succeeded / task.failed / task.canceled

轮询和回调怎么选

场景建议
本地联调先只接轮询,排查最直观
正式生产轮询保底,webhook 做异步通知
要求强一致收到 webhook 后仍建议按 task_id 再查一次任务详情