Documentation Index
Fetch the complete documentation index at: https://wisdom-docs.juheapi.com/llms.txt
Use this file to discover all available pages before exploring further.
videos 是 OpenAI Sora 的视频生成接口,通过文本提示或可选的参考图像输入创建视频生成任务。
创建后,您需要使用 查询接口 获取生成状态。任务完成后,可以进行后续操作如 混剪 和 下载。
有关 Sora 生成接口的更多信息,请参阅 OpenAI 官方文档。
支持的模型
目前支持的模型 ID:
重要说明
异步处理视频生成需要较长时间,采用异步模式。创建任务后立即返回任务 ID,您需要使用查询接口获取生成进度和结果。
内容政策生成的视频内容必须符合 OpenAI 的使用政策。禁止生成违法、暴力、色情或侵犯版权的内容。
资源管理请及时下载生成的视频以避免资源过期。查看响应中的 expires_at 字段了解视频过期时间。
参考文档
有关 Sora 视频生成的更多详情,我们建议参阅 OpenAI 官方文档。
自动生成的文档请求参数和响应格式从 OpenAPI 规范自动生成。所有参数、其类型、描述、默认值和示例都直接从 openapi.json 提取。向下滚动查看交互式 API 参考。
快速开始
基础示例:文本生成视频
curl -X POST "https://api.wisgate.ai/v1/videos" \
-H "Authorization: Bearer $WISDOM_GATE_KEY" \
-F "prompt=一只猫在街上走" \
-F "model=sora-2" \
-F "seconds=4" \
-F "size=720x1280"
带图像参考的示例
curl -X POST "https://api.wisgate.ai/v1/videos" \
-H "Authorization: Bearer $WISDOM_GATE_KEY" \
-F "prompt=宁静的风景动画" \
-F "model=sora-2" \
-F "seconds=8" \
-F "size=1280x720" \
-F "input_reference=@reference_image.jpg"
最佳实践
1. 提示词优化
使用具体、详细的描述,包含场景、动作、光线等细节:
好的提示词:
一辆红色跑车在日落时分穿过蜿蜒的山路行驶的电影镜头,戏剧性的光线和朦胧的氛围,用专业相机拍摄,4K 画质
差的提示词:
2. 时长控制
根据内容复杂度选择合适的时长;较短的时长通常质量更好:
- 4 秒:最适合简单场景,生成最快
- 8 秒:适合中等复杂度场景
- 12 秒:适合复杂场景,生成时间较长
3. 分辨率选择
根据使用场景选择合适的分辨率,平衡质量和生成时间:
720x1280(默认):竖屏格式,适合手机/社交媒体
1280x720:横屏格式,标准宽屏
1024x1792:高分辨率竖屏
1792x1024:高分辨率横屏
4. 图像预处理
使用图像引导时,确保输入图像:
- 清晰且构图良好
- 文件大小合理(不要太大)
- 格式支持(JPEG、PNG)
5. 错误处理
实现完善的重试和错误处理机制:
import requests
import time
import random
def create_video_with_retry(prompt, max_retries=3):
url = "https://api.wisgate.ai/v1/videos"
headers = {"Authorization": f"Bearer WISDOM_GATE_KEY"}
data = {"prompt": prompt, "model": "sora-2"}
for attempt in range(max_retries):
try:
response = requests.post(url, headers=headers, data=data)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
if attempt < max_retries - 1:
wait_time = (2 ** attempt) + random.random()
time.sleep(wait_time)
else:
raise
故事板模式
API 支持故事板功能,用于创建连续的多镜头视频。使用故事板模式时,提示词必须严格遵循以下格式:
Shot 1:
duration: 7.5sec
Scene: 飞机起飞。
Shot 2:
duration: 7.5sec
Scene: 飞机降落。
格式要求
- 每个镜头以
Shot N: 开始(N 是镜头编号)
- 使用
duration: Xsec 指定镜头时长
- 使用
Scene: 描述镜头内容
- 用空行分隔镜头
故事板示例
curl -X POST "https://api.wisgate.ai/v1/videos" \
-H "Authorization: Bearer $WISDOM_GATE_KEY" \
-F "prompt=Shot 1:
duration: 7.5sec
Scene: 飞机起飞。
Shot 2:
duration: 7.5sec
Scene: 飞机降落。" \
-F "model=sora-2" \
-F "size=1280x720"
常见问题
视频生成需要多长时间?
通常需要几分钟到十几分钟,取决于视频时长、分辨率和服务器负载。如果长时间无响应或失败,请联系客服。
支持哪些分辨率?
默认支持 720x1280。支持的分辨率:
720x1280(默认)- 竖屏
1280x720 - 横屏
1024x1792 - 高分辨率竖屏
1792x1024 - 高分辨率横屏
具体支持的分辨率请参阅模型文档。
生成的视频可以多长?
默认为 4 秒。最大时长取决于模型限制:
sora-2:支持 4、8 和 12 秒
sora-2-pro:支持 4、8 和 12 秒
请参阅官方文档了解最新的时长限制。
如何提高生成质量?
- 使用详细的提示词:包含场景、动作、光线、镜头角度和风格
- 选择合适的时长:较短的时长(4-8 秒)通常质量更好
- 提供高质量的参考图像:清晰、构图良好的图像可以引导更好的结果
- 使用故事板模式:对于复杂的多镜头视频,使用故事板格式
如何检查视频生成状态?
创建视频后,使用返回的 id 查询状态:
video_id = result['id']
status_url = f"https://api.wisgate.ai/v1/videos/{video_id}"
response = requests.get(status_url, headers=headers)
status = response.json()
print(f"状态: {status['status']}, 进度: {status['progress']}%")
如何下载生成的视频?
状态变为 completed 后,从状态查询结果的 meta_data.url 获取下载链接:
status_url = f"https://api.wisgate.ai/v1/videos/{video_id}"
response = requests.get(status_url, headers=headers)
result = response.json()
if result['status'] == 'completed':
video_url = result['meta_data']['url']
video_response = requests.get(video_url, stream=True)
with open("generated_video.mp4", "wb") as f:
for chunk in video_response.iter_content(chunk_size=8192):
f.write(chunk)