Подключи агента через MCP
MCP, это ещё одна дверь к тому же Pro API: те же права, те же лимиты, те же кредиты, тот же журнал активности. Агент подключается по одному адресу и видит инструменты, которые может использовать на обычном языке. Ничего устанавливать и писать не нужно.
Claude Desktop, claude.ai, ChatGPT, Claude Code, Cursor, VS Code и Windsurf, все они это поддерживают.
Адрес является секретом
https://api.tendre.ai/mcp/<key>Ключ, это Pro API-ключ, созданный в приложении в разделе Настройки > API.
Прочитай этот адрес ещё раз: ключ находится внутри него. Любой, у кого есть эта ссылка, сможет рендерить за счёт твоих кредитов в пределах твоих лимитов. Обращайся с ним как с паролем. Не вставляй его в общий документ, тикет или скриншот, а если он утёк, отзови ключ в приложении: агент остановится немедленно.
Агенты, которые позволяют задать заголовок, могут использовать https://api.tendre.ai/mcp с Authorization: Bearer <key>: это не даст ключу попасть в URL.
Подключи своего агента
Всё нижеследующее было проверено 22 сентября 2026 года. Это меню сторонних компаний, и они меняются: Claude и OpenAI изменили свои в тот же день, когда писалась эта страница, а OpenAI ещё и ограничивает пользовательские MCP-серверы для части тарифных планов. Если путь больше не совпадает с тем, что ты видишь, ищи "connectors" или "MCP" в настройках этого продукта. Единственное, что не меняется, это адрес, который ты вставляешь.
- Claude Desktop, claude.ai и мобильное приложение: Customize > Connectors > Add custom connector, вставь адрес, дополнительная аутентификация не нужна. Прямая ссылка:
https://claude.ai/new#customize/connectors. Работает сразу на всех устройствах аккаунта, ничего перезапускать не нужно. (Раньше коннекторы находились в Settings; теперь эта страница ведёт сюда.) - ChatGPT: сначала включи режим разработчика в настройках, затем Plugins > New plugin > Custom tool. Назови его Tendre.AI, вставь адрес в Server URL, установи Authentication на None, отметь предупреждение о том, что ты понимаешь, и нажми Create.
- Claude Code:
claude mcp add --transport http tendre https://api.tendre.ai/mcp/<key> - Cursor, в
~/.cursor/mcp.json:
{ "mcpServers": { "tendre": { "url": "https://api.tendre.ai/mcp/<key>" } } }- VS Code, в
mcp.json:
{ "servers": { "tendre": { "type": "http", "url": "https://api.tendre.ai/mcp/<key>" } } }- Windsurf, в
~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "tendre": { "serverUrl": "https://api.tendre.ai/mcp/<key>" } } }Самый быстрый способ, вкладка Настройки > Connectors в приложении: она создаёт ключ и прописывает эти настройки за тебя в один клик для агентов, установленных на твоём компьютере. Для веб-агентов (claude.ai, ChatGPT) она копирует адрес, чтобы ты вставил его в настройки их коннектора.
Тридцать один инструмент
| Инструмент | Что делает |
|---|---|
tendre_generate_image | Одно или несколько изображений (count от 1 до 8), с LoRA или без, либо ретушь исходного изображения (mode edit, img2img или inpaint с mask_url). seed воспроизводит предыдущее изображение или создаёт его вариацию. По умолчанию ожидает завершения рендера до 55 с и помещает изображения прямо в разговор. wait=false возвращает идентификаторы. |
tendre_generate_video | Отправляет клип (формат, звук, длина, частота кадров fps, LoRA) по промпту: путём анимации изображения (плюс конечное изображение для перехода), в режиме Ультра (quality max, не выше 1080p; посекундно seconds задаёт длительность, от 4 до 30 с), с ключевыми кадрами (keyframes, режим Качество), с усиленной согласованностью (consistency enhanced, до 721 кадра на клип, то есть 30 с при 24 fps, с учётом расширений), либо продолжая предыдущий клип (extend_job_id, с sequence_id для длинного видео). План Ультра расширяется вперёд или назад (extend_direction); старше 24 часов, из его исходного файла (extend_video_url или extend_upload_id через tendre_upload_link, отправляется как есть). seed воспроизводит предыдущий клип или создаёт его вариацию. Клип занимает несколько минут: по умолчанию инструмент ждёт завершения (не более 55 с) и возвращает ссылку на MP4 или идентификатор, если рендер не завершён; wait=false сразу возвращает идентификатор. Пока идёт ожидание, кнопка остановки пользователя отменяет рендер и ничего не списывается. |
tendre_character_create | Создаёт персонажа (семь ракурсов) по фотографии: ссылка на загрузку, файл, прикреплённый в ChatGPT, изображение, сгенерированное в разговоре, или публичный адрес. Ждёт создания (не более 55 с) и помещает ракурсы в разговор (превью 1024 px; ссылки в тексте ведут на ракурсы в полном размере). 6 кредитов, образ включён. См. Персонажи. |
tendre_character_get | Состояние персонажа и его ракурсы (wait ждёт завершения создания; sheet_id выбирает character sheet). |
tendre_character_list | Персонажи на аккаунте, включая созданных в приложении, с датой удаления каждого. |
tendre_character_redo_view | Переделывает неудавшийся ракурс или повёрнутый не в ту сторону (1 кредит), с необязательной instruction в повелительном наклонении для персонажа или character sheet, созданных через API; sheet_id указывает конкретный character sheet. |
tendre_character_set_view | Заменяет ракурс персонажа, созданного через API, или character sheet, добавленного через tendre_character_add_sheet (sheet_id), изображением пользователя без генерации (бесплатно). |
tendre_character_add_sheet | Добавляет образ (character sheet) существующему персонажу из API или из приложения: готовые ракурсы сохраняются бесплатно (views, по ролям), недостающие роли генерируются (по 1 кредиту), или, без ракурсов, образ надевается на его ракурс в полный рост и генерируются шесть ракурсов (7 кредитов). Возвращает sheet_id для tendre_character_get, tendre_character_redo_view, tendre_character_set_view и tendre_multiref_video. См. Добавить образ. |
tendre_character_delete | Удаляет персонажа и его ракурсы. |
tendre_subject_create | Сохраняет локацию, объект, животное, стиль или наряд по 1-6 изображениям пользователя для повторного использования в Multi-Ref. Бесплатно. См. Места, объекты, животные, стили и наряды. |
tendre_subject_list, tendre_subject_get, tendre_subject_delete | Локации, объекты, животные, стили и наряды на аккаунте (включая объекты из Библиотеки приложения), их детали и изображения, а также их удаление. Подаренные Tendre.AI элементы попадают в список при первом чтении. |
tendre_subject_generate | Генерирует место, предмет, животное, стиль или наряд без изображения пользователя: стартовое изображение по описанию на английском (или импортированное, бесплатно), затем ракурсы (см. Сгенерировать объект без изображений). 1 кредит за отрендеренное изображение, не более 6 изображений; ждёт 55 с, затем возвращает состояние и изображения. |
tendre_subject_add_views, tendre_subject_redo_view | Добавляет ракурсы к сгенерированному объекту или переделывает один (instructions заменяет его задание; start переделывает стартовое изображение, пока из него не исходит ни один ракурс). |
tendre_multiref_video | Клип Multi-Ref с 1-4 персонажами, объектами и животными, вызываемыми по @Имя в промпте (subjects; в Ультра до 30 изображений всего, из них не более 12 персонажей, рекомендуется 8), сохранённой локацией (location_id) или необязательным одноразовым изображением локации, в режиме Качество или Ультра (посекундно: seconds, от 4 до 30 с), формат, длина, частота кадров fps, звук, seed, а со звуком, голос для первых двух персонажей (voice_url, публичный адрес аудиофайла, не более 4 МБ; расставь персонажей в порядке диалога). Ждёт завершения как tendre_generate_video, и кнопка остановки отменяет рендер. В Ультра также styles, outfits (с worn_by) и motion (видео движения: video_upload_id, video_job_id или video_url; mode camera или choreography). См. Multi-Ref Видео. Со звуком первые два персонажа по умолчанию говорят голосом из своего профиля (voice generated для голоса, созданного моделью). |
tendre_multiref_image | Создаёт изображение с персонажами (по их ракурсу или их LoRA), предметами, животными и локацией, вызываемыми по @Имя в промпте на английском (см. Создать изображение). Сразу возвращает jobId: создание изображения занимает от 1 до 3 минут, следи за ним через tendre_job_status (kind images). quote_only даёт цену, ничего не запуская. |
tendre_face_swap | Face swap (персонаж целиком или, с part head, только голова): человек в кадре одного из твоих видео (ссылка на загрузку, файл, прикреплённый в ChatGPT, публичный адрес, не более 95 МБ) или в видео, сгенерированном в разговоре, становится одним из твоих персонажей, лицо, волосы, тело и образ сохраняются, жесты, губы, звук и обстановка остаются, над фрагментом не более 20 с (start, duration), с scene, name, zone, likeness и, со звуком, голосом персонажа (voice_url, публичный адрес аудиофайла, не более 2 МБ). По умолчанию звук получает голос из профиля персонажа, если он есть (voice original сохраняет снятый голос). Переходы transition_in и transition_out: cut (по умолчанию), morphing (наплыв) или glitch (цифровой эффект на силуэте); с переходом возвращается всё видео целиком (не более 60 с). Ответ указывает границы отрывка (passage). 6 кредитов за секунду фрагмента. Ждёт завершения как tendre_generate_video, и кнопка остановки отменяет рендер. См. Face swap. |
tendre_sequence_create | Открывает последовательность для создания длинного видео кадр за кадром. |
tendre_sequence_export | Склеивает кадры последовательности в единое видео и возвращает ссылку на MP4. |
tendre_project_export | Экспортирует папку проекта рендера (job_id) или последовательности (sequence_id) не старше 24 часов: манифест в ответе, ZIP по ссылке. manifest_only возвращает только манифест. Для последовательности include_film добавляет собранный фильм. include_media, include_references и exclude_references выбирают, что войдёт в папку, как окно экспорта приложения. Бесплатно. См. Экспорт папки проекта. |
tendre_upload_link | Создаёт ссылку для загрузки одного из твоих изображений или видео (фото или видео, прикреплённое к разговору, файл на твоём компьютере или телефоне). Ты открываешь её и перетаскиваешь файл, или агент с доступом к твоим файлам отправляет его сам. Видео (MP4, MOV, WebM или MKV, не более 95 МБ) передаётся в tendre_face_swap. Бесплатно. |
tendre_job_status | Статус рендера. Для видео по умолчанию ждёт завершения (не более 55 с, wait=false для быстрой проверки), и кнопка остановки отменяет рендер в процессе ожидания. После завершения изображение возвращается в разговор, видео, в виде ссылки. |
tendre_cancel_job | Отменяет рендер. Ничего не списывается. |
tendre_list_loras | Персонажи на аккаунте с именем для передачи в lora и триггерным словом для вставки в промпт. |
tendre_buy_credits | Пакеты кредитов с актуальными ценами и ссылка на покупку твоей лицензии. Сверх самого большого пакета он предлагает и произвольное количество (параметр credits). Этот инструмент не платит: ты открываешь ссылку и оплачиваешь картой или криптовалютой. |
tendre_purchase_credits | Покупает пакет (или произвольное количество) с твоей сохранённой карты, если ты разрешил агенту покупать в автопополнении на странице аккаунта, в пределах твоего месячного лимита. Агент должен назвать пакет и его цену, а затем дождаться твоего да в разговоре (confirmed). Если покупка отклонена, он даёт тебе обычную ссылку на покупку. Каждую покупку подтверждает письмо. |
tendre_credits | Баланс, лимиты ключа, активные рендеры. |
tendre_pricing | Актуальный прайс-лист. |
tendre_quote | Стоимость рендера до его запуска: включая создание персонажа (kind characters) и клип Multi-Ref (multiref true). Принимает consistency для клипа с усиленной согласованностью и fps: ответ даёт длину в секундах при этой частоте кадров. Для Ультра с посекундной оплатой seconds задаёт длительность. Для расширения Ультра: extend_job_id и extend_direction. |
Если соединение обрывается до ответа tendre_generate_image, tendre_generate_video, tendre_multiref_video или tendre_face_swap (истёк тайм-аут прокси, ошибка 524, программа остановлена), рендер не запускается или сразу отменяется, и ничего не списывается: просто вызови инструмент ещё раз. Создание персонажа (tendre_character_create) при этом продолжается: повторный вызов с тем же фото и настройками вернёт того же персонажа, без двойного списания.
При подключении сервер передаёт агенту правила: промпты на английском, триггерное слово обязательно с LoRA, объявлять стоимость перед дорогостоящим рендером, проверять ракурсы нового персонажа перед его первым клипом и переделывать неудавшийся, а персонаж, локация, объект или животное, не использовавшийся год, удаляется.
Начни с изображения
Ты можешь попросить не только о создании картинки с нуля: "создай изображение, а потом анимируй его", переход между двумя изображениями, ретушь.
Агент указывает на изображение одним из двух способов. Либо по его идентификатору, если оно было сгенерировано в разговоре (image_job_id; файл считывается на нашей стороне, пока движок его ещё хранит, несколько десятков минут). Либо по публичному адресу PNG или JPEG не более 12 МБ (image_url; приватные адреса не принимаются). Для перехода конечное изображение задаётся так же (end_image_job_id, end_image_url). Если формат не задан, клип берёт формат изображения. Переход выходит в запрошенном размере от 480p до 1080p и тарифицируется как клип этого формата. Для ключевых кадров (режим Качество) keyframes принимает 1-4 объекта { at, image_job_id | image_url | image_upload_id, strength } и требует фиксированной длины (length).
Твоя собственная фотография
- ChatGPT: прикрепи изображение к разговору и попроси. Больше ничего делать не нужно.
- Все остальные агенты (Claude, Cursor...): агент даёт тебе ссылку для загрузки (
tendre_upload_link). Открой её, перетащи изображение или вставь его, затем скажи агенту, что готово. Агент с доступом к твоим файлам (Claude Code, Cursor, VS Code) отправит его сам.
Твоя фотография никогда не записывается на диск. Она остаётся в памяти 30 минут, этого достаточно для рендера, а затем удаляется. Ссылка для загрузки работает только для ключа, которым была создана. Исключения: фото, использованное для создания персонажа, становится одним из ракурсов персонажа, а изображения сохранённой локации, объекта или животного хранятся в зашифрованном виде под твоим управлением до тех пор, пока ты их не удалишь или пока не пройдёт год без использования (см. ниже).
Персонажи в одном клипе
Скажи "создай персонажа по этой фотографии": агент создаёт его (6 кредитов), показывает семь ракурсов и переделывает неудавшийся. Затем попроси о сцене: "клип, где Леа передаёт чашку Тому на солнечной кухне", и агент задействует Multi-Ref Видео, каждый персонаж вызывается по @Имя, до четырёх в одном клипе (двенадцать в Ультра, рекомендуется восемь). Персонажи, созданные в приложении, тоже доступны. Ракурс, который постоянно выходит неправильно (например, протез не на той руке), можно переделать с инструкцией или заменить своим изображением.
Дай агенту несколько снимков места, объекта или животного и скажи, что это: он сохранит их (бесплатно), и потом можно попросить "@Леа ждёт @Трамвай на @Площади". Всего до четырёх персонажей, объектов и животных плюс одна сохранённая локация в качестве фона; в Ультра до 30 изображений всего, из них не более двенадцати персонажей (рекомендуется восемь). Подробности, на странице Персонажи и в разделе Multi-Ref Видео.
Персонаж в твоём собственном видео (Face swap)
Отправь агенту видео и назови одного из своих персонажей: с помощью tendre_face_swap человек
в кадре становится этим персонажем, лицо, волосы, тело и образ меняются, жесты, губы, звук
и обстановка остаются, над фрагментом не более 20 с. Видео может быть:
- по ссылке для загрузки (
tendre_upload_linkпринимает и видео: MP4, MOV, WebM или MKV, не более 95 МБ); - файлом, прикреплённым в ChatGPT;
- по публичному адресу (приватные адреса не принимаются);
- или из видео, сгенерированного в разговоре.
Чтобы заменить только голову (лицо и волосы) и сохранить снятое тело, одежду и обстановку, попроси об этом агента: он отправит part head.
По умолчанию звук видео получает голос из профиля персонажа, если он есть; чтобы сохранить снятый голос, попроси об этом: агент отправит voice original. Голос, заданный через voice_url, имеет приоритет, и используются его первые 20 секунд.
Персонаж, созданный в приложении, не имеет имени на нашей стороне: агент присваивает ему имя (name), чтобы вызывать его по @Имя в сцене. Для голоса персонажа укажи публичный адрес аудиофайла не более 2 МБ (voice_url): звук видео будет преобразован в этот голос. Твоё видео проходит через наши серверы в процессе подготовки, затем передаётся на видеокарту для рендера. Результат возвращается в виде ссылки на видео, как любой клип, в рабочем формате (около одного мегапикселя): полное разрешение и несколько персонажей подряд доступны только в десктопном приложении. Цена, за секунду фрагмента, см. Face swap.
Переходы, как углы карточек в приложении: transition_in ведёт в начале отрывка от снятого человека к персонажу, transition_out в конце от персонажа обратно к человеку. Каждый из них: cut (по умолчанию, без перехода), morphing (наплыв, около 0,5 с) или glitch (цифровой эффект, ограниченный силуэтом, около 0,4 с). Перехода на входе нет, если отрывок начинает видео, и на выходе, если он его заканчивает.
С переходом ты получаешь всё видео целиком, не более 60 с (более длинное отклоняется): снятый человек, переход, персонаж на своём отрывке, переход и снова человек. Оно приходит в рабочем формате (около одного мегапикселя) и с частотой 24 или 30 кадров/с; приложение для компьютера, напротив, вклеивает персонажа в полном разрешении и с исходной частотой кадров. Отрендеренный (и оплачиваемый) отрывок удлиняется примерно на 0,3 с с каждой стороны, где есть переход. Наложение переходов бесплатно и занимает от нескольких секунд до минуты после рендера; в это время tendre_job_status отвечает pending (фаза assembling the transitions). video_job_id такого рендера указывает на всё его видео: передай его снова в tendre_face_swap, чтобы добавить второго персонажа в то же видео. Наш сервер обрабатывает два face swap с переходами одновременно; сверх этого инструмент попросит повторить попытку через несколько минут.
Ответ указывает точные границы отрывка в секундах (passage: start, end). Без перехода отрывок содержит 8n+1 кадров, с округлением вниз: из запрошенных 2,9 с получается 2,7 с. Чтобы пристыковать следующий отрывок сразу за ним, начни его с end. С переходом отрывок точен до кадра.
Чтобы состыковать двух персонажей, начни второго с passage.end первого: он пристыкуется с точностью до кадра, а его переход на входе пройдёт целиком прямо перед стыком (примерно 0,4 с глитча или 0,5 с наплыва дополнительно рендерятся с его стороны), без возврата к снятому человеку. Оставь transition_out первого в cut: иначе инструмент предупредит, что два перехода наложились бы друг на друга. Тогда в ответе будет passage.joined_to_previous.
Используй только видео с людьми, давшими своё согласие: это правило условий использования.
Изображения возвращаются в разговор, видео, это ссылка с ограниченным сроком
Изображение появляется прямо в разговоре: протокол поддерживает передачу изображений.
Видео, нет, и весит слишком много для этого. Оно возвращается в виде ссылки, которая ретранслирует файл с выхода движка и остаётся рабочей несколько десятков минут. После этого ничего на нашей стороне не хранится.
Поэтому агент с доступом к твоему диску (Claude Code, Cursor, VS Code) получает указание сохранить файл за тебя. Тот, у которого нет такого доступа, например веб-чат, может только передать тебе ссылку. Скачай видео, пока оно живо: как только ссылка истечёт, клип исчезнет, и повторный рендер будет стоить кредитов снова.
Есть три исключения. Длинное видео: его кадры остаются на нашем сервере только пока собираются, и удаляются через 30 минут после добавления последнего; смонтированное видео хранится 24 часа, чтобы ты мог найти его, вернувшись позже, а затем тоже удаляется. И персонаж: его ракурсы, включая отправленную тобой фотографию, хранятся в зашифрованном виде под твоей лицензией до тех пор, пока ты не удалишь его (tendre_character_delete) или он не пролежит без использования год. Наконец, Face swap с переходом: всё видео остаётся в памяти нашего сервера, пока на него не наложены персонаж и переходы, готовое видео ещё 30 минут, а твоё видео попадает на диск только на время подготовки. Ничего больше у нас не остаётся.
Максимальное качество
Для самого высокого качества рендера просто попроси об этом ("в максимальном качестве"): агент переключается в режим Ультра, сначала сообщает стоимость и предупреждает, что рендер займёт больше времени. Видео доступно до 1080p: 4K нет.
Длинное видео
Клип длится не более 20 секунд при 24 fps (16 с при 30 fps, по умолчанию), 30 с в режиме усиленной согласованности при 24 fps. Для более длинного видео просто попроси о нём целиком ("минутное видео о..."): больше знать ничего не нужно. Агент рендерит его кадр за кадром, каждый продолжает движение предыдущего без остановки на стыке, затем склеивает их в единый MP4 и даёт тебе ссылку.
Кадры рендерятся один за другим, каждый занимает несколько минут. Каждый стоит как один клип соответствующего формата, что tendre_quote сообщает до начала. В режиме усиленной согласованности (consistency enhanced) минута укладывается в два кадра по 30 с при 24 fps, каждый вдвое дороже своего формата. Звук продолжается от кадра к кадру, кроме режима усиленной согласованности и Ультра, где он начинается заново с каждым кадром. Правила и вызовы за этим стоящие описаны на странице Видео.
Несколько кадров с жёсткими склейками до 20 секунд не требуют последовательности: попроси о кадрах, и агент соберёт их в единый клип (как их описывать).
Под капотом
Транспорт, MCP Streamable HTTP, версия протокола 2025-06-18, без состояния: одно сообщение JSON-RPC на POST, ответ в формате JSON, без серверного стрима (GET отвечает 405). Методы: initialize, ping, tools/list и tools/call, и каждый инструмент вызывает тот же API, описанный на этих страницах, с ключом агента.