PlusVibe AIPlusVibeAI

Генерация изображений и видео

Асинхронная генерация изображений и видео по текстовому описанию. Создаёте задачу и опрашиваете результат.

POSThttps://plusvibeapi.ru/api/media/generate
GEThttps://plusvibeapi.ru/api/media/jobs/{id}

Параметры создания

ПараметрТипОписание
modelобяз.stringИмя медиа-модели, например veo-3.1 или gpt-image-2 (см. каталог).
promptобяз.stringТекстовое описание.
optsobjectДоп. параметры генерации (зависят от модели): разрешение, длительность и т. п.

Создание и опрос

Создание возвращает 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 отправляется по принципу «постарались и забыли»: если ваш сервер недоступен, повторов нет — оставьте опрос как запасной путь. Адрес настраивается и очищается в кабинете.