Sora 2 + Stable + Pro
按质量与成本选择模型:sora-2, sora-2-stable 或 sora-2-pro。
import os
import time
import requests
base_url = "https://sora2-api.com"
headers = {
"Authorization": f"Bearer {os.environ['TIKDEK_API_KEY']}",
"Content-Type": "application/json",
}
created = requests.post(
f"{base_url}/api/v1/video/sora-video",
headers=headers,
json={
"model": "sora-2-pro",
"prompt": "Slow camera push-in, rain moving across the frame",
"url": "https://example.com/reference-frame.jpg",
"aspectRatio": "16:9",
"webHook": "-1",
"isPublic": False,
},
timeout=30,
)
created.raise_for_status()
task_id = created.json()["data"]["id"]
for _ in range(90):
response = requests.post(
f"{base_url}/api/video-generations/check-result",
headers=headers,
json={"taskId": task_id},
timeout=30,
)
response.raise_for_status()
task = response.json()["data"]
if task["status"] == "succeeded":
video = requests.get(task["result_url"], timeout=120)
video.raise_for_status()
open("result.mp4", "wb").write(video.content)
break
if task["status"] == "failed":
raise RuntimeError(task.get("error_message") or "Generation failed")
time.sleep(4)
else:
raise TimeoutError(f"Task {task_id} did not finish in time")示例直接调用 Tikdek 线上接口,并处理所有任务终态。
按质量与成本选择模型:sora-2, sora-2-stable 或 sora-2-pro。
创建任务后调用 check-result 轮询状态与进度,无需 SSE 长连。
最多同时处理 20 个视频生成任务。如需更高并发,请通过邮件联系我们。
让集成满足生产要求
API Key 仅保存在服务端,限制重试次数,记录任务 ID,并及时持久化结果文件。
发送 Sora 2 接口,携带提示词,并保存返回的 taskId。
调用查询接口,直到状态变为 succeeded 或 failed。
使用 result_url / result_urls 中已经上传到存储的地址向用户交付视频。
在控制台创建 API Key 后,以 Authorization: Bearer YOUR_API_KEY 发送请求,可随时在控制台轮换密钥。
调用创建接口后保存 taskId,每 3-5 秒调用 /api/video-generations/check-result,直到状态为 succeeded 或 failed,再使用 result_url/result_urls。
系统会自动返还积分,并在查询结果中返回 refund_trans_no 与 credits_refunded=true,便于对账。
先创建 API Key 并运行示例,任务量提升后再接入 Webhook。