Видео
Видео генерируется дольше HTTP-таймаута, поэтому работает по схеме «задача → опрос → скачивание».
1. Создать задачу
Заголовок раздела «1. Создать задачу»curl https://api.mixen.ai/v1/videos \ -H "Authorization: Bearer $MIXEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.5", "prompt": "Дрон облетает маяк на скалистом берегу, рассвет", "seconds": "5", "size": "1280x720" }'Ответ приходит сразу со статусом queued:
{"id": "video_...", "object": "video", "model": "bytedance/seedance-2.5", "status": "queued"}| Поле | Описание |
|---|---|
model |
Модель из каталога или псевдонимы sora-2 / sora-2-pro; по умолчанию sora-2 |
prompt |
Описание сцены, обязательное |
seconds |
Длительность; допустимые значения — поле seconds в каталоге |
size |
Размер WxH; допустимые — поле sizes в каталоге |
input_reference |
Image-to-video: {"image_url": "data:image/png;base64,..."} |
input_references |
Reference-to-video: от 2 до 9 картинок, только у моделей с поддержкой |
Для input_reference принимаются только data:-URL — внешние ссылки не подойдут, картинку нужно закодировать в base64.
2. Опросить статус
Заголовок раздела «2. Опросить статус»curl https://api.mixen.ai/v1/videos/video_... \ -H "Authorization: Bearer $MIXEN_API_KEY"Статусы: queued → in_progress → completed либо failed. Разумный интервал опроса — 5–10 секунд; чаще смысла нет, а лимит запросов тратится.
Задача, зависшая дольше 20 минут, автоматически переводится в failed, деньги за неё не списываются.
3. Скачать результат
Заголовок раздела «3. Скачать результат»curl -L https://api.mixen.ai/v1/videos/video_.../content \ -H "Authorization: Bearer $MIXEN_API_KEY" \ -o result.mp4Эндпоинт отдаёт готовый mp4.
Image-to-video
Заголовок раздела «Image-to-video»{ "model": "happyhorse-1.1", "prompt": "Камера медленно наезжает, волосы шевелит ветер", "input_reference": {"image_url": "data:image/jpeg;base64,/9j/4AAQ..."}}Важная особенность: модели этого класса наследуют соотношение сторон исходной картинки и игнорируют явный size. Хотите вертикальное видео — подавайте вертикальный образец.
Апскейл
Заголовок раздела «Апскейл»POST /v1/videos/upscale принимает multipart/form-data с готовым файлом:
curl https://api.mixen.ai/v1/videos/upscale \ -H "Authorization: Bearer $MIXEN_API_KEY" \ -F video=@clip.mp4 \ -F upscale_factor=2 \ -F creativity=0upscale_factor по умолчанию 1.5, creativity — 0: на нуле апскейлер сохраняет кадр как есть, выше — дорисовывает детали и может изменить лица.
Апскейл — тоже асинхронная задача: ответ придёт со status: queued, дальше опрос и скачивание теми же эндпоинтами /videos/{id}.
Видео тарифицируется по секундам: per_second_rub из каталога умножается на фактическую длительность. Разрешение влияет на цену — 720p дороже 480p у одной и той же модели, поэтому сверяйтесь с каталогом перед тем, как ставить генерацию в цикл.