Skip to content

视频生成接口

兆投算力提供多种主流视频生成模型的统一接口,支持文生视频、图生视频等任务。

🎬 支持的模型

模型 描述 特点
Sora2 OpenAI Sora 第二代视频生成模型 高质量、长时长、电影级效果
VEO3 Google VEO 第三代视频生成模型 高保真度、动作连贯性强
MiniMax-Hailuo-02 MiniMax 海螺视频生成模型 中文优化、快速生成
Wan2.6 阿里云万相 2.6 视频生成模型 支持多种分辨率、有声视频
doubao-seedance-1-5-pro 豆包 Seedance 1.5 Pro 舞蹈动作生成、人体姿态精准

🚀 快速开始

基础文生视频

curl https://zhaotouai.com/v1/videos \
  -H "Authorization: Bearer $ZHAOTOU_API_KEY" \
  -F "prompt=一只可爱的小猫在花园里玩耍,阳光明媚" \
  -F "model=sora-2" \
  -F "seconds=5" \
  -F "size=1920x1080"

图生视频

curl https://zhaotouai.com/v1/videos \
  -H "Authorization: Bearer $ZHAOTOU_API_KEY" \
  -F "prompt=让这张图片动起来,添加自然的运动效果" \
  -F "model=sora-2" \
  -F "seconds=3" \
  -F "size=1920x1080" \
  -F "input_reference=@/path/to/image.jpg"

📋 API 接口

生成视频

端点: POST /v1/videos

请求格式: multipart/form-data

参数 类型 必填 描述
prompt string 描述要生成视频的文本提示词
model string 视频生成模型,默认为 sora-2
seconds string 视频时长(秒),默认为 4 秒
size string 输出分辨率,格式为宽度x高度,默认为 720x1280
input_reference file 输入图片文件(图生视频时使用)
metadata string 扩展参数(JSON字符串格式)

查询视频状态

端点: GET /v1/videos/{video_id}

路径参数: - video_id: 视频任务ID

下载视频

端点: GET /v1/videos/{video_id}/content

查询参数: - variant: 可下载资源类型,默认为MP4视频

🎯 模型特性

Sora2

  • 优势: 电影级画质、长时长支持、物理规律准确
  • 适用场景: 专业视频制作、创意内容生成
  • 推荐设置: 5-10秒、1920x1080或更高分辨率

VEO3

  • 优势: 动作连贯性强、细节丰富、风格多样
  • 适用场景: 产品演示、动画制作
  • 推荐设置: 4-8秒、1280x720或1920x1080

MiniMax-Hailuo-02

  • 优势: 中文理解优化、生成速度快、成本效益高
  • 适用场景: 短视频内容、社交媒体素材
  • 推荐设置: 3-6秒、720p或1080p

Wan2.6

  • 优势: 支持有声视频、多种分辨率、首尾帧控制
  • 适用场景: 教育视频、产品展示
  • 推荐设置: 使用 metadata 参数控制音频和高级功能

doubao-seedance-1-5-pro

  • 优势: 人体姿态精准、舞蹈动作专业、动作流畅
  • 适用场景: 舞蹈教学、动作演示、娱乐内容
  • 推荐设置: 4-10秒、1280x720或1920x1080

📝 高级用法

使用 metadata 参数(Wan2.6 特有)

{
  "img_url": "https://example.com/image.jpg",
  "watermark": false,
  "prompt_extend": true,
  "audio": true,
  "seed": 12345
}

首尾帧生视频(Wan2.6)

curl https://zhaotouai.com/v1/videos \
  -H "Authorization: Bearer $ZHAOTOU_API_KEY" \
  -F "prompt=从开始到结束的平滑过渡动画" \
  -F "model=wan2.6-kf2v-preview" \
  -F "seconds=4" \
  -F 'metadata={"first_frame_url":"https://example.com/start.jpg","last_frame_url":"https://example.com/end.jpg"}'

💡 最佳实践

  1. 提示词优化
  2. 使用具体、详细的描述
  3. 包含动作、场景、风格等要素
  4. 避免模糊或抽象的表达

  5. 参数选择

  6. 根据内容类型选择合适的模型
  7. 合理设置时长,避免过长导致生成失败
  8. 选择适当的分辨率平衡质量和速度

  9. 错误处理

  10. 实现轮询机制查询任务状态
  11. 设置合理的超时时间
  12. 处理生成失败的重试逻辑

  13. 资源管理

  14. 及时下载生成的视频文件
  15. 注意视频文件的存储空间管理
  16. 定期清理过期的任务数据

🔧 JavaScript 示例

async function generateVideo(prompt, model = 'sora-2') {
  const formData = new FormData();
  formData.append('prompt', prompt);
  formData.append('model', model);
  formData.append('seconds', '5');
  formData.append('size', '1920x1080');

  const response = await fetch('https://zhaotouai.com/v1/videos', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + apiKey
    },
    body: formData
  });

  const result = await response.json();
  return result.id;
}

async function checkVideoStatus(videoId) {
  const response = await fetch(`https://zhaotouai.com/v1/videos/${videoId}`, {
    headers: {
      'Authorization': 'Bearer ' + apiKey
    }
  });
  return await response.json();
}

async function downloadVideo(videoId) {
  const response = await fetch(`https://zhaotouai.com/v1/videos/${videoId}/content`, {
    headers: {
      'Authorization': 'Bearer ' + apiKey
    }
  });
  return response.blob();
}

❗ 常见错误

  • 400 Bad Request: 检查参数格式和必填字段
  • 401 Unauthorized: 验证 API Key 是否正确
  • 429 Too Many Requests: 降低请求频率或联系管理员
  • 500 Server Error: 服务器内部错误,建议重试
  • 生成失败: 检查提示词是否符合内容政策,调整参数后重试