Ролики через ИИ-агентов
Публичным API можно пользоваться не только кодом — у PiratePress есть готовая связка для ИИ-агентов (Claude Code, Kimi Code, Cursor, Claude Desktop и ещё 75+ агентов):
- MCP-сервер
@piratepress/mcp— инструменты, которыми агент дёргает API (заказ, статус, баланс); - скилл
piratepress-video— плейбук, который учит агента всему флоу: проверить баланс перед заказом, не двоить списания, дождаться ролика и принести mp4 с постинг-паком.
После установки достаточно сказать агенту «сделай ролик про …» — дальше он работает сам.
Установка одной строкой
- Забери ключ в боте: @PiratePressBot →
/apikey(ключpp_…показывается один раз). - В терминале:
curl -fsSL https://piratepress.fun/install.sh | PIRATEPRESS_API_KEY=pp_... bash
Установщик кладёт MCP-сервер в ~/.piratepress/mcp/, скилл — через
skills CLI с авто-детектом твоих
агентов, и регистрирует сервер в Claude Code, если он установлен. Ничего
вне $HOME не трогается.
Ручная установка
Если однострочник не подходит — сервер ставится как npm-пакет
@piratepress/mcp,
а скилл лежит в репозитории
piratepress/agents. Конфиг для
Claude Code / Kimi Code / Claude Desktop — в README репозитория.
Агенты, где MCP не нужен (например, веб-агент с shell вроде Kimi на сайте), могут работать по одному скиллу — в нём есть весь REST-флоу на curl.
Инструменты MCP
| Инструмент | Что делает |
|---|---|
quick_video | Свободный промпт одной строкой — серверная LLM сама раскладывает его в параметры. Дефолт для разовых заказов. |
generate_video | Явные параметры — вся поверхность POST /videos: контент (theme/theme_url/reference_url, lang, duration, style, genre), реклама (placement, hook, end_card, cta + cta_target*), визуал (bg_ai, bg_preset, bg_url, bg_fit, overlays + overlay_count/overlay_level, visual_style), субтитры (caption_mode/caption_position/caption_scale), музыка и голос (music — вкл. song, music_mood, voice_asset_id), файлы медиатеки (theme_asset_id, bg_asset_id, music_asset_id, banner_asset_id, banner_source_asset_id, cover_source_asset_id, reference_asset_id), плюс director_mode, count (пакет 1–50), watermark. Возвращает {id, cost, eta_seconds}. |
get_video_status | Статус заказа; при done — result_url и постинг-пак. |
wait_video | Ждёт финала (done/error/refunded/awaiting_review), поллит каждые 20 с с прогресс-нотификациями. |
review_video | Ответ на ревью сценария в режиссёрском режиме: approve / edit (с текстом) / regen (с пожеланием). |
list_assets | Медиатека пользователя (клоны голоса, паки тем и пр.) — id для *_asset_id полей заказа. |
upload_asset | Загрузка локальных файлов в медиатеку (POST /assets, multipart): пак темы (txt/md/pdf, фото, голосовые, zip), свой фон, свой трек, баннер, видео-референс, образец голоса (платно, как в боте). Лимиты: ≤20 файлов, ≤20 МБ на файл, whitelist расширений по виду, квота медиатеки 2 ГБ. Возвращённый id передаётся в generate_video полем theme_asset_id / bg_asset_id / music_asset_id / banner_asset_id / banner_source_asset_id / cover_source_asset_id / reference_asset_id / voice_asset_id. |
get_balance | Кошелёк: {dublones, subscription, fair_use_left}. 1🪙 = 1₽. |
Вне публичного API (только бот): пополнение баланса и покупка подписок,
а также само срабатывание автопилота каналов по расписанию (воркер бота;
расписание каналов правится через API — PATCH /channels).
Если пользователь просит что-то из этого — агент отправляет его в бота,
а не импровизирует.
Чего MCP-таблица выше пока не покрывает, но уже доступно агенту через
REST (скилл документирует curl-флоу целиком): нарезка длинных видео
на клипы с офферными баннерами (POST /public/v1/clips — масс-постинг
клипперских офферов, AI-баннер, сплит-вью — см.
Нарезка) и управление каналами (концепции LLM'кой,
ролик по каналу «здесь и сейчас», расписание — см.
Каналы). Отдельные MCP-инструменты под эти домены —
в ближайшем обновлении пакета @piratepress/mcp.
Как ведёт себя натренированный агент
- Сначала баланс, потом заказ — и озвучит цену до списания.
- Idempotency-Key на каждый заказ — ретраи не двоят списания.
- Не перезаказывает платные ролики без спроса — при сбое сначала спросит тебя.
- Пакеты — волнами: лимит 10 активных заказов, 30 POST/мин
(при
429ждётRetry-After). - Ссылки как вход: URL статьи в промпте уйдёт в
theme_url(источник контента), ссылка на YouTube/TikTok — вreference_url(клон формата). - AI-фон через
bg_ai:"illustrations"— AI-картинки под каждую сцену;"lite"— те же сцены, оживлённые image-to-video (дороже, тяжёлый заказ, ест fair-use тарифа). Оживить фото, загруженное пользователем, публичный API не умеет —liteанимирует сцены, которые сервис генерирует сам.
Статусы и деньги
Дублоны списываются при создании заказа. Дальше заказ живёт по
статусам: queued → running → done, либо терминальные error /
refunded (в режиссёрском режиме бывает пауза awaiting_review).
error— сбой без списания дублонов (триал или заказ, оплаченный извне);refunded— сбой платного заказа: дублоны уже возвращены на баланс автоматически, полеerrorпрямо говорит об этом. Перепроверить можно черезget_balance.
result_url — публичная подписанная ссылка (живёт 7 дней, ключ для
скачивания не нужен): её можно не качать через агента, а просто отдать
пользователю.
Куда дальше
- Быстрый старт по REST — три вызова до первого ролика;
- Коды ошибок — что вернуть агенту при
402/409/429; - Вебхуки —
video.done/video.error/video.refunded/video.awaiting_review/clip.done/clip.errorвместо поллинга; - FAQ — режиссёрский режим, fair-use и лимиты.