Создавайте, редактируйте и управляйте видео с помощью Sora API.
Sora — это новейшая разработка OpenAI в области генеративных медиа: современная модель для создания видео, способная генерировать детализированные динамические ролики со звуком на основе текстового описания или изображений. Построенная на многолетних исследованиях мультимодальной диффузии и обученная на разнообразных визуальных данных, Sora обладает глубоким пониманием 3D-пространства, движения и непрерывности сцен.
Video API предоставляет пять эндпоинтов, каждый из которых имеет свои возможности:
- Создание видео: запуск нового задания рендеринга из промпта с опциональными референсными изображениями или ID ремикса
- Получение статуса видео: проверка текущего состояния задания и мониторинг его прогресса
- Скачивание видео: получение готового MP4-файла после завершения задания
- Список видео (не поддерживается в ProxyAPI): просмотр ваших видео с пагинацией для истории или управления
- Удаление видео: удаление отдельного видео по ID из хранилища OpenAI
Вторая генерация модели Sora представлена в двух вариантах, каждый из которых оптимизирован для разных задач.
sora-2 разработана для скорости и гибкости. Она идеальна для фазы исследования, когда вы экспериментируете с тоном, структурой или визуальным стилем и нуждаетесь в быстрой обратной связи, а не в идеальном качестве.
Модель быстро генерирует результаты хорошего качества, что делает её подходящей для быстрой итерации, концептуализации и черновых версий. sora-2 часто более чем достаточна для контента в социальных сетях, прототипов и сценариев, где время важнее ультравысокого качества.
sora-2-pro производит результаты более высокого качества. Это лучший выбор, когда вам нужен продакшн-уровень вывода.
sora-2-pro требует больше времени на рендеринг и стоит дороже, но производит более качественные и стабильные результаты. Она лучше всего подходит для высокоразрешенного кинематографического материала, маркетинговых активов и любых ситуаций, где визуальная точность критична.
Генерация видео — это асинхронный процесс:
- При вызове эндпоинта
POST /videosAPI возвращает объект задания сidи начальнымstatus. - Вы можете опрашивать эндпоинт
GET /videos/{video_id}до тех пор, пока статус не изменится наcompleted. - Когда задание достигнет состояния
completed, вы можете скачать финальный MP4-файл черезGET /videos/{video_id}/content.
Начните с вызова POST /videos с текстовым промптом и необходимыми параметрами. Промпт определяет творческий вид и настроение — объекты, камеру, освещение и движение, — в то время как параметры вроде size и seconds контролируют разрешение и длительность видео.
curl -X POST "https://api.proxyapi.ru/openai/v1/videos" \ -H "Authorization: Bearer <КЛЮЧ>" \ -H "Content-Type: multipart/form-data" \ -F prompt="Видео с надписью 'Спасибо' сверкающими буквами" \ -F model="sora-2-pro" \ -F size="1280x720" \ -F seconds="8"
Ответ представляет собой JSON-объект с уникальным id и начальным статусом, таким как queued или in_progress. Это означает, что задание рендеринга запущено.
{ "id": "video_68d7512d07848190b3e45da0ecbebcde004da08e1e0678d5", "object": "video", "created_at": 1758941485, "status": "queued", "model": "sora-2-pro", "progress": 0, "seconds": "8", "size": "1280x720" }
API применяет несколько ограничений по контенту:
- Только контент, подходящий для аудитории младше 18 лет
- Персонажи и музыка, защищённые авторским правом, будут отклонены
- Нельзя генерировать реальных людей, включая публичных личностей
- Входные изображения с лицами людей в настоящее время отклоняются
Убедитесь, что промпты, референсные изображения и описания соответствуют этим правилам, чтобы избежать неудачных генераций.
Для лучших результатов описывайте тип кадра, объект, действие, обстановку и освещение. Например:
- "Широкий кадр ребёнка, запускающего красного воздушного змея на травянистом поле, золотой час, камера медленно панорамирует вверх."
- "Крупный план чашки горячего кофе на деревянном столе, утренний свет сквозь жалюзи, мягкая глубина резкости."
Такой уровень детализации помогает модели создавать последовательные результаты без добавления нежелательных деталей.
Генерация видео занимает время. В зависимости от модели, нагрузки на API и разрешения, один рендер может занять несколько минут.
Для эффективного управления вы можете опрашивать API для получения обновлений статуса.
Вызовите GET /videos/{video_id} с ID, полученным из запроса создания. Ответ покажет текущий статус задания, процент прогресса (если доступен) и любые ошибки.
Типичные состояния: queued, in_progress, completed и failed. Опрашивайте с разумным интервалом (например, каждые 10–20 секунд), используйте экспоненциальную задержку при необходимости и информируйте пользователей о том, что задание всё ещё выполняется.
curl "https://api.proxyapi.ru/openai/v1/videos/video_abc123" \ -H "Authorization: Bearer <КЛЮЧ>"
Пример ответа:
{ "id": "video_68d7512d07848190b3e45da0ecbebcde004da08e1e0678d5", "object": "video", "created_at": 1758941485, "status": "in_progress", "model": "sora-2-pro", "progress": 33, "seconds": "8", "size": "1280x720" }
Когда задание достигнет статуса completed, получите MP4-файл через GET /videos/{video_id}/content. Этот эндпоинт передаёт бинарные данные видео и возвращает стандартные заголовки контента, поэтому вы можете либо сохранить файл напрямую на диск, либо передать его в облачное хранилище.
curl -L "https://api.proxyapi.ru/openai/v1/videos/video_abc123/content" \ -H "Authorization: Bearer <КЛЮЧ>" \ --output video.mp4
Теперь у вас есть готовый видеофайл для воспроизведения, редактирования или распространения. URL для скачивания действительны максимум 1 час после генерации. Если вам нужно долгосрочное хранение, скопируйте файл в вашу собственную систему хранения незамедлительно.
Для каждого завершённого видео вы также можете скачать превью (thumbnail) и спрайтшит (spritesheet). Это лёгкие ресурсы, полезные для предпросмотров, навигации по видео или каталогов. Используйте параметр запроса variant, чтобы указать, что вы хотите скачать. По умолчанию используется variant=video для MP4.
curl -L "https://api.proxyapi.ru/openai/v1/videos/video_abc123/content?variant=thumbnail" \ -H "Authorization: Bearer <КЛЮЧ>" \ --output thumbnail.webp curl -L "https://api.proxyapi.ru/openai/v1/videos/video_abc123/content?variant=spritesheet" \ -H "Authorization: Bearer <КЛЮЧ>" \ --output spritesheet.jpg
Вы можете направлять генерацию с помощью входного изображения, которое выступает в роли первого кадра вашего видео. Это полезно, если вам нужно, чтобы выходное видео сохраняло вид брендового актива, персонажа или конкретной среды. Включите файл изображения как параметр input_reference в ваш запрос POST /videos. Изображение должно соответствовать разрешению целевого видео (size).
Поддерживаемые форматы файлов: image/jpeg, image/png и image/webp.
curl -X POST "https://api.proxyapi.ru/openai/v1/videos" \ -H "Authorization: Bearer <КЛЮЧ>" \ -H "Content-Type: multipart/form-data" \ -F prompt="Она оборачивается и улыбается, затем медленно выходит из кадра." \ -F model="sora-2-pro" \ -F size="1280x720" \ -F seconds="8" \ -F input_reference="@sample_720p.jpeg;type=image/jpeg"
Ремикс позволяет взять существующее видео и внести целенаправленные изменения без регенерации всего с нуля. Укажите remix_video_id завершённого задания вместе с новым промптом, описывающим изменение, и система переиспользует структуру, непрерывность и композицию оригинала, применяя модификацию. Это работает лучше всего, когда вы вносите одно, чётко определённое изменение, потому что меньшие, сфокусированные правки сохраняют больше от оригинального качества и снижают риск появления артефактов.
curl -X POST "https://api.proxyapi.ru/openai/v1/videos/<previous_video_id>/remix" \ -H "Authorization: Bearer <КЛЮЧ>" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Измени цветовую палитру на бирюзовый, песочный и ржавый, с тёплой подсветкой." }'
Ремикс особенно ценен для итерации, потому что он позволяет дорабатывать, не отбрасывая то, что уже работает. Ограничивая каждый ремикс одной чёткой корректировкой, вы сохраняете визуальный стиль, согласованность объекта и кадрирование камеры стабильными, при этом всё ещё исследуя вариации в настроении, палитре или постановке.
Получение списка видео (GET /videos) в настоящее время не поддерживается в ProxyAPI.
Используйте DELETE /videos/{video_id} для удаления видео, которые вам больше не нужны, из хранилища OpenAI.
curl -X DELETE "https://api.proxyapi.ru/openai/v1/videos/video_abc123" \ -H "Authorization: Bearer <КЛЮЧ>"