Skip to Content
API 参考视频生成接口

CaMeL AI 提供统一的视频生成 API,兼容 OpenAI Sora 接口格式,后端支持多家厂商模型

快速开始

视频生成是异步操作,整个流程分为三步:

1. 提交任务 → 获得 video_id 2. 轮询状态 → 等待 status 变为 completed 3. 下载视频 → 获取 MP4 文件

最简示例

# 第一步:提交视频生成任务 curl -X POST https://api.kr777.top/videos \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan2.6-t2v", "prompt": "一只猫在钢琴上弹奏爵士乐,温暖的灯光,电影感镜头", "seconds": "5", "size": "1280x720" }' # 响应示例: # { # "id": "eyJtb2RlbCI6IndhbjI...", # "object": "video", # "status": "in_progress", # "model": "wan2.6-t2v", # "duration": 5, # "width": 1280, # "height": 720, # ... # } # 第二步:轮询查询状态(每 15 秒查询一次,直到 status 为 completed) curl https://api.kr777.top/videos/{video_id} \ -H "Authorization: Bearer $CAMELAI_API_KEY" # 第三步:下载视频 curl https://api.kr777.top/videos/{video_id}/content \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ --output video.mp4

接口概览

接口方法路径说明
创建视频POST/v1/videos提交视频生成任务
查询状态GET/v1/videos/{video_id}查询任务状态与进度
下载视频GET/v1/videos/{video_id}/content下载生成的 MP4 视频
删除任务DELETE/v1/videos/{video_id}删除视频任务

Base URL:https://camel.kr777.top

认证方式:Bearer Token

Authorization: Bearer $CAMELAI_API_KEY

支持的模型

文生视频(Text-to-Video)

厂商模型名称特点
OpenAIsora-2标准视频生成,支持音画同步
OpenAIsora-2-pro高质量版本,更精致稳定的画面
Googleveo-3.1-generate-preview最新 Veo 3.1,原生音频,支持 4K
Googleveo-3.1-fast-generate-previewVeo 3.1 快速版,生成速度更快
Googleveo-3.0-generate-previewVeo 3.0,高保真视频
Googleveo-2.0-generate-001Veo 2.0,稳定版
阿里wan2.6-t2v通义万相最新版,音画同步
阿里wan2.5-t2v-preview通义万相 2.5,中文优化
阿里wan2.2-t2v-plus通义万相 2.2
即梦AIjimeng-3.0-pro即梦 3.0 Pro,1080P 高清
即梦AIjimeng-3.0-1080p即梦 3.0 1080P

图生视频(Image-to-Video)

厂商模型名称特点
阿里wan2.6-i2v通义万相最新版图生视频
阿里wan2.5-i2v-preview通义万相 2.5 图生视频
阿里wan2.2-i2v-plus通义万相 2.2 图生视频

图生视频需通过 input_reference 参数传入参考图片。

API 详细说明

请求头

Authorization: Bearer $CAMELAI_API_KEY Content-Type: application/json

创建视频生成任务

POST /v1/videos

请求体

参数类型必填说明
modelstring模型名称,如 wan2.6-t2vsora-2
promptstring视频描述文本
secondsstring视频时长(秒),统一使用字符串类型,如 "5""8"(见各模型详解)
sizestring分辨率,格式 宽x高,如 1920x1080(各模型支持值不同)
input_referencestring/object参考图片(图生视频),支持 URL 或 base64

不同模型的响应格式略有差异,但都包含 id(video_id)和 status 字段。以 status 判断任务进度即可。

响应示例(通义万相/Veo/即梦AI

{ "id": "eyJtb2RlbCI6IndhbjI...", "object": "video", "created": 1772460274, "model": "wan2.6-t2v", "status": "in_progress", "prompt": "一只猫在窗台上看雨", "duration": 5, "width": 1920, "height": 1080, "url": null, "error": null }

响应示例(Sora)

{ "id": "eyJtb2RlbCI6InNvcmEtMi...", "object": "video", "created_at": 1772451930, "status": "queued", "model": "sora-2", "progress": 0, "prompt": "A cinematic drone shot over mountains", "seconds": "8", "size": "1280x720" }

通用状态值说明

状态说明
queued排队中(Sora 特有)
in_progress生成中
completed生成完成,可以下载
failed生成失败

查询视频状态

GET /v1/videos/{video_id}

轮询此接口检查任务是否完成。建议每 15 秒 查询一次。

响应示例(生成完成 - 通义万相)

{ "id": "eyJtb2RlbCI6IndhbjI...", "object": "video", "status": "completed", "model": "wan2.5-t2v-preview", "duration": 5, "width": 1920, "height": 1080, "url": "https://api.kr777.top/videos/eyJtb2RlbCI6IndhbjI.../content", "error": null }

响应示例(生成完成 - Sora)

{ "id": "eyJtb2RlbCI6InNvcmEtMi...", "object": "video", "created_at": 1772451930, "status": "completed", "completed_at": 1772452114, "expires_at": 1772538330, "model": "sora-2", "progress": 100, "prompt": "A cinematic drone shot over mountains", "seconds": "8", "size": "1280x720" }

所有模型均通过 status == "completed" 判断完成状态,然后调用 /content 接口下载。

下载视频内容

GET /v1/videos/{video_id}/content

当状态为 completed 后,调用此接口下载 MP4 视频文件。

响应: 直接返回视频二进制流Content-Type: video/mp4)。

curl https://api.kr777.top/videos/{video_id}/content \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ --output my_video.mp4

注意:视频下载链接通常有 24 小时有效期,请及时下载保存。

删除视频任务

该接口用于删除已创建的视频任务。

DELETE /v1/videos/{video_id}

各模型参数详解

OpenAI Sora

参数支持值
模型sora-2sora-2-pro
时长 (seconds)"4"(默认)、"8""12"
分辨率 (size)720x1280(默认)、1280x7201024x17921792x1024
图生视频支持,通过 input_reference 传入图片

提示:所有模型的 seconds 参数统一使用字符串类型传入(如 "8")。

示例

curl -X POST https://api.kr777.top/videos \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "sora-2", "prompt": "A cinematic drone shot soaring over a misty mountain range at sunrise, golden light filtering through the clouds", "seconds": "8", "size": "1280x720" }'

Google Veo

参数支持值
模型veo-3.1-generate-preview(推荐)、veo-3.1-fast-generate-preview(快速)、veo-3.0-generate-previewveo-2.0-generate-001
时长 (seconds)Veo 3/3.1:"4""6""8";Veo 2:"5"~"8"(默认 "8"
分辨率 (size)720p(默认)、1080p4k(4K 仅 Veo 3+),或像素格式如 1280x7201920x1080
宽高比16:9(默认)、9:16
图生视频支持,通过 input_reference 传入首帧图片(Veo 3.1),使用时 seconds 固定为 "8"

示例

curl -X POST https://api.kr777.top/videos \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "veo-3.1-generate-preview", "prompt": "一个宁静的日式庭院,樱花花瓣缓缓飘落,锦鲤在池塘中游动,背景传来悠扬的风铃声", "seconds": "8", "size": "1280x720" }'

提示:Veo 支持原生音频生成,可在 prompt 中描述音效,如”背景传来鸟鸣声”、“钢琴旋律”。

通义万相

参数支持值
文生视频模型wan2.6-t2v(推荐)、wan2.5-t2v-previewwan2.2-t2v-plus
图生视频模型wan2.6-i2v(推荐)、wan2.5-i2v-previewwan2.2-i2v-plus
时长 (seconds)因模型而异(见下方说明),默认 "5"
分辨率 (size)见下方表格,x* 分隔符均可(如 1920x10801920*1080
图生视频通过 input_reference 传入图片 URL 或 base64

各模型支持的时长

模型seconds 可选值默认值
wan2.6-t2v / wan2.6-i2v"2"~"15"(任意整数值)"5"
wan2.5-t2v-preview / wan2.5-i2v-preview"5""10""5"
wan2.2-t2v-plus / wan2.2-i2v-plus"5"(固定)"5"

支持的分辨率(宽*高)

清晰度可选分辨率
480P832x480480x832624x624
720P1280x720(默认)、720x1280960x9601088x832(4:3)、832x1088(3:4)
1080P1920x10801080x19201440x14401632x1248(4:3)、1248x1632(3:4)

注意:wan2.6 仅支持 720P 和 1080P;wan2.5 支持 480P、720P、1080P;wan2.2 仅支持 480P 和 1080P。

示例

curl -X POST https://api.kr777.top/videos \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan2.6-t2v", "prompt": "一条蜿蜒的小溪穿过秋天的森林,金黄色的落叶飘落在水面上,阳光透过树叶洒下斑驳的光影", "seconds": "5", "size": "1920x1080" }'

提示:wan2.5 及以上版本默认生成有声视频(自动配音),中文 prompt 效果更佳。

即梦 AI

参数支持值
模型jimeng-3.0-pro(推荐)、jimeng-3.0-1080p
时长 (seconds)"5""10"(默认 "5"
分辨率 (size)支持宽高比格式或像素格式
图生视频支持,通过 input_reference 传入图片 URL 或 base64

支持的宽高比与对应分辨率

宽高比 (size)实际分辨率
16:91920x10801920×1088
9:161080x19201088×1920
4:31664x12481664×1248
3:41248x16641248×1664
1:11440x14401440×1440
21:92176x9282176×928

示例

curl -X POST https://api.kr777.top/videos \ -H "Authorization: Bearer $CAMELAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "jimeng-3.0-pro", "prompt": "一位身穿汉服的少女在竹林间翩翩起舞,长裙随风飘动,背景是淡淡的晨雾", "seconds": "5", "size": "16:9" }'

完整调用示例

import requests import time API_KEY = "CAMELAI_API_KEY" BASE_URL = "https://camel.kr777.top" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # 第一步:创建视频生成任务 response = requests.post( f"{BASE_URL}/v1/videos", headers=HEADERS, json={ "model": "wan2.6-t2v", "prompt": "一片星空下的沙漠,流星划过夜空,远处篝火的光芒在微风中摇曳", "seconds": "5", "size": "1920x1080" } ) result = response.json() video_id = result["id"] print(f"任务已创建,video_id: {video_id}") # 第二步:轮询查询状态 while True: status_response = requests.get( f"{BASE_URL}/v1/videos/{video_id}", headers=HEADERS ) status_data = status_response.json() current_status = status_data["status"] print(f"当前状态: {current_status}") if current_status == "completed": print("视频生成完成!") break elif current_status == "failed": error_msg = status_data.get("error", {}) if isinstance(error_msg, dict): error_msg = error_msg.get("message", "未知错误") print(f"生成失败: {error_msg}") break time.sleep(15) # 每 15 秒查询一次 # 第三步:下载视频 video_response = requests.get( f"{BASE_URL}/v1/videos/{video_id}/content", headers=HEADERS ) with open("output.mp4", "wb") as f: f.write(video_response.content) print(f"视频已保存为 output.mp4({len(video_response.content) / 1024 / 1024:.1f} MB)")

FAQ

视频生成需要多长时间?

视频生成通常需要 1-5 分钟,具体时间取决于模型、分辨率和时长。建议设置 15 秒的轮询间隔。

input_reference 参数怎么用?

input_reference 用于图生视频场景,支持三种传入方式:

// 方式一:直接传入图片 URL "input_reference": "https://example.com/image.jpg" // 方式二:传入 base64 编码的图片(对象格式) "input_reference": { "mime_type": "image/jpeg", "data": "<BASE64_ENCODED_IMAGE>" } // 方式三:传入 data URL "input_reference": "data:image/jpeg;base64,<BASE64_ENCODED_IMAGE>"

视频下载链接有效期是多久?

生成的视频下载链接通常有 24 小时 有效期,请及时下载保存。

各模型seconds 参数有什么区别?

模型可选值默认值
Sora (sora-2 / sora-2-pro)"4", "8", "12""4"
Veo 3/3.1 (veo-3.1-generate-preview 等)"4", "6", "8""8"
Veo 2 (veo-2.0-generate-001)"5"~"8""8"
通义万相 wan2.6"2"~"15""5"
通义万相 wan2.5"5", "10""5"
通义万相 wan2.2"5"(固定)"5"
即梦AI (jimeng-3.0-pro 等)"5", "10""5"

> 提示:所有模型的 seconds 参数统一使用字符串类型传入(如 "8"),API 会自动处理。

不同模型size 参数格式有什么区别?

模型支持的 size 值
Sora1280x720720x12801024x17921792x1024
Veo像素格式1280x720 等)或分辨率标签720p1080p4k
通义万相像素格式x* 均可(如 1920x10801920*1080
即梦 AI宽高比格式16:99:16 等)或像素格式

### seconds duration 有什么区别?

两者含义相同,均表示视频时长。API 同时支持这两个参数名(Sora 除外,Sora 只接受 seconds)。推荐统一使用 seconds

如何编写更好的 prompt?

  • 描述具体场景:包含主体、动作、环境、光线、氛围
  • 指定镜头语言:如”特写”、“航拍”、“推镜头”、“慢动作”
  • 描述风格:如”电影感”、“纪录片风格”、“动画风格”
  • 中文模型用中文 prompt 效果更好:通义万相针对中文优化
  • Veo 支持音频描述:可在 prompt 中描述声音,如”鸟鸣声”、“钢琴旋律”

任务失败怎么处理?

statusfailed 时,响应中的 error 字段会包含错误信息:

{ "status": "failed", "error": { "message": "Video generation failed due to content policy violation", "type": "video_generation_error" } }

常见失败原因包括:内容违规、prompt 过长、图片格式不支持等。请根据错误信息调整后重试。