Разделы документации
Видео из изображенияготовится
Планируемый контракт: стартовый кадр плюс описание движения. Раздела в API пока нет.
Что это будет
Генерация короткого видео из одного стартового кадра. Вы передаёте картинку (первый кадр) и текстовое описание движения — что должно произойти в кадре: как двигается камера, объект, свет. Модель достраивает ролик от этого кадра.
Задача считается долгой: ответ приходит не сразу. Планируется асинхронная схема — вы создаёте задачу, получаете идентификатор, затем опрашиваете её статус и в конце забираете ссылку на файл.
Запрос
Базовый адрес тот же: https://api.librachat.kz/v1. Авторизация тем же ключом: заголовок Authorization: Bearer sk-libra-… . Тело — JSON или multipart/form-data, если стартовый кадр отправляется файлом.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| model | строка | да | Идентификатор видеомодели, например libra-video |
| prompt | строка | да | Описание движения: что происходит в кадре, как ведёт себя камера |
| image | строка | да | Стартовый кадр: data-URL с base64 или ссылка на ранее загруженный файл |
| size | строка | нет | Разрешение: 854x480 или 1280x720. По умолчанию 854x480 |
| seconds | число | нет | Длительность в секундах, целое. По умолчанию 5 |
| negative_prompt | строка | нет | Чего в кадре быть не должно |
| seed | число | нет | Фиксирует случайность, чтобы повторить результат |
Планируемые ограничения: длительность от 1 до 10 секунд; стартовый кадр — PNG или JPEG, до 10 МБ, соотношение сторон приводится к выбранному разрешению; одновременно на аккаунт — не больше 2 задач в работе. Общий лимит на ключ (120 запросов в минуту) действует и здесь, он считает обращения, а не секунды видео.
Ответ и получение результата
Создание задачи отвечает сразу, со статусом queued. Дальше вы опрашиваете GET /v1/videos/{id} раз в несколько секунд, пока статус не станет completed или failed.
Ошибки планируются в том же виде, что и в текстовой части: 401 no_api_key и invalid_api_key, 402 insufficient_balance, 429 rate_limited, 502 upstream_error. Тексты русские, Content-Type: application/json; charset=utf-8.
Сколько это стоит
Видео тарифицируется посекундно, плюс отдельно оплачивается стартовый кадр — он считается изображением на входе.
| Позиция | Цена |
|---|---|
| 480p (854x480) | 21,60 ₽ за секунду |
| 720p (1280x720) | 37,80 ₽ за секунду |
| Стартовый кадр | 2,70 ₽ за штуку |
Пример: ролик 5 секунд в 720p — 5 × 37,80 = 189 ₽, плюс 2,70 ₽ за кадр, итого 191,70 ₽. Тот же ролик в 480p — 5 × 21,60 + 2,70 = 110,70 ₽. Неудачная задача (status: failed) не оплачивается.
Важно: сейчас баланс аккаунта ведётся в токенах и списывается из поля usage в ответе модели. Посекундной и поштучной тарификации в биллинге ещё нет — её нужно сделать отдельно, вместе с пересчётом рублей в токены по курсу пополнения (450 ₽ за 1 млн токенов).