Генерация изображений и видео
Асинхронная генерация изображений и видео по текстовому описанию. Создаёте задачу и опрашиваете результат.
POSThttps://plusvibeapi.ru/api/media/generate
GEThttps://plusvibeapi.ru/api/media/jobs/{id}
Параметры создания
| Параметр | Тип | Описание |
|---|---|---|
modelобяз. | string | Имя медиа-модели, например veo-3.1 или gpt-image-2 (см. каталог). |
promptобяз. | string | Текстовое описание. |
opts | object | Доп. параметры генерации (зависят от модели): разрешение, длительность и т. п. |
Создание и опрос
Создание возвращает 202 с { ok: true, jobId, status: "processing" }. Опрашивайте GET /api/media/jobs/{jobId} до status: "success", затем заберите resultUrls.
# 1. создать задачу генерации
curl https://plusvibeapi.ru/api/media/generate \
-H "Authorization: Bearer $PLUSVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1",
"prompt": "кот на скейте, замедленная съёмка"
}'
# → {"ok":true,"jobId":"...","status":"processing"}Списание считается по фактическому объёму генерации (разрешение, длительность). Если модель недоступна или запрос отклонён, ответ приходит с
ok: false без списания.Webhook готовности (вместо опроса)
Чтобы не опрашивать задачу, зарегистрируйте в личном кабинете один адрес mediaWebhookUrl. Когда задача завершится (успехом или ошибкой), мы один раз отправим на него POST с JSON-телом:
// POST на ваш mediaWebhookUrl при завершении задачи
{
"jobId": "...",
"status": "success", // или "fail"
"model": "veo-3.1",
"kind": "video", // image | video
"resultUrls": ["https://plusvibeapi.ru/api/media/file/..."],
"failMsg": null,
"createdAt": "2026-06-17T10:00:00.000Z"
}Ссылки в
resultUrls — те же подписанные адреса, что и при опросе. Webhook отправляется по принципу «постарались и забыли»: если ваш сервер недоступен, повторов нет — оставьте опрос как запасной путь. Адрес настраивается и очищается в кабинете.