OpenAI

创建视频

创建一个视频生成任务,返回任务对象。

POST /openai/v1/videos● 支持

OpenAI 官方文档 ↗

请求体

  • modelstring可选◐ 部分支持

    Video model id, for example `wan2.7-t2v`; list candidates with listModels?type=video. Router support (partial): Select a registered video model explicitly, for example wan2.7-t2v (size=1280x720, seconds=4). Capability preflight errors are reported before creation.

    请显式选择已注册的视频模型,例如 wan2.7-t2v(size=1280x720,seconds=4)。能力预检失败会在创建前报错。

  • promptstring必填

    Text description of the video, at least 1 character. Router support (supported): Controls video content; missing or empty values return 400.

    控制视频内容;缺失或空值返回 400。

  • secondsstring | integer可选

    同时提供时优先于 duration。

    已验证 wan2.7-t2v 的时长生效;不合法或超出模型能力的值在预检阶段返回 400。

  • durationinteger可选

    Length of the video in whole seconds. `seconds` takes precedence when both are given.

  • sizestring可选◐ 部分支持

    Output resolution as `WIDTHxHEIGHT`, for example `1280x720`. Router support (partial): Subject to model capability preflight. Earlier wan2.7-t2v samples always produced 1280x720; accepted sizes are not guaranteed pixel-for-pixel.

    受模型能力预检限制;早期 wan2.7-t2v 样本始终输出 1280x720,不保证所有接受的尺寸都会按像素兑现。

  • input_referencestring | object可选

    Reference image for image-to-video: a URL or base64 data URL, an object with `image_url`, or an uploaded image file (multipart, at most 20 MiB).

    ▸ 展开子字段(1)
    • image_urlstring | object必填

      URL or base64 data URL of the reference image, as a string or an object with `url`.

  • input_referencesarray可选

    Several reference images; each entry is a URL or base64 data URL, or an object with `image_url`.

    ▸ 展开子字段(1)
    • image_urlstring | object可选

      URL or base64 data URL of the reference image, as a string or an object with `url`.

  • frame_imagesarray可选

    Images that pin the first and last frame; at most 2 entries.

    ▸ 展开子字段(3)
    • typeany可选

      Always `image_url`. Discriminator of the `type`-tagged union this object belongs to.

    • frame_typeany必填

      Frame to constrain with the supplied image: first_frame or last_frame. Each frame type may occur at most once.

      取值 first_framelast_frame
    • image_urlobject必填

      The image to pin.

  • resolutionstring可选

    Output resolution label such as `720p`, for models that take a label instead of `size`.

  • aspect_ratiostring可选

    Aspect ratio of the video such as `16:9`.

  • ▸ 更多参数(4)
    • generate_audioboolean可选

      Whether the video carries a generated audio track. Router support (supported): false produces no audio track on wan2.7-t2v; the default output includes audio.

      wan2.7-t2v 的 false 输出无音轨,默认输出含音轨。

    • seedinteger可选

      Seed for reproducible generation, on models that support it.

    • callback_urlstring可选

      HTTP or HTTPS callback URL, forwarded to models that support completion callbacks.

    • qualitystring可选

      Provider-specific quality setting.

返回

200 video

异步生成视频:创建任务后轮询状态,完成后下载内容。按输出秒数计费,每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。请显式选择已注册的视频模型,例如 wan2.7-t2v。

错误按 OpenAI 格式返回,参见 错误码

响应

HTTP 200

Success

application/json

名称类型说明
idstringId of the video job; pass it as `video_id` to retrieve, download or delete it.
objectstringObject type; always `video`.
modelstringModel that generates the video.
statusstringLifecycle of the job. Poll until it is `completed` or `failed`.
progressintegerProgress from 0 to 100. It is 0 until the job completes and 100 once it has.
created_atintegerUnix time in seconds at which the job was created.
completed_atinteger | nullUnix time in seconds at which the job completed; null until then.
expires_atinteger | nullUnix time in seconds after which the output expires; null because outputs currently have no expiry.
secondsstringLength of the video in seconds, as a string; for a completed job it is the delivered length.
sizestringResolution of the video as `WIDTHxHEIGHT`; null when the provider did not report one.
promptstring | nullPrompt the job was created with.
remixed_from_video_idnullAlways null; remix is not supported.
errorobject | nullWhy the job failed; null unless status is `failed`.
error.codestringMachine-readable failure code.
error.messagestringHuman-readable failure message.
polling_urlstringRelative URL to poll for the job state; same as retrieveVideo for this job.
unsigned_urlsarray<string>Relative URLs of the finished output; empty until the video is ready. Download them with the same API key.
usageobjectCost of the job; present once a price applies.
usage.costnumberCost of the job in USD: delivered seconds times the per-second price once completed, 0 while running.