Sora 2 + Stable + Pro
按质量与成本选择模型:sora-2, sora-2-stable 或 sora-2-pro。
type VideoGenerationRequest = {
prompt: string;
imageUrl?: string;
aspectRatio: "16:9" | "9:16";
durationSeconds: number;
quality: "standard" | "high";
callbackUrl?: string;
};
type VideoGenerationResult = {
id: string;
status: "queued" | "running" | "succeeded" | "failed";
progress: number;
outputUrl?: string;
errorCode?: string;
};
interface VideoProvider {
create(input: VideoGenerationRequest): Promise<{ id: string }>;
retrieve(id: string): Promise<VideoGenerationResult>;
}在供应商代码进入业务之前,先统一输入、状态、错误与结果地址。
按质量与成本选择模型:sora-2, sora-2-stable 或 sora-2-pro。
sora-2 与 sora-2-stable 按时长计费:10s 100 积分、15s 150 积分;sora-2-pro 每次 150 积分,失败任务自动退款,便于统计成本。
创建任务后调用 check-result 轮询状态与进度,无需 SSE 长连。
迁移时间点
OpenAI 计划于 2026 年 9 月 24 日下线 Sora 2 模型与 Videos API,请在上线前验证备用方案。
发送 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,便于对账。
保持应用端点稳定,把供应商选择限制在可替换的适配层中。