Обзор
Oxygen — это модель генерации видео, предоставляемая AZ8, сингапурской платформой для создания ИИ-видео (ранее Videoinu). APIYI предоставляет её какoxygen-1.0 через API, совместимый с OpenAI Videos (POST /v1/videos для отправки, GET /v1/videos/{id} для запроса статуса), с клипами продолжительностью от 4 до 15 секунд в разрешениях 320p / 480p / 768p, с тарификацией $0.02 за секунду независимо от разрешения.
Справочник по API генерации видео
Бонусы за пополнение
Пусть AI-агент выполнит интеграцию за вас
.md к любому URL документации), а затем напишет код под ваш стек. Типичные ошибки уже учтены: всегда передавайте size, помещайте расширенные параметры в JSON-конверт input_reference и задавайте длительность только через seconds.Поручите агенту написания кода интеграцию или отладку генерации видео с помощью Oxygen (oxygen-1.0). Скопируйте и вставьте это в Codex, Claude Code, Cursor и т. д.
От чего защищает этот prompt
От чего защищает этот prompt
Почему Oxygen от APIYI?
Оптовые цены
Автоматический возврат средств
Совместимость с OpenAI Videos
/v1/videos, поэтому существующий код в стиле Sora потребует минимум измененийСуммирование бонусов за пополнение
Полная линейка видеомоделей
Глобальный доступ
api.apiyi.com с помощью одного API-ключа без необходимости зарубежного аккаунтаКлючевые возможности
Четыре режима генерации
Три разрешения
Любая целая длительность от 4 до 15 с
Встроенное аудио
Тарифы
- Тарификация осуществляется по запрошенной
seconds, средства списываются при принятии задачи; фактический ролик длится немного дольше (около 4,5 с при запросе на 4 с) без дополнительной платы - Разрешение, соотношение сторон и референсные медиафайлы не влияют на цену
- Задачи с ошибками (сбой провайдера, таймаут и т. д.) автоматически возвращаются в полном объеме
- Отправка запросов, вернувших статус 400, не тарифицируется; проверка статуса и скачивание бесплатны
Настройка группы
oxygen-1.0 работает в группе default, также подходит группа svip. Установите режим тарификации token на Pay-as-you-go Priority. Если при вызове возвращается «no available channel in the current group», значит, в группе token нет этой модели либо имя model указано с ошибкой.
Технические характеристики
Эндпоинты API
Режимы генерации
Действуют только пять полей верхнего уровня:model, prompt, seconds, size и input_reference. Первый и последний кадры, референсные медиафайлы, 320p и 1:1 — это расширенные параметры, которые помещаются в JSON-оболочку input_reference (строку JSON, начинающуюся с {):
size сопоставляется с разрешением:
Рекомендации
Сначала тестируйте на 4 секундах
Всегда указывайте size
1280x720, портретная — 720x1280; для более высокой детализации используйте 1792x1024 / 1024x1792 (768p)Используйте первый и последний кадры с близким соотношением сторон
Размещайте медиафайлы в надежном публичном хранилище
Опрашивайте каждые 5 секунд с таймаутом 15 минут
Сразу сохраняйте video_url в собственное хранилище
Коды ошибок и повторные попытки
message ответа, например {"message":"{\"error\":{\"code\":\"invalid_params\",...}}","type":"task_error"}, поэтому выполните парсинг повторно.Часто задаваемые вопросы
Почему моё горизонтальное видео получилось вертикальным?
Почему моё горизонтальное видео получилось вертикальным?
size не был передан. Без него шлюз по умолчанию использует 720x1280 (вертикальный формат). Для горизонтального видео явно укажите 1280x720 или 1792x1024.Почему last_image / reference_images не действуют?
Почему last_image / reference_images не действуют?
model, prompt, seconds, size и input_reference; всё остальное отбрасывается без предупреждения. Поместите их в JSON-оболочку input_reference, см. раздел «Режимы генерации» выше.Как получить 320p? Передача resolution ничего не даёт.
Как получить 320p? Передача resolution ничего не даёт.
resolution на верхнем уровне отбрасывается. Поместите его в оболочку: "input_reference": "{\"resolution\":\"320p\"}". Все три разрешения стоят одинаково.Отличается ли стоимость для разных разрешений?
Отличается ли стоимость для разных разрешений?
Статус указывает completed, но /content возвращает 400?
Статус указывает completed, но /content возвращает 400?
completed, для /v1/videos/{id}/content может потребоваться ещё несколько секунд. Вместо этого используйте video_url из ответа на запрос.Сколько действует ссылка на видео?
Сколько действует ссылка на видео?
expires_at в ответе на запрос). Своевременно скачайте и сохраните файл.Списываются ли средства за неудачные задачи?
Списываются ли средства за неудачные задачи?
failed средства автоматически возвращаются в полном объёме, а за отправку запросов, возвращающих 400, плата не взимается.Что делать при периодической ошибке upstream_error?
Что делать при периодической ошибке upstream_error?
Почему ролик немного длиннее, чем указано в секундах?
Почему ролик немного длиннее, чем указано в секундах?
seconds, поэтому дополнительная плата не взимается.Может ли первый кадр быть в base64?
Может ли первый кадр быть в base64?
input_reference и images в оболочке принимают data URI изображений (например, data:image/jpeg;base64,...). Опорные видео и аудио принимают только https URL.Можно ли задать соотношение сторон для генерации видео по изображению?
Можно ли задать соотношение сторон для генерации видео по изображению?
aspect_ratio игнорируется. Вы по-прежнему можете выбрать разрешение с помощью size или resolution в оболочке.