nexusflow
Online
Loading...
POST/v1/videos/generations

视频生成 API

根据文本描述或参考图片生成视频。视频生成是异步任务,需要轮询获取结果。

异步任务说明
视频生成通常需要 1-5 分钟。提交任务后会返回 task_id,需要通过轮询 /v1/videos/{task_id} 获取结果。

支持的模型

模型 ID供应商时长尺寸特点价格
wanx2.1-t2v-turbo阿里云5s1280x720, 720x1280快速¥0.24/秒
wanx2.1-t2v-plus阿里云5-10s最高 1920x1080高质量¥0.40/秒
kling-v1快手5s1280x720标准¥0.30/秒
kling-v1.5-pro快手5-10s最高 1080p专业级¥0.50/秒

请求参数

参数名类型必填默认值说明
modelstring*-视频生成模型 ID。例如 wanx2.1-t2v-turbo、kling-v1 等。
promptstring*-视频描述文本,支持中英文。描述动作、场景、风格等。
negative_promptstring--负面提示词,描述不希望出现在视频中的元素。
imagestring--参考图片 URL,用于图生视频模式。
durationinteger-5视频时长(秒),范围取决于模型。
sizestring-"1280x720"视频尺寸。支持 1280x720、720x1280、1024x1024 等。
fpsinteger-24视频帧率。通常支持 24 或 30。
seedinteger-随机随机种子,相同 seed 和 prompt 会生成相似结果。

代码示例

from openai import OpenAI
import time

client = OpenAI(
    api_key="sk-air-your-key",
    base_url="https://nexusflow.hk/v1",
)

# 提交视频生成任务
response = client.videos.generate(
    model="wanx2.1-t2v-turbo",
    prompt="一只金毛犬在海滩上奔跑,夕阳西下,慢动作",
    duration=5,
    size="1280x720",
)

task_id = response.task_id
print(f"任务已提交: {task_id}")

# 轮询任务状态
while True:
    status = client.videos.retrieve(task_id)
    print(f"状态: {status.status}")
    
    if status.status == "succeeded":
        print(f"视频地址: {status.video_url}")
        break
    elif status.status == "failed":
        print(f"生成失败: {status.error}")
        break
    
    time.sleep(5)  # 每 5 秒查询一次

任务状态

状态说明
pending任务已提交,等待处理
processing正在生成视频
succeeded生成成功,可获取视频 URL
failed生成失败,查看 error 字段

Prompt 技巧

描述动作

明确描述主体的动作:走路、奔跑、转身、微笑等。

镜头语言

添加镜头描述:特写、航拍、慢动作、推进等。

时间连贯

描述时间顺序:首先...然后...最后...。

场景氛围

描述环境和光线:日落、雨天、霓虹灯等。

相关文档