Процес подачі заявки
Щоб використовувати API, спочатку потрібно перейти на сторінку Sora Videos Generation API для подачі заявки на відповідну послугу. Після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку:
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід. Після входу або реєстрації ви автоматично повернетеся на поточну сторінку.
При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.
Основне використання
Спочатку розглянемо основний спосіб використання, а саме введення підказкиprompt, масиву посилань на зображення image_urls та моделі model, що дозволяє отримати оброблений результат. Конкретний зміст наведено нижче:

accept: формат відповіді, який ви хочете отримати, тут вказаноapplication/json, тобто формат JSON.authorization: ключ для виклику API, який можна вибрати після подачі заявки.
model: модель для генерації відео, основні з якихsora-2,sora-2-pro. Наразіsora-2таsora-2-proдозволяють самостійно вибирати параметриsize,duration, деsora-2-proпідтримує тривалість 25 секунд, аsora-2лише 10 або 15 секунд.size: чіткість завдання на генерацію відео, доступніsmall,large.image_urls: посилання на зображення або масив кодування Base64, які потрібно завантажити.duration: тривалість завдання на генерацію відео, доступні 10s, 15s, 25s, наразі лишеsora-2-proпідтримує 25s.character_start/character_end: початкова та кінцева позиція персонажа на екрані (0-1), для контролю положення об’єкта.orientation: орієнтація зображення, підтримуєlandscape,portrait,square.prompt: підказка.callback_url: URL для отримання результатів.

success: статус завдання на генерацію відео.task_id: ID завдання на генерацію відео.trace_id: ID відстеження генерації відео.data: список результатів завдання на генерацію відео.id: ID відео завдання на генерацію.video_url: посилання на відео завдання на генерацію.state: статус завдання на генерацію відео.
video_url з результату data.
Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
Завдання на генерацію відео з зображення
Якщо ви хочете створити завдання на генерацію відео з зображення, спочатку параметрimage_urls повинен містити посилання на зображення, щоб можна було вказати наступний зміст:
- image_urls: масив посилань на зображення, що використовуються для цього завдання на генерацію відео.


Завдання на створення відео з персонажем
Якщо ви хочете створити відео з персонажем, спочатку параметрcharacter_url повинен містити посилання на відео, необхідне для створення персонажа, зверніть увагу, що у відео не повинно бути реальних людей, інакше це призведе до невдачі, ви можете вказати наступний зміст:
- character_url: посилання на відео, необхідне для створення персонажа, зверніть увагу, що у відео не повинно бути реальних людей, інакше це призведе до невдачі.


Асинхронний зворотний виклик
Оскільки час генерації API Sora Videos Generation відносно довгий, приблизно 1-2 хвилини, якщо API довго не відповідає, HTTP запит буде постійно підтримувати з’єднання, що призведе до додаткових витрат системних ресурсів, тому цей API також надає підтримку асинхронних зворотних викликів. Загальний процес: коли клієнт ініціює запит, додатково вказується полеcallback_url, після ініціювання API запиту, API відразу поверне результат, що містить інформацію про поле task_id, що представляє поточний ID завдання. Коли завдання завершено, результат згенерованого відео буде надіслано на вказаний клієнтом callback_url у форматі POST JSON, в якому також буде включено поле task_id, таким чином результати завдання можна буде пов’язати за ID.
Далі ми розглянемо приклад, щоб зрозуміти, як саме це працює.
По-перше, Webhook зворотний виклик - це служба, яка може приймати HTTP запити, розробники повинні замінити на URL свого власного HTTP сервера. Для зручності демонстрації використовується публічний веб-сайт з прикладами Webhook https://webhook.site/, відкривши цей сайт, ви отримаєте URL Webhook, як показано на малюнку:
Скопіюйте це URL, і ви зможете використовувати його як Webhook, приклад тут - https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa.
Далі ми можемо налаштувати поле callback_url на вказаний Webhook URL, одночасно заповнивши відповідні параметри, конкретний зміст, як показано на малюнку:

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, як показано на малюнку:
Зміст наступне:
task_id, інші поля схожі на наведені вище, через це поле можна реалізувати зв’язок завдань.
Обробка помилок
При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

