VlogMe / Для разработчиков

API генератора ИИ‑видео для кода, AI‑агентов и LLM.

Создавайте и оценивайте видеопроекты VlogMe через REST или подключайте AI‑агента к нативному Streamable HTTP MCP. API поддерживает асинхронные задачи, webhooks и генерацию говорящих аватаров.

Агент
REST API
MCP
Рендер
Webhook
curl https://vlogme.ai/api/v2/projects \
  -X POST \
  -H "Authorization: Bearer $VLOGME_TOKEN" \
  -H "Idempotency-Key: quickstart-001" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Welcome demo",
    "aspect_ratio": "16:9",
    "quality": "Balanced",
    "storyboard": [],
    "tracks": {"visual":[],"avatar_voice":[],"music":[],"sfx":[],"captions":[],"text":[]}
  }'
1313 разделов — нажмите для перехода
  1. 01Что можно создать
  2. 02VlogMe Avatar в Replicate
  3. 03Авторизация
  4. 04Быстрый запуск
  5. 05REST endpoints
  6. 06Создание ИИ‑видео
  7. 07Грамматика сценариев
  8. 08Webhooks
  9. 09MCP‑сервер
  10. 10Настройка клиентов
  11. 11Полный пример работы агента
  12. 12Skill для агента
  13. 13Ошибки и повторные запросы
01
Введение

Что можно создать

Программно создавайте видеопроекты и говорящие аватары в том же аккаунте, с теми же кредитами и историей, что и в веб‑приложении.

REST подходит для backend, автоматизации и продуктовой интеграции. MCP нужен, когда AI‑агент должен сам увидеть инструменты, рассчитать стоимость и отправить задачу.

Публичный v1 работает асинхронно: сохраните ID задачи, опрашивайте статус или принимайте подписанный webhook. Для генерации должно хватать кредитов на точный резерв.

  • Оценка стоимости до списания кредитов.
  • Говорящее видео из портрета и текста с голосом либо из готового аудио.
  • Прогресс задачи и временная подписанная ссылка на результат.
  • Безопасный повтор платного запроса с Idempotency-Key.
02
Hosted

VlogMe Avatar в Replicate

Для простого endpoint «изображение + аудио» публичный VlogMe Avatar bridge также доступен как hosted‑модель Replicate.

Этот вариант удобен, если инфраструктура и биллинг уже построены вокруг Replicate. Прямой API VlogMe остаётся полной поверхностью для кредитов, истории, REST и MCP.

Hosted bridge возвращает вертикальный MP4 с говорящим аватаром и по умолчанию включает субтитры.

03
Настройка

Авторизация

Передавайте Bearer token в каждом защищённом запросе. Токен показывается один раз — сохраните его в secret manager.

Создайте токен в Settings → API. Не помещайте его в браузерный JavaScript, мобильное приложение, публичный репозиторий или клиентские логи.

Базовый адрес REST: https://vlogme.ai/api/v2. При возможной утечке немедленно ротируйте токен.

http
Authorization: Bearer vlm_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
url
https://vlogme.ai/api/v2
04
Старт

Быстрый запуск

Создайте токен, рассчитайте запрос, отправьте рендер и опрашивайте его до конечного статуса.

Пример передаёт URL портрета, сценарий, ID голоса и формат кадра. Замените заглушки на файлы, доступные серверу VlogMe.

Успешный POST сразу возвращает 202 Accepted. Проверяйте статус примерно раз в десять секунд или передайте webhook_url.

bash
curl -X POST https://vlogme.ai/api/v2/renders \
  -H "Authorization: Bearer $VLOGME_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "PROJECT_UUID",
    "revision_id": "REVISION_UUID",
    "preset": "balanced",
    "idempotency_key": "video-request-001"
  }'
05
REST

REST endpoints

Компактный JSON API со схемой OpenAPI 3.1, стабильными кодами ошибок и rate-limit headers.

Машиночитаемая спецификация: /api/v2/openapi.json. Из неё можно создать типизированный клиент или импортировать запросы в Postman и Insomnia.

Каждый ответ содержит X-Request-Id. Асинхронный POST /videos также возвращает Location с URL опроса.

GET/projectsID пользователя, тариф и баланс кредитов
POST/projectsID голосов, доступных для синтеза
GET/projects/:idЗапустить асинхронный рендер
PATCH/projects/:idПолучить статус и подписанную ссылку
POST/rendersСписок последних рендеров с пагинацией
GET/jobs/:idОценить кредиты без списания
POST/jobs/:id/cancelУдалить или отменить доступный рендер
POST/projects/:id/director-proposalsПроверка доступности без авторизации
bash
curl https://vlogme.ai/api/v2/jobs/$JOB_ID \
  -H "Authorization: Bearer $VLOGME_TOKEN"
06
REST

Создание ИИ‑видео

Передайте портрет и либо сценарий с voice_id, либо аудиофайл. Рендер выполняется асинхронно.

Используйте portrait_url или portrait_base64. Для речи передайте script + voice_id либо audio_url/audio_base64. Дополнительно доступны aspect_ratio, emotion_preset, live_subtitles, title и webhook_url.

Для каждого платного POST обязателен уникальный Idempotency-Key. Повтор с тем же ключом вернёт исходный рендер без второго списания.

  • Форматы: 9:16 по умолчанию, 16:9 и 1:1.
  • Массив inserts добавляет b‑roll в режиме overlay или cut.
  • audio_mode принимает auto, prompt, asset или off для фонового звука проекта.
  • Ответ 202 содержит id, status, credits_charged, estimated_seconds и warnings.
bash
curl -X POST https://vlogme.ai/api/v2/renders \
  -H "Authorization: Bearer $VLOGME_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "PROJECT_UUID",
    "revision_id": "REVISION_UUID",
    "preset": "balanced",
    "idempotency_key": "video-request-001"
  }'
07
Сценарии

Грамматика сценариев

Машиночитаемый DSL описывает смену сцен, b‑roll, аудиовставки, паузы и inline‑теги исполнения голоса.

Используйте @imageN для смены говорящей сцены, фигурные скобки для overlay/chain b‑roll, @audioN для аудиоматериалов и теги ElevenLabs вроде [shocked].

Скачиваемая спецификация намеренно сохраняется на языке контракта для инструментов и LLM. MCP‑клиент может получить её через script_grammar_help.

Скачать .mdОткрыть исходную спецификацию
SCRIPT-GRAMMAR.md
# V2 script grammar compatibility

This document describes the supported V2 plain-text import grammar. Current
Create authoring uses typed `CreateSnapshot` revisions and does not serialize
its editor state through this grammar.

The V2 bridge `flatToPayloads()` converts the grammar into `ScenePayload[]`.
Provider-specific payloads are derived later by render and integration
infrastructure; the browser never constructs them.

## Forms

| Form                   | Meaning                                    |
| ---------------------- | ------------------------------------------ |
| `@imageN <text>`       | Avatar speech anchored to image N          |
| `@imageN { <prompt> }` | Standalone generated video from image N    |
| `{ @imageN <prompt> }` | Overlay on the current avatar              |
| `{ <prompt> }`         | Continue from the preceding rendered frame |
| `@audioN`              | Uploaded audio on the current avatar       |

Plain text following an avatar line continues that avatar's speech. Video,
overlay and Continue forms may add `:D` after the closing brace to request a
duration. Advanced brace segments support `v:`, `n:`, `s:`, `an:`,
`am:auto|prompt|asset|off`, `ag:` and transition `tK`.

Whitespace and indentation do not change token meaning. Tags must begin a line
or appear at the start of a brace body; nested braces and inline image tags in
speech are invalid. Provider-specific prompt and duration limits are validated
before submission.

Legacy bare image lines remain parser-compatible for existing V2 projects, but
new generated V2 scripts should use the explicit forms above.

## Create boundary

Create visual blocks carry their own typed `visual_kind`, entry source,
timeline placement and media plan. In particular, Create Continue is an
independent visual block with `entry.mode = previous_exit`, an explicit
predecessor and the predecessor's accepted terminal-frame fingerprint. It is
not derived from the V2 brace syntax.
08
REST

Webhooks

Передайте webhook_url, и VlogMe отправит событие завершения или ошибки с повторными попытками при временной недоступности.

Проверяйте X-Vlogme-Signature по строке timestamp + raw_body с отдельным секретом whsec_ из Settings → API. Отклоняйте timestamp старше пяти минут и удаляйте дубли по X-Vlogme-Event-Id.

Верните любой 2xx за пять секунд. Сетевые ошибки и 5xx повторяются с задержкой, а 4xx считается окончательным отказом. Для просроченной ссылки снова вызовите GET видео.

python
ts = request.headers["X-Vlogme-Timestamp"]
secret = "whsec_..."  # Settings -> API
expected = "sha256=" + hmac_sha256(secret, ts + "." + raw_body).hex()
assert constant_time_eq(expected, request.headers["X-Vlogme-Signature"])
assert abs(now() - int(ts)) < 300
09
MCP

MCP‑сервер

Подключите AI‑агента через нативный Streamable HTTP с токеном VlogMe или интерактивным OAuth.

MCP‑инструменты оборачивают REST v1 и используют те же структуры, расчёт кредитов и коды ошибок. Изменения аддитивны, поэтому клиенту следует игнорировать неизвестные поля.

Доступны голоса, баланс, оценка, портреты, запуск, статус, отмена и история. Авторизованные внутренние аккаунты также могут работать с задачами.

endpoint
POST  https://mcp.vlogme.ai/api/mcp
script_grammar_helplist_voicesget_balanceestimate_creditslist_portraitsgenerate_videoget_videocancel_videolist_my_videoslist_bugsget_bugreport_bugupdate_bug_status
10
MCP

Настройка клиентов

Claude Code, Cursor и Codex поддерживают Streamable HTTP. Старые stdio‑клиенты подключаются через mcp-remote.

Выберите один режим авторизации: интерактивный OAuth или API token в переменной окружения. Не смешивайте их.

После изменения MCP‑конфигурации начните новую сессию клиента, чтобы он повторно обнаружил инструменты.

bash
# OAuth
codex mcp add vlogme --url https://mcp.vlogme.ai/api/mcp
codex mcp login vlogme --scopes mcp:full,mcp:work_items

# or API token
export VLOGME_TOKEN=vlm_live_xxxxxxxxxxxx
codex mcp add vlogme --url https://mcp.vlogme.ai/api/mcp --bearer-token-env-var VLOGME_TOKEN
json
{
  "mcpServers": {
    "vlogme": {
      "url": "https://mcp.vlogme.ai/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN_HERE" }
    }
  }
}
11
MCP

Полный пример работы агента

Запрос на обычном языке превращается в последовательность видимых и проверяемых вызовов инструментов.

Агент может получить список голосов, оценить рендер, запросить подтверждение, вызвать generate_video и проверять get_video до конечного статуса.

Нужны доступный портрет и достаточный баланс. Для MCP и REST одинаково действуют scope, ownership, срок токена и лимит запросов на пользователя.

prompt
Create a 16:9 talking-avatar video from this portrait.
Use a warm, natural voice. Estimate the credits first and ask before generating.
After approval, monitor the job and return the final download URL.
12
Агенты

Skill для агента

Короткая инструкция учит агента оценивать стоимость, запрашивать подтверждение и правильно отслеживать асинхронную задачу.

Опишите, когда применять VlogMe, какие инструменты вызывать, как сохранять идемпотентность и когда прекращать опрос.

Не вставляйте рабочий токен в skill‑файл. Храните его в окружении клиента или OAuth store.

markdown
---
name: vlogme-video
description: Estimate and generate VlogMe video jobs through MCP.
---
1. Validate the portrait and requested format.
2. Call estimate_credits before generation.
3. Ask for approval with the estimate.
4. Use a stable idempotency key for transport retries.
5. Poll get_video until a terminal status.
13
Справочник

Ошибки и повторные запросы

Ошибки имеют форму { error: { code, message } }. В логике используйте стабильный code, а не переводимый текст message.

При обращении в поддержку передайте X-Request-Id. Ответ 429 содержит Retry-After; ошибки авторизации и входных данных нужно исправлять, а не повторять бесконечно.

Полный список схем и ошибок находится в OpenAPI. Успешные ответы содержат limit, remaining и reset для rate limit.

codeHTTP
missing_token401
invalid_token401
token_expired401
insufficient_credits402
invalid_input400
invalid_asset400
invalid_json400
not_found404
method_not_allowed405
already_started409
billing_conflict409
rate_limited429
internal_error500
Worth to Know

Вопросы разработчиков

Все, что требует программной генерации видео с говорящими аватарами: персонализированные видео для продаж, ИИ-репетиторы, телеведущие, объяснения продуктов, диалоги NPC, локализованные озвучки в масштабе. Один POST-запрос принимает URL портрета + сценарий + ID голоса и возвращает готовый MP4.

Vlogme предоставляет Streamable HTTP MCP-эндпоинт по адресу /api/mcp. Добавьте его один раз CLI-командой на этой странице, и ваш агент сможет напрямую вызывать list_voices, generate_video и get_video — без кода-посредника и дополнительного SDK.

Оценка V2-рендера резервируется при POST /api/v2/renders, окончательно списывается после успеха и сразу освобождается при ошибке или отмене.

API использует лимит запросов на пользователя. Читайте заголовки X-RateLimit в успешных ответах и соблюдайте Retry-After после 429.

Каждый веб-хук включает заголовок X-Vlogme-Signature — проверяйте его как sha256 HMAC от необработанного тела, используя sha256(raw API token) в качестве секрета. Доставка выполняется по принципу best-effort и один раз: если ваш эндпоинт недоступен, событие теряется и не повторяется — всегда дополнительно опрашивайте GET /videos/:id, пока status не станет completed или failed.

API и MCP доступны любому авторизованному владельцу токена. Генерация использует тот же кредитный баланс, оценки, резервы, scopes и rate limits, что и веб-приложение.