Руководство по миграции

Планируйте работу после Sora 2

Стабилизируйте продукт нейтральным контрактом, своим хранилищем и проверенными моделями.

Нейтральная форма запроса
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>;
}

Отделите продукт от модели

Нормализуйте входы, статусы, ошибки и URL до кода конкретного провайдера.

Сора 2 + Стабильный + Про

Выберите модельную цепочку, которая соответствует вашим требованиям по качеству и стоимости: sora-2, sora-2-stable или sora-2-pro.

Прозрачный биллинг

Каждый вызов стоит 100 кредитов за 10 с сора-2/сора-2-стабильный, 150 кредитов за 15 с сора-2/сора-2-стабильный или 150 кредитов за сора-2-про, с автоматическим возвратом средств в случае сбоя генерации.

Предсказуемый опрос

Создайте задачу, а затем опросите конечную точку результатов проверки, чтобы синхронизировать состояние и прогресс без SSE.

Рекомендуемый порядок интеграции

Срок миграции

OpenAI планирует отключить Sora 2 и Videos API 24 сентября 2026 года. Проверьте замену.

Создайте задачу

Отправьте запрос Tikdek с приглашением, а затем сохраните возвращенный идентификатор задачи.

Отслеживайте прогресс

Вызывайте конечную точку результата проверки до тех пор, пока статус не станет успешным или неудачным.

Доставьте видео

Используйте URL-адреса, сохраненные в хранилище, в result_url/result_urls для показа или загрузки сгенерированного видео.

Часто задаваемые вопросы

Как мне подтвердить свои запросы?

Создайте ключ API в консоли, затем включите его в качестве авторизации: предъявитель YOUR_API_KEY. Ключи можно поворачивать в любое время.

Как я должен опросить результаты?

После вызова create сохраните идентификатор задачи. Вызывайте /api/video-generations/check-result каждые 3–5 секунд, пока статус не будет успешным или неудачным, затем используйте result_url/result_urls.

Как распределяются кредиты в случае неудач?

Мы автоматически возвращаем кредиты в случае сбоя задачи и возвращаем return_trans_no плюс Credits_refunded=true в полезных данных результатов проверки для контрольного журнала.

Сделайте следующую смену модели рутиной

Сохраняйте endpoints стабильными, а выбор провайдера держите в заменяемом адаптере.