Nexora AI 视频生成API
通过API接入Nexora强大的AI视频生成能力,将文生视频、图生视频功能集成到你自己的应用、产品或工作流中。
API接口仅对团队版用户开放,升级团队版后即可获取API密钥调用。
鉴权说明
所有API请求需要在请求头中携带你的API密钥进行鉴权:
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
请妥善保管你的API密钥,不要泄露给他人,密钥可以在个人中心的API密钥页面获取和重置。
调用限制
- 团队版用户默认QPS限制为10次/秒
- 每次生成任务消耗1个API额度(对应网页端10生成额度)
- 生成的视频文件保留7天,请及时下载
- 支持最长60秒4K 60fps视频生成
创建生成任务
POST
https://api.nexora.ai/v1/videos/generate
提交一个视频生成任务,返回任务ID用于查询状态。
请求参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prompt必填 | string | 视频描述提示词,长度10-500字符 |
| duration必填 | integer | 视频时长,3-60秒 |
| resolution | string | 分辨率,可选720p/1080p/4k,默认1080p |
| fps | integer | 帧率,24/30/60,默认30 |
| camera_move | string | 镜头运动:static/zoom-in/zoom-out/pan-left/pan-right/orbit,默认static |
返回示例
{
"code": 0,
"message": "success",
"data": {
"task_id": "task_1234567890abcdef",
"estimated_time": 30
}
}
查询任务状态
GET
https://api.nexora.ai/v1/videos/task/{task_id}
根据任务ID查询生成进度和结果,生成完成后返回视频下载地址。
返回示例
{
"code": 0,
"message": "success",
"data": {
"task_id": "task_1234567890abcdef",
"status": "success", // pending/processing/success/failed
"progress": 100,
"video_url": "https://cdn.nexora.ai/videos/xxx.mp4",
"cover_url": "https://cdn.nexora.ai/covers/xxx.jpg",
"duration": 5
}
}
获取视频列表
GET
https://api.nexora.ai/v1/videos
分页获取你账号下所有生成的视频列表。
错误码说明
| 错误码 | 说明 |
|---|---|
| 401 | API密钥无效或已过期 |
| 402 | 额度不足,请充值 |
| 403 | 权限不足,未开通API权限 |
| 429 | 请求频率超限,请降低请求速度 |
| 500 | 服务器内部错误,请稍后重试 |
Python调用示例
import requests
API_KEY = "sk-你的API密钥"
headers = {"Authorization": f"Bearer {API_KEY}"}
# 创建生成任务
resp = requests.post(
"https://api.nexora.ai/v1/videos/generate",
headers=headers,
json={
"prompt": "cinematic shot of a cyberpunk city at night, neon lights, flying cars, 4k",
"duration": 5,
"resolution": "1080p",
"fps": 30
}
)
task_id = resp.json()["data"]["task_id"]
print(f"任务已提交:{task_id}")
# 轮询查询结果
import time
while True:
resp = requests.get(f"https://api.nexora.ai/v1/videos/task/{task_id}", headers=headers)
data = resp.json()["data"]
if data["status"] == "success":
print(f"生成完成!视频地址:{data['video_url']}")
break
elif data["status"] == "failed":
print("生成失败")
break
print(f"生成中:{data['progress']}%")
time.sleep(2)