常见问题解答
分辨率和尺寸
后台和系统相关
技术规格
视频参数
| 参数 | 竖屏模式 | 横屏模式 |
| 分辨率 | 720 × 1280 | 1280 × 720 |
| 宽高比 | 9:16 | 16:9 |
| 时长 | 8 秒 | 8 秒 |
| 音轨 | 自带 | 自带 |
帧转视频要求
使用帧转视频模式(-fl 模型)时:
- 开始帧图片:必传,仅限一张
- 结束帧图片:可选,如果不传则自动生成过渡效果
- 图片格式:支持 URL 或 base64 编码
- 图片大小:建议不超过 10MB
错误处理
常见错误
最佳实践
提示词优化
编写高质量提示词的技巧:
- 具体描述场景、动作和细节
- 使用清晰的动词描述运动
- 指定时间、地点和环境
- 避免过于复杂或矛盾的描述
示例对比:
| 不好的提示词 | 好的提示词 |
| ”一只猫" | "一只橘色的小猫在阳光明媚的花园里慢慢走动" |
| "跑步" | "一个运动员在晨光中沿着海滨大道快速奔跑" |
| "飞" | "一只雄鹰展开双翼在雪山之巅翱翔” |
异步调用最佳实践
import requests
import time
def generate_video_async(prompt, model="veo-3.1-fast"):
"""异步生成视频的完整流程"""
# 1. 创建任务
response = requests.post(
"https://api.apiyi.com/v1/videos",
headers={"Authorization": "sk-your-api-key"},
json={"prompt": prompt, "model": model}
)
video_id = response.json()["id"]
print(f"任务创建成功,ID: {video_id}")
# 2. 轮询状态
max_attempts = 60 # 最多轮询 60 次(5分钟)
for attempt in range(max_attempts):
response = requests.get(
f"https://api.apiyi.com/v1/videos/{video_id}",
headers={"Authorization": "sk-your-api-key"}
)
status = response.json()["status"]
if status == "completed":
print("视频生成完成!")
break
elif status == "failed":
print("视频生成失败")
return None
print(f"生成中... ({attempt + 1}/{max_attempts})")
time.sleep(5)
# 3. 获取视频
response = requests.get(
f"https://api.apiyi.com/v1/videos/{video_id}/content",
headers={"Authorization": "sk-your-api-key"}
)
video_url = response.json()["url"]
print(f"视频 URL: {video_url}")
return video_url
# 使用示例
video_url = generate_video_async("画只猪在天上飞")
性能优化
选择合适的模型
追求速度
使用 -fast 模型,生成时间缩短约 40%,价格更低
横屏内容
使用 landscape 模型,适合桌面播放
生成速度对比
| 模型类型 | 平均生成时间 | 价格 | 推荐场景 |
-fast 模型 | 30-60 秒 | $0.15 | 快速测试、批量生成 |
| 标准模型 | 1-2 分钟 | $0.25 | 高质量内容、正式发布 |
提示: VEO 3.1 的生成速度比 Sora 2 快 50%!
获取帮助
如果您遇到其他问题,可以通过以下方式获取帮助: