AI 大模型推理

  • AI 大模型推理 > API 文档 > 视频生成 (openai兼容)

    视频生成 (openai兼容)

    最近更新时间: 2025-11-04 14:33:13

    七牛云 AI 大模型推理 API 支持文生视频(Text-to-Video)功能,兼容 OpenAI Videos API 接口格式,支持 OpenAI Sora 2 模型,方便您集成到各种业务和应用场景中。

    Token API 接入点

    七牛云 AI 大模型推理 API 提供两个接入域名:

    支持接口列表

    接口名 说明
    /videos 文生视频创建接口,根据文本描述生成视频
    /videos/:id 查询视频生成状态接口,根据视频任务 ID 查询生成进度和结果

    支持的模型

    模型 ID 模型名称 说明 状态
    sora-2 OpenAI Sora 2 OpenAI 最新的视频生成模型,支持高质量文生视频(图生视频即将支持) ✅ 已上线
    kling-* 可灵系列 可灵系列视频生成模型 🚧 即将上线

    HTTP 调用示例

    基础文生视频

    使用上一步获取的七牛云 API KEY 调用文生视频接口:

    # 调用文生视频 API
    export OPENAI_BASE_URL="https://openai.qiniu.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "sora-2",
            "prompt": "一只可爱的橘猫在阳光明媚的花园里追逐蝴蝶,照片风格,高清画质"
        }'
    

    响应示例:

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "queued",
      "created_at": 1234567890,
      "updated_at": 1234567890
    }
    

    指定视频时长和分辨率

    # 生成指定时长和分辨率的视频
    export OPENAI_BASE_URL="https://openai.qiniu.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "sora-2",
            "prompt": "未来科技城市的天际线,霓虹灯光闪烁,赛博朋克风格,夜景",
            "seconds": "4",
            "size": "1280x720"
        }'
    

    查询视频生成状态

    # 查询视频任务状态
    export OPENAI_BASE_URL="https://openai.qiniu.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    export VIDEO_ID="qvideo-user123-1234567890123456789"
    
    curl "$OPENAI_BASE_URL/videos/$VIDEO_ID" \
        -H "Authorization: Bearer $OPENAI_API_KEY"
    

    响应示例 (处理中):

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "in_progress",
      "created_at": 1234567890,
      "updated_at": 1234567895
    }
    

    响应示例 (已完成):

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "completed",
      "created_at": 1234567890,
      "updated_at": 1234567920,
      "completed_at": 1234567920,
      "expires_at": 1234654320,
      "seconds": "4",
      "size": "1280x720",
      "task_result": {
        "videos": [
          {
            "id": "qvideo-user123-1234567890123456789-1",
            "url": "https://kodo.qiniu.com/videos/generated-video.mp4",
            "duration": "4"
          }
        ]
      }
    }
    

    请求参数说明

    创建视频接口 (POST /videos)

    Header 参数

    参数名 类型 必填 说明
    Authorization string API Key,格式:Bearer YOUR_API_KEY
    Content-Type string 请求内容类型,固定值:application/json

    Body 参数 (JSON)

    参数名 类型 必填 默认值 说明
    model string - 视频生成模型名称,固定值:sora-2
    prompt string - 视频生成的文本描述提示词,最大 2500 字符
    seconds string 4 视频时长(秒),可选值 4,8,12
    size string 720x1280 视频分辨率,格式:宽x高,可选值 1280x720720x1280

    参数详细说明

    model

    • 必填参数
    • 指定使用的视频生成模型
    • 当前仅支持:sora-2(OpenAI Sora 2)

    prompt

    • 必填参数
    • 视频生成的文本描述提示词
    • 字符数限制:不超过 2500 个字符
    • 建议:提示词越详细、具体,生成的视频质量越好
    • 建议包含:场景描述、动作、风格、光线、氛围等细节
    • 示例:"一只橘色的猫坐在窗台上,温暖的阳光洒在它身上,它慢慢转头看向镜头,电影风格,高清画质"

    seconds

    • 可选参数
    • 控制生成视频的时长(单位:秒)
    • 不同时长会影响生成成本和时间
    • 可选值 4,8,12

    size

    • 可选参数
    • 指定生成视频的分辨率,格式为 宽x高
    • 示例:
      • 横屏:1280x720
      • 竖屏:720x1280
    • 作用:主要用于判断横竖屏方向
      • 宽 > 高:横屏
      • 宽 < 高:竖屏

    查询视频状态接口 (GET /videos/:id)

    Path 参数

    参数名 类型 必填 说明
    id string 视频任务 ID,创建视频时返回的 id 字段

    Header 参数

    参数名 类型 必填 说明
    Authorization string API Key,格式:Bearer YOUR_API_KEY

    响应格式

    创建视频响应

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "queued",
      "created_at": 1234567890,
      "updated_at": 1234567890
    }
    

    查询状态响应

    处理中状态

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "in_progress",
      "created_at": 1234567890,
      "updated_at": 1234567895
    }
    

    成功完成状态

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "completed",
      "created_at": 1234567890,
      "updated_at": 1234567920,
      "completed_at": 1234567920,
      "expires_at": 1234654320,
      "seconds": "4",
      "size": "1280x720",
      "task_result": {
        "videos": [
          {
            "id": "qvideo-user123-1234567890123456789-1",
            "url": "https://kodo.qiniu.com/videos/generated-video.mp4",
            "duration": "4"
          }
        ]
      }
    }
    

    失败状态

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "sora-2",
      "status": "failed",
      "created_at": 1234567890,
      "updated_at": 1234567920,
      "error": {
          "code": "moderation_blocked",
          "message": "Your request was blocked by our moderation system."
      }
    }
    

    响应参数说明

    字段名 类型 说明
    id string 视频任务唯一 ID
    object string 对象类型,固定为 video
    model string 使用的模型名称
    status string 任务状态,见下方状态说明
    created_at integer 创建时间 (Unix 时间戳,秒)
    updated_at integer 更新时间 (Unix 时间戳,秒)
    completed_at integer 完成时间 (Unix 时间戳,秒),仅在已完成时返回
    seconds string 视频时长 (秒)
    size string 视频分辨率 (宽 x 高)
    task_result object 任务结果,包含生成的视频列表
    task_result.videos array 生成的视频列表
    task_result.videos[].id string 视频 ID,全局唯一
    task_result.videos[].url string 视频下载 URL(注意:生成的视频会在 7 天后过期,请及时转存)
    task_result.videos[].duration string 视频时长 (秒)
    error object 错误信息,仅在失败时返回
    error.code string 错误码
    error.message string 错误描述

    任务状态说明

    状态值 说明
    initializing 初始化中,任务已创建
    queued 排队中,等待处理
    in_progress 处理中,模型正在生成视频
    downloading 下载中,正在下载结果
    uploading 上传中,正在上传到七牛云存储
    completed 已完成,视频生成成功
    failed 失败,视频生成失败
    cancelled 已取消,用户主动取消

    如何使用返回的视频?

    响应中的 task_result.videos[].url 字段包含视频下载 URL,可通过以下方式使用:

    1. 在 HTML 中直接播放

    <video controls>
      <source src="https://kodo.qiniu.com/videos/generated-video.mp4" type="video/mp4">
      您的浏览器不支持视频播放。
    </video>
    

    2. 使用命令行工具下载视频

    # 使用 curl 下载视频
    curl -o generated-video.mp4 "https://kodo.qiniu.com/videos/generated-video.mp4"
    
    # 使用 wget 下载视频
    wget -O generated-video.mp4 "https://kodo.qiniu.com/videos/generated-video.mp4"
    

    常见问题

    Q: 如何将生成的视频保存到七牛云对象存储?

    A: 生成的视频已经自动保存在七牛云对象存储 (Kodo) 中,返回的 URL 即为 Kodo 存储地址,但有效期仅有 7 天。如需转存到您自己的存储空间,推荐使用七牛对象存储的【SDK 中心】进行操作。更多对象存储信息欢迎参考对象存储的【产品使用文档】。

    Q: 视频生成需要多长时间?

    A: 视频生成时间取决于视频时长和当前队列情况。通常情况下:

    • 4 秒视频:2-5 分钟
    • 8 秒视频:5-10 分钟
    • 12 秒视频:10-15 分钟

    建议使用轮询方式查询任务状态。

    Q: 生成的视频会保存多久?

    A: OpenAI Sora 生成的视频会在 7 天后过期,建议在视频生成后及时下载或转存到您自己的存储空间。

    Q: 如何提高视频生成质量?

    A:

    1. 详细的提示词:描述越详细,生成效果越好
    2. 包含关键要素:场景、动作、风格、光线、氛围等
    3. 使用具体的风格描述:如"电影风格"、"高清画质"等

    Q: 支持哪些视频格式和分辨率?

    A:

    • 输出格式:MP4
    • 分辨率:由模型自动选择,可通过 size 参数指定期望的宽高比
    • 视频时长:4、8、12 秒

    Q: 如何控制生成成本?

    A:

    1. 选择合适的时长:视频时长直接影响成本
    2. 批量生成:提前规划好需求,避免重复生成

    参考文档

    以上内容是否对您有帮助?