Kutto in deinem KI-Agenten
Der MCP-Connector gibt Claude, Cursor und jedem Client für das Model Context Protocol dieselben Möglichkeiten, die du in Kutto hast: sehen, was bei der Konkurrenz durchstartet, Clips aus einem Video schneiden, einen Entwurf erstellen und ihn in den Plan setzen. Du beschreibst die Aufgabe in eigenen Worten – der Agent erledigt sie mit Tools und zeigt dir das Ergebnis.
Spion, Studio, Beiträge, Medien, Analytik, Wissensdatenbank und Puls – je nach Berechtigung.
Ein Agent darf Entwürfe vorbereiten, aber nur veröffentlichen, wenn der Schlüssel dafür eine eigene Berechtigung hat.
Deine Rolle im Workspace und die dir freigegebenen Kanäle begrenzen den Schlüssel; außerdem hat jeder Schlüssel ein Tageslimit.
Verbinden
Server-Adresse (Streamable HTTP): https://kutto.app/mcp
- Clients mit OAuth (Claude-Connectors im Web und auf dem Desktop): Füge die Adresse als benutzerdefinierten Connector hinzu, melde dich bei Kutto an und wähle, welche Bereiche der Agent nutzen darf. Einen Schlüssel musst du nicht kopieren.
- Mit Schlüssel (Claude Code, Cursor, eigene Agenten): Erstelle in Einstellungen → MCP einen Schlüssel, wähle die Berechtigungen aus und binde ihn bei Bedarf an einen einzelnen Workspace. Der Schlüssel wird nur einmal angezeigt.
claude mcp add kutto --transport http https://kutto.app/mcp \ --header "Authorization: Bearer plmcp_…"
{
"mcpServers": {
"kutto": {
"url": "https://kutto.app/mcp",
"headers": {
"Authorization": "Bearer plmcp_…"
}
}
}
}Was du fragen kannst
- „Was ist diese Woche bei meiner Konkurrenz durchgestartet und warum?“
Der Agent holt deinen Spion-Feed, wählt die Beiträge mit auffällig vielen Aufrufen aus und analysiert, was die Leute packt: der Einstieg, das Format, die Länge.
- „Schneide Shorts aus dieser Folge: https://youtu.be/…“
Er legt ein Projekt im Studio an, wartet auf die Analyse und liefert die gefundenen Momente mit Zeitmarken zurück – du kannst sie im Chat oder in deinem Kutto-Feed auswählen.
- „Erstelle einen Entwurf aus dem besten Beitrag meines Konkurrenten und plane ihn für Freitag um 18:00 Uhr“
Er schreibt Beitragstext und Entwurf, prüft die Anforderungen der Plattformen und plant den Beitrag, wenn der Schlüssel die Berechtigung zum Veröffentlichen hat. In Clients mit MCP Apps wird der Entwurf direkt im Chat als Vorschau angezeigt.
Fertige Szenarien findest du auch im Prompt-Menü deines Clients: „Что залетело у конкурентов“, „Черновик по залетевшему посту“, „Мой канал против конкурентов“, „Неделя контента из базы знаний“, „Шортс из ссылки“.
Tools und Berechtigungen
Allgemein
Доступно без отдельного разрешения: кто я и что этому ключу открыто.
whoamiВозвращает id пользователя-владельца ключа и выданные разрешения (scopes). Диагностика.
Spion
spy:read — Профили, лента, посты, статистика, папки.
spy_list_profilesВозвращает профили под наблюдением Шпиона. Опционально фильтр по папке.spy_get_profileВозвращает карточку отслеживаемого профиля с последним AI-разбором.spy_feedВозвращает ленту постов по всем профилям (или по папке). Постраничная (nextCursor).spy_profile_postsВозвращает посты одного отслеживаемого профиля. Постраничная выборка с фильтрами.spy_profile_statsСчитает аналитику профиля: вовлечённость, частота постинга, типы контента, топ-хэштеги, лучший час, динамика подписчиков, топ-посты.spy_list_foldersВозвращает папки профилей (id, название, цвет, количество).spy_get_postВозвращает пост отслеживаемого профиля с media[] (вся карусель) для детального разбора.
spy:write — Добавить/удалить/обновить профиль, папки, докачать посты.
spy_add_profileСтавит источник на отслеживание: профиль Instagram (username или ссылка на профиль/пост/reel), профиль TikTok (tiktok.com/@имя или ссылка на ролик), канал YouTube (youtube.com/@имя) или канал VK Видео (vkvideo.ru/@имя). Сбор запускается в фоне.spy_remove_profileСнимает профиль с отслеживания и чистит кеш превью. Необратимо.spy_refresh_profileПересобирает данные профиля синхронно (свежие посты и метрики) и возвращает обновлённую карточку.spy_load_earlier_postsДогружает ранние посты профиля Instagram/TikTok; у каналов YouTube/VK недоступно.spy_set_profile_foldersЗаменяет набор папок профиля целиком. Пустой массив — убрать из всех папок.spy_create_folderСоздаёт папку для группировки профилей.spy_update_folderМеняет название и/или цвет папки.spy_delete_folderУдаляет папку (профили остаются, лишь убираются из неё).spy_mark_seenГасит бейдж «N новых» у профиля (фиксирует текущий момент как «просмотрено»).spy_remake_to_composerСоздаёт из готового ремейка (см. spy_remake) черновик поста в композере (подпись/тип предзаполнены; медиа добавляется отдельно — чужие файлы не репостим). Возвращает postId.spy_add_post_to_draftСоздаёт пустой черновик в композере, привязанный к этому посту-референсу. Черновик ПУСТОЙ: ни подписи, ни медиа — чужой текст и чужие файлы не репостим, оригинал видно в панели референса. Без AI и платных вызовов. Возвращает postId.spy_ingest_postsКладёт собранные КЛИЕНТОМ (браузер с активной IG-сессией) посты в Шпион как «обнаруженные»: сервер сам в Instagram НЕ ходит и медиа не качает — нет риска бана по IP. Создаёт/обновляет профиль и посты, дописывает снапшоты метрик. Идемпотентно. После — работают spy_add_post_to_draft и spy_save_to_board. media[] = [{ kind:image|video, url, thumbnailUrl }] или children[] = [{ isVideo, displayUrl }]; url — уже доступные (локальные /files или прямые), сервер их не загружает.spy_save_to_boardКладёт пост-конкурент в Борд идей с заметкой-анализом (note: «почему залетело», что переиспользовать). Идемпотентно (upsert). Пост уже должен быть в Шпионе (spy_ingest_posts).
spy:analyze — Запуск AI-разбора профиля и ремейка чужого поста. Платно: вызовы модели пишутся в журнал расхода организации.
spy_analyze_profileЗапускает AI-разбор профиля (сводка, топ/аутсайдеры, паттерны вирусности, рекомендации, идеи постов). ПЛАТНО: вызов модели пишется в журнал расхода организации. Перед запуском у профиля должны быть собранные посты.spy_remakeЗапускает AI-ремейк поста под себя: format=script (сценарий) или carousel (карусель). Для reel/video идёт по ссылке, иначе по подписи. ПЛАТНО (журнал расхода). Возвращает AiJob — затем spy_remake_to_composer.
Analytik
analytics:read — Обзор постов, инсайты аккаунта и медиа опубликованного.
analytics_posts_overviewПоказывает, что и куда опубликовано: пост, аккаунт, ссылка на площадке, превью, время. БЕЗ ЦИФР — они живут на площадке, за ними в analytics_account_media.analytics_account_insightsВозвращает живую статистику подключённого аккаунта: профиль (подписчики/публикации), дневной reach и суммарные просмотры за период.analytics_account_mediaВозвращает посты подключённого аккаунта прямо из Graph API / YouTube со встроенными инсайтами (включая посты до подключения Kutto).
Beiträge
posts:read — Список и карточки постов, папки, теги, подборки, валидация черновика, карусель со слоями и кадр слайда.
posts_listВозвращает посты организации с фильтрами (статус, платформа, период, архив, поиск по подписи).posts_getВозвращает пост целиком: контент, медиа, цели, статус.posts_validateПроверяет валидность поста под каждый целевой аккаунт (без сохранения) — лимиты, тип контента, требования платформы.posts_folders_listВозвращает папки ленты постов со счётчиками; пост лежит максимум в одной.posts_tags_listВозвращает теги ленты постов со счётчиками; на посте их может быть много.posts_views_listВозвращает сохранённые подборки ленты постов. filters — параметры posts_list: folder, tags (id через запятую), platform, type = content_type, sort, q; tab и view — вид ленты.carousel_getВозвращает карусель черновика: шаблон, формат холста, слайды с видом, полями, длительностью (durationMs) и слоями. Слой: id, type (text/image), role (роль текста или вид картинки), text, box (геометрия в % холста), style, appear (анимация появления). id слоя и имена полей box/style те же, что принимает carousel_update_slide. Слайд со слоями — ~4 тыс. токенов: читай нужный (index), а не всю карусель.carousel_preview_slideПоказывает слайд карусели картинкой PNG (длинная сторона до 768 px), в пост ничего не пишет. time_ms — кадр слайда-ролика в этот момент (анимации появления); без него — финальный кадр, как ляжет в пост. Зови после сборки и правок, чтобы проверить, что видно и ничего не вылезло. Рендер занимает секунды — не зови в цикле без нужды.
posts:write — Создать/изменить черновик, расписание, дубль, архив, удаление, папки, теги, отправка на согласование, карусель из шаблона.
posts_createСоздаёт черновик поста. Медиа добавляй через media_* и передавай media_asset_ids; цели — target_account_ids.posts_updateМеняет переданные поля поста, остальные (медиа, цели, подпись, расписание, папка, название) остаются прежними. media_asset_ids и target_account_ids заменяют список целиком, [] — снять все. Правка возвращает пост в черновик; только title — переименовать в любом статусе.posts_scheduleМеняет время публикации поста. scheduled_at=null снимает время. В очередь пост это НЕ ставит: черновик с временем так и останется черновиком, пока его не поставят posts_queue (нужен posts:publish).posts_duplicateСоздаёт копию поста как новый черновик. Медиа, цели, слайды карусели со слоями и анимацией, формат и чип копируются; расписание и статус — нет: копия всегда черновик.posts_archiveПомещает пост в архив.posts_unarchiveДостаёт пост из архива.posts_deleteУдаляет пост мягко (deletedAt).posts_submit_for_approvalПереводит пост в статус ожидания согласования. Публикации это не запускает — её запускает согласование.posts_rejectОтклоняет пост на согласовании (возврат в черновик).posts_unqueueУбирает пост из очереди публикации (возврат в черновик).posts_mark_publishedСтавит статус «Опубликован» посту без канала, который выложили вручную. Пост с каналом — отказ.posts_unmark_publishedСнимает ручную отметку «Опубликован» с поста без канала: с датой — в очередь, без — в черновик.posts_folder_createСоздаёт папку ленты постов. Положить пост — folder_id (null — без папки) в posts_create/posts_update.posts_set_tagsВешает и снимает теги пачке постов в любом статусе. Теги — имена или id; новое имя в add создаёт тег.carousel_create_from_templateСоздаёт пост-черновик (карусель) по шаблону каталога: каждому слайду — вид (kind) и тексты в поля этого вида из carousel_templates_list. Сборка та же, что в композере: раскладка вида, подгонка кегля под рамку, тема по правилу шаблона, анимация появления из пресета. Список — массив строк, у поля highlight — подстрока заголовка под маркер. Неверный вид, пустое обязательное поле или число слайдов мимо рамки — отказ с перечнем. Бесплатно; дальше carousel_preview_slide — посмотреть, carousel_render_to_post — положить в медиа поста.carousel_update_slideМеняет слайд карусели. op=edit (по умолчанию): fields (+kind) — пересобрать слайд по шаблону с новыми текстами (кегль подгонится, ручные правки слоёв слайда сбросятся); layers — точечно по id из carousel_get: text, box, style, appear (null снимает анимацию), remove, media_asset_id (картинка из media_list); add_layers — новый текст, фигура с style.fill или картинка (media_asset_id); background_media_asset_id — фон слайда; duration_ms — длина слайда-ролика; data — значения {ключ}. style текста: font (имя шрифта или heading|body), sizePct (кегль, % высоты холста, 0.5–40), color (#hex|text|accent|bg|white|black), weight, align, uppercase, italic, lineHeight, letterSpacing, opacity, shadow, strokeColor и strokeWidth (контур, доля кегля 0–0.2), highlight (цвет маркера), highlightText, highlightStyle (plate|marker|band), highlights [{text,color}], textColors; картинки: fill (цвет|{type:linear,angle,colors}), radius (% меньшей стороны слоя, 0–50; 50 — круг), opacity, shape, fade, filter; null снимает поле. Новый text сбрасывает разметку по смещениям. op=add — новый слайд за один вызов: kind с fields и/или фон и/или add_layers, duration_ms, data (at — место; отказ слоёв слайд не оставляет); op=duplicate, op=delete, op=move (to). Индексы с 0.carousel_set_canvasМеняет формат холста поста (aspect; не задан — 3:4, у Story только 9:16) и бренд-чип с ником на слайдах (show_chip) — как в композере, и посту без шаблона. Слои в % холста и не перекладываются — проверь carousel_preview_slide. Собранные слайды пересобираются тут же (rerendered). Бесплатно.carousel_render_to_postСобирает слайды карусели в медиа поста (JPEG на позицию слайда) — то же, что «Сохранить» в композере; без этого пост нечего публиковать. indexes — какие слайды (нет — все). После правок слайда его надо собрать заново. Бесплатно, по слайду за раз — десяток слайдов идёт десятки секунд. motion=rendering — ролик слайда рисуется асинхронно, в посте пока картинка; publish_now до готовности откажет.
posts:publish — Опасное: постановка в очередь публикации / публикация сейчас, включая согласование поста. Держи отдельно.
posts_queueСтавит пост в очередь публикации. ОПАСНО: пост уйдёт в эфир по расписанию, publish_now=true — немедленно. Требует разрешение posts:publish. Ролики слайдов рисуются асинхронно: до готовности publish_now откажет, расписание их подождёт.posts_approveОдобряет пост на согласовании. ОПАСНО: одобрение СРАЗУ ставит пост в очередь публикации, а при пустом расписании — на «сейчас». Поэтому требует posts:publish, как и posts_queue.
KI-Tools
ai:read — Задачи (jobs), бренд-войсы, шаблоны промптов, шаблоны карусели.
ai_list_jobsВозвращает последние AI-задачи организации (фильтр по типу). Используй ai_get_job для результата.ai_get_jobВозвращает AI-задачу с результатом и статусом — опрашивай после запуска генерации. Переписки с моделью в ответе нет: там система-промт установки, наружу он не уходит.ai_list_brand_voicesВозвращает сохранённые tone-of-voice организации. id можно передавать в генерации (brand_voice_id).ai_list_prompt_templatesВозвращает шаблоны промптов: системные (isSystem) плюс свои. id можно передавать в ai_run_script (prompt_template_id).carousel_templates_listВозвращает опубликованные шаблоны карусели каталога: формат, сколько слайдов, виды слайдов (kinds) и поля текста каждого вида (key, тип, обязательность, maxLength, подсказка), инструкцию и правила автора, тон, темы и правило палитры (fixed — одна, alternate — по очереди, by-kind — по виду), есть ли анимация. Первый шаг перед carousel_create_from_template: пиши тексты под поля вида, а не произвольно. Бесплатно.
ai:write — Запуск генераций (сценарий, карусель, подпись, разборы). ПЛАТНО (журнал расхода).
ai_run_scriptЗапускает генерацию сценария по идее и/или ссылке-референсу. ПЛАТНО (журнал расхода). Возвращает AiJob.ai_continue_scriptОтправляет реплику в существующую script-джобу (итеративная доработка).ai_run_carouselГенерирует текстовую карусель из темы (source=text) или видео по ссылке (source=video). ПЛАТНО (журнал расхода).ai_run_captionГенерирует подпись, заголовок или хэштеги (без AiJob, но вызов модели платный). Возвращает variants[].ai_run_video_analysisРазбирает публикацию по ссылке: Reels, пост/карусель Instagram, TikTok, шортс и видео YouTube до часа, VK. Разбор в счёт тарифа (квота разборов), сверх неё — с баланса только при allow_overage. Работа идёт в фоне: ответ — AiJob со status=running, готовый отчёт (result.analysis) забирай ai_get_job. Та же публикация повторно — готовый разбор бесплатно.ai_run_profile_analysisРазбирает профиль Instagram по username. Считается разбором канала: квота channel_analyses тарифа, сверх неё — с баланса только при allow_overage. Возвращает AiJob.
Medien
media:read — Список медиа-ассетов воркспейса.
media_listВозвращает медиатеку организации (id, тип, публичный url), свежие сверху. id → posts_create.media_asset_ids. Нужен конкретный файл — фильтруй по type и query (часть имени файла).
media:write — Добавить медиа по URL или base64, удалить ассет.
media_add_externalСохраняет https-ссылку как ассет воркспейса (для поста по ссылке). Сразу файл не скачивается; когда ассет попадёт в пост, сервер за несколько минут скопирует его в хранилище Kutto, так что ссылка должна прожить хотя бы до этого. В слайд карусели такая не встанет — для этого media_upload с url.media_uploadЗагружает файл в медиатеку: url — сервер скачает сам (https, ≤200 МБ, тип по содержимому; бери вместо base64 всё, что лежит по ссылке), или data — base64 (≤50 МБ) с mime_type. Годится для слоёв и фона карусели.media_removeУдаляет файл медиатеки мягко.
Studio
studio:read — Проекты нарезки, найденные моменты, клипы и ссылки на готовые файлы.
studio_list_projectsВозвращает проекты Студии: статус, сколько клипов, когда создан. Свежие сверху. Отдаёт страницу, а не всё разом — за старыми ходи через offset.studio_get_projectПоказывает, где проект: качается, разбирается, готов. Прогресс, длительность исходника, сколько найдено моментов и сколько клипов уже взято в работу. Транскрипт и разметку не отдаёт — они огромные.studio_list_momentsВозвращает найденные в исходнике моменты: таймкоды, заголовок, оценка (0–100), причина и ярлыки. `taken` — момент уже взят в работу. Индекс отсюда идёт в studio_take_moments.studio_list_clipsВозвращает клипы проекта: статус рендера, ссылка на готовый файл и на огрызок-превью, id поста, если клип уже отправлен в ленту. Сюда же попадают кандидаты из ленты отбора (reviewStatus=pending) — взятые в работу отмечены approved. status=done при renderStale=true значит, что файл старше правок.studio_get_clipВозвращает настройки одного клипа: длину готового клипа, ленту (lane: index куска — тот же, что в редакторе, «кусок №N» = index N-1; outFrom/outTo — секунды ГОТОВОГО клипа; frame и кого ведёт кадр), вторую дорожку, субтитры, хук, музыку и вставки поверх. Читай перед правкой — чтобы менять только нужное.studio_clip_wordsВозвращает текст субтитров клипа: слова с индексом i и временем, строки (как их нарисует рендер) и паузы речи между словами. Время — секунды ГОТОВОГО клипа. Индексы i идут в studio_clip_edit_words, паузы — в studio_clip_cut. manual=true — правились руками; language не source — переведены. Длинный клип читай окном from_sec/to_sec.studio_clip_layersВозвращает текстовые надписи поверх кадра, включая хук (role=hook): текст, окно показа startSec–endSec (секунды ГОТОВОГО клипа, null — с начала/до конца), место в % кадра (xPct/yPct — левый верхний угол, widthPct — ширина, sizePct — кегль в % высоты), plate — цвет плашки. id — для studio_clip_edit_layer.studio_clip_peopleВозвращает людей клипа, за которыми можно вести кадр: id, секунд в кадре, сцен, speaking 0..1 (говорит ли), где обычно стоит (side, cx — доля ширины исходника), following — ведём ли сейчас. С at_sec (секунды ГОТОВОГО клипа) — ещё лица в этот момент: personId (-1 — не опознан), cx/cy/w/h, speaker. Нет разбора лиц — запускает его и говорит, когда повторить. Выбор — studio_clip_follow. thumbs=true — ещё миниатюры лиц одной картинкой, номер под лицом (стоит денег — только если по положению не различить).studio_clip_snapshotПоказывает кадр клипа картинкой в момент at_sec ГОТОВОГО клипа. view=frame — как в ролике (с текущим кадрированием, без субтитров и надписей); view=source — исходник целиком: пунктир — окно кадра, рамки — лица с номером человека (жёлтая — говорящий). Зови, когда надо увидеть, кто где и что обрезано, или проверить правку кадра. Каждый кадр стоит денег — не зови без нужды.studio_search_soundsИщет в общем пуле музыки и эффектов. Найденную позицию надо перенести в медиатеку воркспейса (studio_add_sound), и только потом ставить на дорожку.studio_search_footageИщет видео-план в корпусе материала ПО СМЫСЛУ, а не по словам в названии: «ночной город сверху», «руки за клавиатурой». Русский запрос переводится сам. Найденное надо перенести в медиатеку (studio_add_footage), и только потом ставить вставкой.
studio:write — Создать проект из ссылки и отправить готовый клип в ленту черновиком. Создание проекта тратит трафик и платные вызовы моделей.
studio_create_projectСоздаёт проект Студии из ссылки ЛИБО файла (media_upload). По умолчанию нарезка: качает, ищет моменты и ТРАТИТ минуты видео. Ход — studio_get_project. Пустой монтаж — blank.studio_publish_clipДелает из готового клипа черновик поста на выбранный канал. Дальше — обычные posts_* (подпись, расписание, очередь). Клип должен быть отрендерен (и не renderStale). Если у канала включён автопилот, черновик сразу встаёт в его очередь — смотри scheduledAt.studio_create_clipСоздаёт клип из куска исходника проекта. Рендер НЕ запускает — сначала настрой монтаж (studio_edit_clip), потом studio_render_clip. Исходник к этому моменту должен быть скачан.studio_edit_clipСобирает клип: какие куски исходника оставить, что со звуком, какую музыку подложить, что наложить поверх кадра. Передавай только то, что меняешь — остальное остаётся как было. Готовый файл после правки устаревает: нужен studio_render_clip.studio_add_soundПереносит позицию пула в медиатеку воркспейса и возвращает id ассета — его и ставят в studio_edit_clip.music. Повторный вызов не задваивает.studio_add_footageПереносит план в медиатеку воркспейса и возвращает id ассета — его ставят в studio_edit_clip.overlays. Повторный вызов не задваивает файл.studio_clip_captionsВключает караоке-субтитры и выбирает их вид. Стили: hormozi — Капс, слово на лаймовой плашке. mrbeast — Капс, жёлтое слово с прыжком. karaoke — Строка красится по мере речи. band — Текст на тёмной плашке. pill — Слово на фиолетовой капсуле. minimal — Белый текст с мягкой тенью. oneword — По слову на экране, узкий капс. typewriter — Печать по буквам на ленте. expert — Слово на синей плашке. neon — Капс, голубое свечение. pop — Капс, слова выскакивают по одному. gold — Антиква, слово золотом. alarm — Узкий капс, слово красным. comic — Жёлтый капс, слово с наклоном. marker — Слово под жёлтым маркером. ali — Строчные, слова по одному. iman — Капс, слово курсивом. Готовый файл после правки устаревает — нужен studio_render_clip.studio_clip_frameНастраивает кадр: вертикаль или горизонт, кадрирование, сплит с удерживающим видео снизу, качество рендера. Готовый файл после правки устаревает — нужен studio_render_clip.studio_clip_voiceЗаказывает озвучку клипа на другом языке (перевод реплик + голос из «Моих голосов»). Платится ОДИН раз при заказе: минуты озвучки тарифа, сверх них — с баланса только при allow_overage=true. Готовая озвучка через 1–3 минуты сама ложится дорожкой на таймлайн и приглушает оригинал; дальше studio_render_clip. Тот же язык и голос повторно не оплачиваются. Убрать озвучку — studio_edit_clip (дорожка звука).studio_clip_edit_wordsМеняет текст субтитров: заменить слова (опечатка, имя), удалить слово или фразу, перенести строку. Индексы — из studio_clip_words, все относятся к состоянию ДО вызова. Новый текст сам выравнивается по звуку. Пример: исправить «Миша» в слове 12 — edits=[{from:12,to:12,text:"Маша"}]; удалить слова 30–31 — text:"". Субтитры после правки ручные: из транскрипта сами не пересобираются. Файл устаревает — нужен рендер.studio_clip_cutВырезает из клипа паузы речи или заданные отрезки. Время — секунды ГОТОВОГО клипа. Паузы: pauses={min_sec:1} уберёт тишину между словами от 1 с, оставив по keep_sec у краёв. Отрезок: ranges=[{from_sec:5,to_sec:8.5}]. Кадр сохраняется; субтитры, надписи и вторая дорожка едут за лентой, музыка стоит. Нужен рендер.studio_clip_edit_layerДобавляет, меняет или удаляет текстовую надпись поверх кадра (и хук-заголовок). Время — секунды ГОТОВОГО клипа. Новая надпись по умолчанию сверху по центру, белым, 6% высоты кадра, видна весь клип. Пример: action=add, text="СМОТРИ ДО КОНЦА", start_sec:0, end_sec:3, plate:true. Изменить — action=update, layer_id и только меняемые поля; хук — layer_id="hook". Файл устаревает — нужен рендер.studio_clip_partsПравит элементы ленты по index из studio_get_clip; ops применяются по порядку, атомарно, index каждой — по ленте ПОСЛЕ предыдущих. split {at_sec — секунда ГОТОВОГО клипа}: разрезать кусок, кадр половин сохраняется; delete {index}: дальше всё сдвигается раньше; move {index, to_index}; duplicate {index}: повтор сразу за ним; trim {index, edge start|end, delta_frames или delta_sec}: край по исходнику, плюс — вправо, по кадрам исходника; frame {index, zoom 1–2.2 при слежении за лицом, free {x,y,scale} — ручная рамка или false — снова вести лицо, fade_in/fade_out}. Субтитры, надписи и вторая дорожка едут за временем, музыка стоит. Паузы и отрезки по времени — studio_clip_cut. Нужен рендер.studio_clip_duoВключает «двое в кадре»: кадр делится на две дорожки, нижняя — дубль ленты со своим кадром (как кнопка редактора «Дубль на вторую дорожку»). enabled=true — дублировать все куски (с at_sec — только кусок под этим моментом готового клипа), уже стоящие дубли не трогает; enabled=false — снять дубли (с at_sec — только под этим моментом). ratio — доля ВЕРХНЕЙ дорожки 0.15..0.8 (0.5 — пополам). Кого вести внизу — studio_clip_follow с lane=b. Файл устаревает — нужен рендер.studio_clip_overlayСтавит, правит или снимает ОДИН оверлей — картинку (логотип, стикер) или видео из медиатеки поверх кадра; остальные не трогает. op=add: media_asset_id, from_sec/to_sec — секунды ГОТОВОГО клипа (по умолчанию картинка 4 с, видео на свою длину); op=update: id и только меняемые поля; op=remove: id. x/y — смещение центра от центра кадра долями кадра (x −0.5 — левый край, y −0.5 — верх), scale — ширина долей кадра (по умолчанию 0.5), track — слой 0..8 (выше — поверх). Файл устаревает — нужен рендер.
studio:render — Взять моменты в работу, отрендерить клип, перераспознать речь, посчитать кадр за говорящим или выбранным лицом. Отдельно от записи: всё это занимает процессор минутами, и ключу «посмотреть и отправить» это не нужно.
studio_take_momentsПревращает выбранные моменты в клипы и ставит их в очередь рендера. Идемпотентно: момент, уже взятый в работу, второй раз не задваивается. ТРАТИТ процессор и время — рендер идёт минуты.studio_render_clipСтавит клип в очередь рендера. Идёт минутами — следи через studio_list_clips, готовый файл появится в outputUrl. ТРАТИТ процессор.studio_clip_retranscribeРаспознаёт речь этого клипа заново и вклеивает результат в транскрипт проекта. Нужна, когда в куске пропали субтитры: распознавание иногда сворачивает полминуты речи в одну фразу. ТРАТИТ процессор. Ручные правки субтитров в ОСТАЛЬНЫХ клипах не трогает.studio_clip_auto_reframeСтавит клип в очередь на движущийся кадр 9:16: клип режется по сценам, кадр ведёт того, кто говорит. Отвечает сразу, кадр считается фоном минутами (разбор лиц и речи). Ленту собирает ЗАНОВО: ручная раскладка из studio_edit_clip снимается сразу. Готовность — studio_get_clip (reframeState: queued → ready, failed — reframeError) раз в минуту. Повадку камеры (profile) ставь после готовности через studio_clip_follow. Когда кадр готов, файл устарел — нужен studio_render_clip.studio_clip_followВыбирает, за кем ведёт кадр 9:16 (id людей — из studio_clip_people). Режимы: people=[3] — вести их по всему клипу ([] — снова за говорящим); at_sec (секунды ГОТОВОГО клипа) + person_id или cx/cy (доли кадра исходника) — вести это лицо в куске под at_sec (scope=shot) или во всём клипе (scope=clip); только anchor/profile — пересчитать кадр под точку и повадку. Файл устаревает — нужен рендер.
Workflows
workflow:read — Список воркфлоу, граф, каталог нод, прогресс выполнения.
workflow_listВозвращает воркфлоу организации (id, название, обновлён).workflow_getВозвращает воркфлоу целиком: ноды и рёбра графа.workflow_catalogВозвращает каталог доступных типов нод (категории, порты, параметры). Читай раз в сессию.workflow_executionПоказывает состояние последнего запуска воркфлоу (статусы нод). Опрашивай после workflow_run.
workflow:write — Создать/переименовать воркфлоу.
workflow_createСоздаёт пустой воркфлоу. Граф редактируется в UI; здесь — заготовка с названием.
workflow:run — Запуск и отмена выполнения воркфлоу (AI-ноды платные — пишутся в журнал расхода).
workflow_runЗапускает выполнение воркфлоу (AI-ноды платные — пишутся в журнал расхода). Опрашивай workflow_execution.workflow_cancel_runОстанавливает текущий запуск воркфлоу по runId.
Инструменты
toolbox:read — Список инструментов (голос/минус, апскейл, субтитры, перевод, обложки…), цена до запуска и состояние прогонов.
toolbox_listПеречисляет инструменты (голос/минус, апскейл, субтитры, перевод, обложки…): цели, параметры, выходы.toolbox_estimateСчитает цену до запуска тем же кодом, что резерв. blocked — запустить нельзя, с причиной.toolbox_run_statusВозвращает статус прогона, ошибку с кодом и готовые файлы или текст.
toolbox:run — Запуск, остановка и продолжение прогонов инструментов (платные резервируют деньги или квоту).
toolbox_runЗапускает инструмент; платный резервирует деньги или квоту. Ход — toolbox_run_status.toolbox_cancel_runОстанавливает прогон; несписанное возвращается. Законченный прогон не трогает.toolbox_resume_runПродолжает прогон с паузы (paused) по черновику как есть; у платных здесь резерв.
Konten
accounts:read — Список воркспейсов и подключённых соцаккаунтов.
list_workspacesВозвращает организации, доступные пользователю. Используй полученный id как workspace_id в остальных тулзах (Шпион, Аналитика).list_social_accountsВозвращает подключённые каналы организации (Instagram, YouTube, TikTok, Threads, Telegram). id аккаунта нужен для тулз аналитики (analytics_account_*).
Wissensdatenbank
knowledge:read — Статьи-лайфхаки по контенту/SMM и шпаргалка-агрегат из данных Шпиона.
knowledge_listВозвращает статьи-лайфхаки по контенту организации (авто-выводы из Шпиона + ручные заметки). Фильтры: раздел, тег, источник, поиск по тексту. Полный текст — через knowledge_get.knowledge_getВозвращает полный текст статьи (markdown) по id — со всеми выводами, цифрами и рекомендациями.knowledge_statsСчитает по разобранным постам Шпиона без модели: какие хуки/форматы/CTA/темы и в какое время дают больше вовлечения, плюс список постов-победителей. Без AI и без платных вызовов.
Puls
pulse:read — Метрики своих YouTube-каналов: ролики с приростом и удержанием, суточные ряды, портрет аудитории, сводка дня, разбор канала. Только чтение уже собранного: запуск сбора наружу не отдан, квота YouTube общая на инсталляцию.
pulse_channelsВозвращает каналы организации с итогами: подписчики, просмотры за всё время, сколько роликов. Отсюда берётся channel_id для остальных тулз Пульса.pulse_channelВозвращает итоги одного канала и состояние сбора аналитики. Пустые метрики почти всегда значат не «канал новый», а сломавшийся сбор — здесь это видно.pulse_videosВозвращает ролики с просмотрами, приростом и удержанием. Ею же берётся топ: sort=week, dir=desc, limit=10. Окно from/to задаёт произвольный период в прошлом — тогда у каждого ролика появляется period.pulse_channel_seriesВозвращает суточный ряд: просмотры и подписчики на конец каждых суток и прирост за сутки. По нему видно, растёт канал или встал.pulse_video_seriesПоказывает, как ролик набирал просмотры день за днём. Отвечает на «залетел сразу или разошёлся потом».pulse_audienceПоказывает, кто смотрит канал: страны, возраст, пол, устройства, подписчики против остальных, источники трафика. Окно — 28 или 365 суток.pulse_digestСводит, что случилось за сегодня по всем каналам разом: подписчики, просмотры, что вышло и что набрало больше всех.pulse_reportРазбирает свой канал так же, как «Анализ каналов» чужие: ритм публикаций, залетевшие против остальных, лестница просмотров, что общего у заголовков, которые сработали.
Limits und Datenschutz
- KI-Tools (Analyse, Generierung, Transkription) verursachen Kosten bei den Anbietern. Der Verbrauch wird im Protokoll des Workspace festgehalten; für einen Schlüssel kannst du ein Tageslimit für Starts und Dollar festlegen, und der Inhaber des Workspace kann für ein Mitglied ein Monatslimit setzen.
- Rate-Limits: bis zu 240 Aufrufe pro Minute und Schlüssel, davon bis zu 60, die eine Aufgabe starten – ein Agent in einer Fehlerschleife verbrennt so nicht die ganze Warteschlange.
- Ein über MCP erstellter TikTok-Beitrag wird mit der Sichtbarkeit „Nur ich“ veröffentlicht: Wer das Video sehen darf, entscheidet der Autor in Kutto. Instagram wird über ein Business-Konto veröffentlicht.
- Jeder Aufruf eines Schlüssels ist in Einstellungen → MCP sichtbar: welches Tool, wann und mit welchem Ergebnis. Ein widerrufener Schlüssel funktioniert nach wenigen Sekunden nicht mehr.
- Der Agent sieht nur die Workspaces, in denen du Mitglied bist, und nur die Bereiche, die der Schlüssel erlaubt. Wie wir Daten speichern, steht in der Datenschutzerklärung.
Wenn etwas nicht funktioniert oder dir ein Tool fehlt, schreib uns an support@kutto.app.