- Версия 1 (классический режим): поддерживает параметры
duration(10/15/25 секунд),orientation(горизонтальная/вертикальная ориентация),size(small/large разрешение), ссылку на референсное изображениеimage_urls, ссылку на персонажаcharacter_urlи др. - Версия 2 (режим для партнёров): поддерживает параметры
seconds(4/8/12 секунд), разрешение в пикселяхsize(например, 1280x720), ссылку на референсное изображениеinput_referenceи др.
Процесс подачи заявки
Для использования API необходимо подать заявку на соответствующем Sora Videos Generation API сайте. После перехода нажмите кнопку «Acquire», как показано на рисунке:
Если вы не вошли в систему или не зарегистрированы, вас автоматически перенаправит на страницу входа/регистрации. После входа вы автоматически вернётесь на текущую страницу.
При первой заявке предоставляется бесплатный лимит для использования API.
Основное использование (Версия 1)
Для начала рассмотрим базовый способ использования Версии 1: вводим подсказкуprompt, массив ссылок на референсные изображения image_urls и модель model, после чего получаем результат. Пример:

accept: формат ответа, здесьapplication/json(JSON).authorization: ключ доступа к API, который можно выбрать после подачи заявки.
model: модель для генерации видео, поддерживаетсяsora-2(стандартный режим) иsora-2-pro(HD режим). Модельsora-2-proподдерживает длительность видео 25 секунд,sora-2— только 10 и 15 секунд.size: разрешение видео,small— стандартное,large— HD (только для Версии 1).duration: длительность видео, поддерживаются 10, 15, 25 секунд (25 секунд только дляsora-2-pro).orientation: ориентация кадра, поддерживаетсяlandscape(горизонтальная) иportrait(вертикальная) (только для Версии 1).image_urls: массив ссылок на референсные изображения для генерации видео (только для Версии 1).character_url: ссылка на персонажа, в видео не должно быть реальных людей (только для Версии 1).character_start/character_end: время появления персонажа в секундах, диапазон 1-3 секунды (только для Версии 1).prompt: подсказка (обязательный параметр).callback_url: URL для асинхронного получения результата.version: версия API,"1.0"(по умолчанию) или"2.0".

success: статус задачи генерации видео.task_id: ID задачи генерации видео.trace_id: ID трассировки запроса.data: список результатов задачи генерации видео.id: ID сгенерированного видео.video_url: ссылка на сгенерированное видео.state: состояние задачи.
data.
Если хотите получить код для интеграции, можно скопировать автоматически сгенерированный, например CURL:
Задача генерации видео по изображению (Версия 1)
Для генерации видео по изображению необходимо передать параметрimage_urls с массивом ссылок на референсные изображения. Важно: нельзя использовать реальные фотографии с лицами, иначе задача может завершиться с ошибкой.
Пример заполнения:


Задача генерации видео с персонажем (Версия 1)
Для генерации видео с персонажем необходимо передать параметрcharacter_url с ссылкой на видео для создания персонажа. Важно: в видео не должно быть реальных людей, иначе задача завершится с ошибкой.
Пример заполнения:


Режим Version 2.0
Кроме Version 1.0, API поддерживает режим Version 2.0, который активируется установкой параметраversion в значение "2.0". В этом режиме поддерживается более короткая длительность видео и управление разрешением на уровне пикселей.
Пояснение параметров Version 2.0
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
version | string | Да | Установить значение "2.0" |
prompt | string | Да | Подсказка для генерации видео |
model | string | Нет | sora-2 (по умолчанию) или sora-2-pro |
duration | integer | Нет | Длительность видео: 4 (по умолчанию), 8, 12 секунд |
size | string | Нет | Разрешение: 720x1280 (по умолчанию), 1280x720, 1024x1792, 1792x1024 |
image_urls | array | Нет | Массив URL референсных изображений, используется только первое изображение, размер должен совпадать с size |
callback_url | string | Нет | URL для асинхронного получения результата |
Пример запроса
Использование референсных изображений (Version 2.0)
В режиме Version 2.0 можно передавать параметрimage_urls с референсным изображением для управления генерацией (используется только первое изображение):
Важно: размер референсного изображения должен совпадать с параметромsize, например, приsizeравном1280x720изображение должно иметь размер 1280×720 пикселей.
Сравнение параметров Version 1.0 и Version 2.0
| Параметр | Version 1.0 | Version 2.0 |
|---|---|---|
version | 1.0 (по умолчанию) | 2.0 |
prompt | ✅ | ✅ |
model | ✅ sora-2 / sora-2-pro | ✅ sora-2 / sora-2-pro |
duration | ✅ 10/15/25 секунд | ✅ 4/8/12 секунд |
orientation | ✅ landscape/portrait | ❌ |
size | ✅ small/large | ✅ 720x1280/1280x720/1024x1792/1792x1024 |
image_urls | ✅ несколько изображений | ✅ используется только первое изображение |
character_url | ✅ | ❌ |
callback_url | ✅ | ✅ |
Асинхронный callback
Поскольку генерация видео занимает около 1-2 минут, длительное ожидание ответа API может привести к излишнему потреблению системных ресурсов. Поэтому API поддерживает асинхронный callback. Процесс:- Клиент при отправке запроса указывает параметр
callback_url. - API сразу возвращает ответ с полем
task_id. - После завершения задачи API отправляет POST-запрос с JSON-данными на указанный
callback_url, включаяtask_id. - Клиент может сопоставить результаты с задачей по
task_id.
https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa
Указываем этот URL в поле callback_url и заполняем остальные параметры, как показано:

Пример содержимого callback:
task_id позволяет связать запрос и результат.
Обработка ошибок
При ошибках API возвращает соответствующий код и сообщение. Примеры:400 token_mismatched: неверный запрос, возможно, отсутствуют или некорректны параметры.400 api_not_implemented: неверный запрос, возможно, отсутствуют или некорректны параметры.401 invalid_token: неавторизован, неверный или отсутствующий токен.429 too_many_requests: превышен лимит запросов.500 api_error: внутренняя ошибка сервера.

