LemonData 通过统一 API 提供视频生成能力。视频生成是异步的:提交请求后会返回 task_id 和 poll_url,随后再轮询任务状态获取最终结果。
如果创建响应返回了 poll_url,请优先直接调用这个地址。若它指向 /v1/tasks/{id},就把它视为公开视频任务的规范状态入口;/v1/videos/generations/{id} 只保留兼容用途。
音频行为与具体模型有关。在 LemonData 中,Veo 3 家族在省略 output_audio 时默认按开启音频处理;有些公开视频模型默认无声,或并未暴露稳定的音频切换开关。
生产环境建议优先使用公网可访问的 https URL 作为图片、视频和音频输入。兼容模型仍支持内联 data: URL,但 URL 更容易重试、观测和排障。
异步工作流
当前公开操作
LemonData 当前公开视频契约重点覆盖以下操作:
text-to-video
image-to-video
reference-to-video
start-end-to-video
video-to-video
motion-control
请求契约也接受 audio-to-video 和 video-extension,用于模型特定流程;但在当前这版文档对应的“通用启用”公开视频模型列表中,没有一个广泛启用的模型明确对外公开这两项能力。
能力矩阵
图例:✅ 该 Provider 家族中至少有一个当前启用的公开视频模型支持该能力;❌ 当前启用模型中未公开这项能力
| Series | T2V | I2V | Reference | Start-End | V2V | Motion |
|---|
| OpenAI | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Kuaishou | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Google | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| ByteDance | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| MiniMax | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Alibaba | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Shengshu | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| xAI | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
| Other | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
能力定义
- T2V(Text-to-Video):根据文本提示词生成视频
- I2V(Image-to-Video):根据起始图片生成视频;为了兼容性更好,建议传
image_url
- Reference:通过
reference_images 传入一张或多张参考图进行条件控制
- Start-End:通过
start_image 和 end_image 控制首帧和尾帧
- V2V(Video-to-Video):以现有视频作为主输入
- Motion:同时使用主体图片和动作参考视频
当前启用的公开视频模型
OpenAI
| Model | 公开操作 |
|---|
sora-2 | 文生视频、图生视频 |
sora-2-pro | 文生视频、图生视频 |
sora-2-pro-storyboard | 图生视频 |
Kuaishou
| Model | 公开操作 |
|---|
kling-3.0-motion-control | 动作控制 |
kling-3.0-video | 文生视频、图生视频、首尾帧视频 |
kling-v2.5-turbo-pro | 文生视频、图生视频、首尾帧视频 |
kling-v2.5-turbo-std | 文生视频、图生视频 |
kling-v2.6-pro | 文生视频、图生视频、首尾帧视频 |
kling-v2.6-std | 文生视频、图生视频 |
kling-v3.0-pro | 文生视频、图生视频、首尾帧视频 |
kling-v3.0-std | 文生视频、图生视频、首尾帧视频 |
kling-video-o1-pro | 文生视频、图生视频、参考图生视频、首尾帧视频、视频转视频 |
kling-video-o1-std | 文生视频、图生视频、参考图生视频、首尾帧视频、视频转视频 |
Google
| Model | 公开操作 |
|---|
veo3 | 文生视频、图生视频 |
veo3-fast | 文生视频、图生视频 |
veo3-pro | 文生视频、图生视频 |
veo3.1 | 文生视频、图生视频、参考图生视频、首尾帧视频 |
veo3.1-fast | 文生视频、图生视频、参考图生视频、首尾帧视频 |
veo3.1-pro | 文生视频、图生视频、首尾帧视频 |
ByteDance
| Model | 公开操作 |
|---|
seedance-1.5-pro | 文生视频、图生视频 |
MiniMax
| Model | 公开操作 |
|---|
hailuo-2.3-fast | 图生视频 |
hailuo-2.3-pro | 文生视频、图生视频 |
hailuo-2.3-standard | 文生视频、图生视频 |
Alibaba
| Model | 公开操作 |
|---|
wan-2.2-plus | 文生视频、图生视频 |
wan-2.5 | 文生视频、图生视频 |
wan-2.6 | 文生视频、图生视频、参考图生视频 |
Shengshu
| Model | 公开操作 |
|---|
viduq2 | 文生视频、参考图生视频 |
viduq2-pro | 图生视频、参考图生视频、首尾帧视频 |
viduq2-pro-fast | 图生视频、首尾帧视频 |
viduq2-turbo | 图生视频、首尾帧视频 |
viduq3-pro | 文生视频、图生视频、首尾帧视频 |
viduq3-turbo | 文生视频、图生视频、首尾帧视频 |
xAI
| Model | 公开操作 |
|---|
grok-imagine-image-to-video | 图生视频 |
grok-imagine-text-to-video | 文生视频 |
grok-imagine-upscale | 视频转视频 |
Other
| Model | 公开操作 |
|---|
topaz-video-upscale | 视频转视频 |
使用示例
文生视频
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "sora-2",
"prompt": "A calm cinematic shot of a cat walking through a sunlit garden.",
"operation": "text-to-video",
"duration": 4,
"aspect_ratio": "16:9"
}
)
图生视频
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "hailuo-2.3-standard",
"prompt": "The scene begins from the provided image and adds gentle natural motion.",
"operation": "image-to-video",
"image_url": "https://example.com/portrait.jpg",
"duration": 6,
"aspect_ratio": "16:9"
}
)
参考图生视频
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "veo3.1",
"prompt": "Keep the same subject identity and palette while adding subtle motion.",
"operation": "reference-to-video",
"reference_images": [
"https://example.com/ref-a.jpg",
"https://example.com/ref-b.jpg"
],
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16"
}
)
首尾帧控制
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "viduq2-pro",
"prompt": "Smooth transition from day to night.",
"operation": "start-end-to-video",
"start_image": "https://example.com/city-day.jpg",
"end_image": "https://example.com/city-night.jpg",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
)
视频转视频
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "topaz-video-upscale",
"operation": "video-to-video",
"video_url": "https://example.com/source.mp4",
"prompt": "Upscale this clip while preserving the original motion."
}
)
动作控制
response = requests.post(f"{BASE}/videos/generations",
headers=headers,
json={
"model": "kling-3.0-motion-control",
"operation": "motion-control",
"prompt": "Keep the subject stable while following the motion reference.",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p"
}
)
参数参考
| 参数 | 类型 | 说明 |
|---|
operation | string | 生产环境建议显式传入 operation。 |
image_url | string | 兼容性最好的图片输入形式。 |
image | string | 内联 data URL,适合本地调试或小体积请求。 |
reference_images | string[] | 参考图条件控制的规范公开字段。 |
reference_image_type | string | 可选的 asset / style 角色选择器。 |
video_url | string | 当前公开 video-to-video 和 motion-control 模型都需要该字段。 |
audio_url | string | 用于模型特定的音频条件控制流程。 |
output_audio | boolean | Veo 3 家族省略时默认按 true 处理。 |
模型选择建议
高质量优先
当画质优先于速度时,优先考虑 veo3.1-pro、kling-video-o1-pro 或 viduq3-pro。
更快迭代
需要更快出结果时,可先尝试 veo3.1-fast、hailuo-2.3-fast 或 viduq3-turbo。
参考图条件控制
需要专门的参考图条件控制时,可优先考虑 veo3.1、veo3.1-fast、wan-2.6 或 kling-video-o1-pro / std。
视频转视频
当前一般启用的公开视频 video-to-video 路径主要包括 topaz-video-upscale、grok-imagine-upscale 和 kling-video-o1-pro / std。
视频计费与具体模型相关。有些公开视频模型表现为按次计费,有些则按秒计费。请以模型页面或 Pricing API 的当前公开价格为准。