Skip to main content
В этой статье будет представлена инструкция по интеграции API генерации видео Sora, с помощью которого можно вводить пользовательские параметры для создания видео от Sora. Этот API поддерживает два режима версий:
  • Версия 1 (классический режим): поддерживает параметры duration (10/15/25 секунд), orientation (горизонтальный/вертикальный), size (маленький/большой четкости), ссылки на изображения image_urls, видео персонажа character_url и другие.
  • Версия 2 (партнерский режим): поддерживает параметры seconds (4/8/12 секунд), разрешение на уровне пикселей size (например, 1280x720), ссылки на изображения input_reference и другие.

Процесс подачи заявки

Чтобы использовать API генерации видео Sora, сначала перейдите в консоль Ace Data Cloud и получите ваш API Token для дальнейшего использования. Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на страницу входа, где вам предложат зарегистрироваться и войти. После завершения вы будете автоматически возвращены на текущую страницу. Один API Token позволяет использовать все услуги платформы, не нужно подавать отдельные заявки для каждой услуги. При первой подаче заявки предоставляется бесплатный лимит для тестирования; при недостатке лимита вы можете пополнить общий баланс в консоли.
📘 Полная документация: API генерации видео Sora →

Основное использование (Версия 1)

Сначала ознакомьтесь с основным способом использования Версии 1, который заключается в вводе подсказки prompt, массива ссылок на изображения image_urls и модели model, чтобы получить обработанный результат. Конкретное содержание следующее:

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

Нажмите кнопку «Попробовать», чтобы провести тестирование, как показано на изображении, и мы получили следующий результат:
Возвращаемый результат содержит несколько полей, описание которых следующее:
  • success: статус выполнения задачи по генерации видео.
  • task_id: ID задачи по генерации видео.
  • trace_id: ID отслеживания задачи по генерации видео.
  • data: список результатов задачи по генерации видео.
    • id: ID видео задачи по генерации видео.
    • video_url: ссылка на видео задачи по генерации видео.
    • state: статус задачи по генерации видео.
Как видно, мы получили удовлетворительную информацию о видео, нам нужно только получить сгенерированное видео Sora по ссылке на видео из результата data. Кроме того, если вы хотите сгенерировать соответствующий код интеграции, вы можете просто скопировать его, например, код CURL выглядит следующим образом:

Задача по генерации видео из изображений (Версия 1)

Если вы хотите выполнить задачу по генерации видео из изображений, сначала параметр image_urls должен содержать ссылки на изображения, чтобы можно было указать следующее содержание:
  • image_urls: массив ссылок на изображения, используемых в этой задаче по генерации видео. Обратите внимание, что нельзя передавать реальные изображения с лицами, иначе это может привести к сбою задачи.
Пример заполнения:

После заполнения автоматически сгенерирован следующий код:

Соответствующий код:
Нажмите “Запустить”, и вы сразу получите результат, как показано ниже:
Можно увидеть, что сгенерированный эффект - это видео, созданное на основе изображения, результат аналогичен вышеупомянутому.

Задача по созданию видео с персонажем (Версия 1)

Если вы хотите выполнить задачу по созданию видео с персонажем, сначала параметр character_url должен содержать ссылку на видео, необходимую для создания персонажа, обратите внимание, что в видео не должно быть реальных людей, иначе это приведет к ошибке, можно указать следующее содержимое:
  • character_url: ссылка на видео, необходимую для создания персонажа, обратите внимание, что в видео не должно быть реальных людей, иначе это приведет к ошибке.
Пример заполнения ниже:

После заполнения автоматически сгенерирован код, как показано ниже:

Соответствующий код:
Нажмите “Запустить”, и вы сразу получите результат, как показано ниже:
Можно увидеть, что сгенерированный эффект - это видео с персонажем, результат аналогичен вышеупомянутому.

Режим Version 2.0

Кроме вышеупомянутого режима Version 1.0, этот API также поддерживает режим Version 2.0, который можно активировать, установив параметр version в "2.0". Режим Version 2.0 поддерживает более короткую продолжительность видео и контроль разрешения на уровне пикселей.

Описание параметров Version 2.0

Основной пример

Соответствующий код на Python:
Соответствующий код на JavaScript:
Формат возвращаемого результата аналогичен версии 1.

Использование эталонного изображения (Версия 2.0)

В режиме Версия 2.0 можно передать эталонные изображения через параметр image_urls, чтобы направить генерацию видео (используется только первое изображение):
Примечание: Размер эталонного изображения должен соответствовать параметру size, например, если size равно 1280x720, то размер эталонного изображения должен быть 1280×720.

Сравнение параметров Версии 1.0 и Версии 2.0

Асинхронный обратный вызов

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

Нажмите “Запустить”, и вы сразу получите результат, как показано ниже:
Подождите немного, и вы сможете наблюдать результаты генерации видео на 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: Внутренняя ошибка сервера, что-то пошло не так на сервере.

Пример ответа об ошибке

Заключение

С помощью этого документа вы уже узнали, как использовать API генерации видео Sora для создания видео на основе вводимых подсказок и референсных изображений. Надеемся, что этот документ поможет вам лучше интегрировать и использовать данный API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.