Kutto, yapay zeka ajanınızda

MCP bağlayıcısı, Claude’a, Cursor’a ve Model Context Protocol destekleyen her istemciye Kutto’da sizin sahip olduğunuz imkânları verir: rakiplerde nelerin öne çıktığına bakar, bir videodan klip keser, taslak hazırlar ve planlar. Görevi kendi sözlerinizle yazarsınız; ajan araçlarla yapar ve sonucu gösterir.

126 araç

Casus, Stüdyo, gönderiler, medya, analitik, bilgi bankası ve Nabız — izinlere göre.

Yayınlama ayrı

Ajan taslak hazırlayabilir, ancak yalnızca anahtarda ayrı bir izin varsa yayınlayabilir.

Anahtar yetkinizi aşamaz

Çalışma alanındaki rolünüz ve size verilen kanallar anahtarı sınırlar; anahtarın ayrıca günlük bir üst sınırı vardır.

Bağlantı

Sunucu adresi (Streamable HTTP): https://kutto.app/mcp

  1. OAuth destekleyen istemciler (web ve masaüstündeki Claude bağlayıcıları): adresi özel bağlayıcı olarak ekleyin, Kutto’ya giriş yapın ve ajana hangi bölümlerin açılacağını seçin. Anahtar kopyalamanız gerekmez.
  2. API anahtarıyla (Claude Code, Cursor, kendi ajanlarınız): Ayarlar → MCP bölümünde bir anahtar oluşturun, izinleri işaretleyin ve gerekirse anahtarı tek bir çalışma alanına bağlayın. Anahtar yalnızca bir kez gösterilir.
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_…"
      }
    }
  }
}

Ne sorabilirsiniz

  • “Rakiplerimde bu hafta ne öne çıktı ve neden?”

    Ajan Casus akışınızı alır, olağan dışı görüntüleme alan gönderileri seçer ve onları neyin çekici kıldığını analiz eder: kanca, format, uzunluk.

  • “Bu bölümden Shorts kes: https://youtu.be/…”

    Stüdyo’da bir proje oluşturur, analizi bekler ve bulduğu anları zaman kodlarıyla getirir; seçimi sohbette ya da Kutto akışında yapabilirsiniz.

  • “Rakibimin en iyi gönderisinden bir taslak hazırla ve cuma günü 18:00’e planla”

    Açıklamayı ve taslağı hazırlar, platformların gereksinimlerini kontrol eder ve anahtarda yayınlama izni varsa planlar. MCP Apps destekleyen istemcilerde taslak önizlemesi doğrudan sohbette gösterilir.

Hazır senaryolar istemcinizin istem menüsünde de var: “Что залетело у конкурентов”, “Черновик по залетевшему посту”, “Мой канал против конкурентов”, “Неделя контента из базы знаний”, “Шортс из ссылки”.

Araçlar ve izinler

Genel

Доступно без отдельного разрешения: кто я и что этому ключу открыто.

  • whoamiВозвращает id пользователя-владельца ключа и выданные разрешения (scopes). Диагностика.

Casus

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.

Analitik

analytics:read — Обзор постов, инсайты аккаунта и медиа опубликованного.

  • analytics_posts_overviewПоказывает, что и куда опубликовано: пост, аккаунт, ссылка на площадке, превью, время. БЕЗ ЦИФР — они живут на площадке, за ними в analytics_account_media.
  • analytics_account_insightsВозвращает живую статистику подключённого аккаунта: профиль (подписчики/публикации), дневной reach и суммарные просмотры за период.
  • analytics_account_mediaВозвращает посты подключённого аккаунта прямо из Graph API / YouTube со встроенными инсайтами (включая посты до подключения Kutto).

Gönderiler

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.

Yapay zeka araçları

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.

Medya

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Удаляет файл медиатеки мягко.

Stüdyo

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 — пересчитать кадр под точку и повадку. Файл устаревает — нужен рендер.

İş akışları

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) по черновику как есть; у платных здесь резерв.

Hesaplar

accounts:read — Список воркспейсов и подключённых соцаккаунтов.

  • list_workspacesВозвращает организации, доступные пользователю. Используй полученный id как workspace_id в остальных тулзах (Шпион, Аналитика).
  • list_social_accountsВозвращает подключённые каналы организации (Instagram, YouTube, TikTok, Threads, Telegram). id аккаунта нужен для тулз аналитики (analytics_account_*).

Bilgi bankası

knowledge:read — Статьи-лайфхаки по контенту/SMM и шпаргалка-агрегат из данных Шпиона.

  • knowledge_listВозвращает статьи-лайфхаки по контенту организации (авто-выводы из Шпиона + ручные заметки). Фильтры: раздел, тег, источник, поиск по тексту. Полный текст — через knowledge_get.
  • knowledge_getВозвращает полный текст статьи (markdown) по id — со всеми выводами, цифрами и рекомендациями.
  • knowledge_statsСчитает по разобранным постам Шпиона без модели: какие хуки/форматы/CTA/темы и в какое время дают больше вовлечения, плюс список постов-победителей. Без AI и без платных вызовов.

Nabız

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

Sınırlar ve gizlilik

  • Yapay zeka araçları (analiz, üretim, transkripsiyon) sağlayıcı maliyeti doğurur. Harcama çalışma alanının günlüğüne yazılır; bir anahtar için günlük çalıştırma ve dolar üst sınırı belirleyebilirsiniz, çalışma alanının sahibi de bir üyeye aylık limit koyabilir.
  • Hız sınırları: anahtar başına dakikada en fazla 240 çağrı ve bunların en fazla 60’ı iş başlatan çağrı olabilir; kötü bir döngüye giren ajan sırayı tüketemez.
  • MCP ile oluşturulan TikTok gönderisi “Yalnızca ben” görünürlüğüyle yayınlanır: videoyu kimin göreceğine hesap sahibi Kutto’da karar verir. Instagram, işletme hesabı üzerinden yayınlanır.
  • Bir anahtarın yaptığı her çağrı Ayarlar → MCP bölümünde görünür: hangi araç, ne zaman ve nasıl sonuçlandı. İptal edilen anahtar birkaç saniye içinde çalışmayı durdurur.
  • Ajan yalnızca üyesi olduğunuz çalışma alanlarını ve yalnızca anahtarın izin verdiği bölümleri görür. Verileri nasıl sakladığımız şurada anlatılıyor: gizlilik politikası.

Bir şey bozulduysa ya da henüz olmayan bir araca ihtiyacınız varsa şu adrese yazın: support@kutto.app.