Skip to main content

即梦视频生成示例

以下示例展示如何使用即梦(Jimeng)视频生成模型通过 OpenAI 兼容接口生成高质量的视频内容。 即梦视频生成分为三个步骤:
  1. 创建视频生成任务 - 提交生成请求,获得任务ID
  2. 查询任务状态 - 定期检查任务进度
  3. 下载生成的视频 - 任务完成后下载视频文件

步骤1:创建视频生成任务

curl --request POST \
  --url https://model-api.skyengine.com.cn/v1/videos \
  --header 'Authorization: Bearer <API-KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "jimeng-video-3.0-pro",
    "prompt": "千军万马奔腾在草原上,阳光明媚,高清画质",
    "req_key": "jimeng_ti2v_v30_pro",
    "seed": -1,
    "frames": 121,
    "aspect_ratio": "16:9"
  }'

响应示例

{
  "id": "10762451179911711518",
  "object": "video", 
  "created_at": 1762776961,
  "status": "in_queue"
}

步骤2:查询任务状态

# 查询任务状态
curl -X GET "https://model-api.skyengine.com.cn/v1/videos/10762451179911711518" \
  --header 'Authorization: Bearer <API-KEY>'

状态响应示例

排队中:
{
  "id": "10762451179911711518",
  "object": "video",
  "status": "in_queue"
}
已完成:
{
  "id": "10762451179911711518", 
  "object": "video",
  "status": "completed"
}

步骤3:下载生成的视频

# 下载视频文件
curl -X GET "https://model-api.skyengine.com.cn/v1/videos/10762451179911711518/content" \
  --header 'Authorization: Bearer <API-KEY>' \
  --output video.mp4

完整流程示例

import requests
import time

API_KEY = "<API-KEY>"
BASE_URL = "https://model-api.skyengine.com.cn/v1"

def complete_jimeng_video_generation(prompt, **kwargs):
    """
    完整的即梦视频生成流程
    """
    # 步骤1: 创建任务
    print("步骤1: 创建视频生成任务...")
    create_result = create_jimeng_video(prompt, **kwargs)
    if not create_result:
        return False
    
    video_id = create_result['id'] 
    print(f"任务ID: {video_id}")
    
    # 步骤2: 等待任务完成
    print("步骤2: 等待任务完成...")
    max_wait_time = 600  # 10分钟
    start_time = time.time()
    
    while time.time() - start_time < max_wait_time:
        status_info = check_video_status(video_id)
        if not status_info:
            break
            
        status = status_info.get('status')
        print(f"当前状态: {status}")
        
        if status == 'completed':
            print("视频生成完成!")
            break
        elif status == 'failed':
            print("视频生成失败")
            return False
        
        time.sleep(15)  # 每15秒检查一次
    else:
        print("等待超时")
        return False
    
    # 步骤3: 下载视频
    print("步骤3: 下载视频...")
    output_path = f"jimeng_video_{video_id}.mp4"
    if download_video(video_id, output_path):
        print(f"视频生成完成: {output_path}")
        return True
    
    return False

# 使用示例
if __name__ == "__main__":
    success = complete_jimeng_video_generation(
        prompt="千军万马奔腾在草原上,阳光明媚,高清画质",
        req_key="jimeng_ti2v_v30_pro",
        seed=-1,
        frames=121,
        aspect_ratio="16:9"
    )
    
    if success:
        print("✅ 视频生成成功!")
    else:
        print("❌ 视频生成失败!")

支持的参数

  • model: 使用的模型名称 (jimeng-video-3.0-pro、 jimeng-video-3.0-720P、 jimeng-video-3.0-1080P)
  • prompt: 视频描述文本(必需,建议400字以内)
  • req_key: 用于指定具体的即梦模型版本(必选)
    • jimeng-video-3.0-pro: jimeng_ti2v_v30_pro
    • jimeng-video-3.0-720P: jimeng_t2v_v30 (文生图), jimeng_i2v_first_v30(首帧), jimeng_i2v_first_tail_v30(首尾帧), jimeng_i2v_recamera_v30(运镜)
    • jimeng-video-3.0-1080P: jimeng_t2v_v30_1080p(文生图), jimeng_i2v_first_v30_1080(首帧), jimeng_i2v_first_tail_v30_1080(首尾帧)
  • seed: 随机种子,默认-1(随机),可指定固定值获得一致结果
  • frames: 生成的总帧数,可选值[121, 241],默认121
  • seconds: 视频时长(秒),支持5秒或10秒,系统会自动转换为对应帧数(5秒=121帧,10秒=241帧)
  • size: 视频尺寸,格式为 宽x高(如 1280x720),系统会自动转换为对应的宽高比
  • aspect_ratio: 生成视频的长宽比,默认”16:9”,支持常见比例(即梦官方参数)
  • image_urls: 参考图片URL数组
  • content: 内容数组,支持文本和图片的组合输入(平台兼容格式)

图生视频示例

除了文本到视频生成,即梦也支持从图片生成视频。以下示例展示如何使用参考图片生成视频:
curl --request POST \
  --url https://model-api.skyengine.com.cn/v1/videos \
  --header 'Authorization: Bearer <API-KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "jimeng-video-3.0-pro",
    "prompt": "根据图片内容生成一段动态视频,保持画面风格一致",
    "req_key": "jimeng_ti2v_v30_pro",
    "image_urls": ["https://example.com/reference_image.jpg"],
    "seed": -1,
    "frames": 241,
    "aspect_ratio": "16:9"
  }'

图生视频示例场景

风景图片 + "微风轻抚树叶,云朵缓缓移动,阳光变化"
人物图片 + "人物眨眼微笑,头发轻微摆动"
建筑图片 + "灯光闪烁,窗户透出温暖光芒"
动物图片 + "小动物轻微摆动,眼睛转动"

任务状态说明

  • in_queue: 任务已提交,正在排队等待处理
  • processing: 任务正在处理中
  • completed: 任务已完成,可以下载视频
  • failed: 任务失败

平台兼容视频接口

除了使用传统的 prompt + image_urls 格式,我们的平台还支持使用 JSON 格式的 content 字段来传递 prompt 和参考图片,这种方式更加灵活,适合程序化调用。

Content 字段结构

content 是一个数组,每个元素包含以下字段:
字段类型说明
typeString内容类型:text(文本)、image_url(图片URL)、image_base64(Base64图片)
textString文本内容(当 type=text 时)
image_urlObject图片信息(当 type=image_url 或 image_base64 时),包含 url 字段

纯文本生成视频

curl -X POST "https://model-api.skyengine.com.cn/v1/videos" \
  -H "Authorization: Bearer <API-KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jimeng-video-3.0-pro",
    "size": "1280x720",
    "seconds": "5",
    "req_key": "jimeng_ti2v_v30_pro",
    "content": [
      {
        "type": "text",
        "text": "千军万马奔腾在草原上,阳光明媚,高清画质"
      }
    ]
  }'

使用图片 URL 作为参考帧

curl -X POST "https://model-api.skyengine.com.cn/v1/videos" \
  -H "Authorization: Bearer <API-KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jimeng-video-3.0-pro",
    "size": "1280x720",
    "seconds": "5",
    "req_key": "jimeng_ti2v_v30_pro",
    "content": [
      {
        "type": "text",
        "text": "根据这张风景图生成一段视频,展现微风轻抚、云朵缓缓移动的动态效果"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/landscape.jpg"
        }
      }
    ]
  }'

使用 Base64 编码的图片

curl -X POST "https://model-api.skyengine.com.cn/v1/videos" \
  -H "Authorization: Bearer <API-KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jimeng-video-3.0-pro",
    "size": "1280x720",
    "seconds": "5",
    "req_key": "jimeng_ti2v_v30_pro",
    "content": [
      {
        "type": "text",
        "text": "让画面中的小猫跳跃玩耍"
      },
      {
        "type": "image_base64",
        "image_url": {
          "url": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
        }
      }
    ]
  }'

Content 字段请求示例

{
  "model": "jimeng-video-3.0-pro",
  "size": "1280x720",
  "seconds": "5",
  "req_key": "jimeng_ti2v_v30_pro",
  "content": [
    {
      "type": "text",
      "text": "根据图片生成一段动态视频"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/image.jpg"
      }
    }
  ]
}
提示
  • 使用 content 字段时,系统会自动从中提取文本作为 prompt,提取图片作为参考帧
  • seconds 参数支持 “5” 或 “10”,系统会自动转换为对应的帧数(5秒=121帧,10秒=241帧)
  • size 参数会自动转换为对应的宽高比,例如 “1280x720” 会转换为 “16:9”
  • 如果同时提供了 prompt 字段和 content 中的文本,content 中的文本会优先使用