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

Сервер Welder MCP

Welder — это удаленный сервер MCP по адресу https://weldergtm.com/mcp. Вызовите get_context сначала, затем публикуйте с помощью create_post, а файлы передавайте через create_upload (терминал) или create_upload_link (приложение для чата). Технические слова присутствуют только на этой странице; остальная часть сайта говорит прямо.

Конечная точкаhttps://weldergtm.com/mcp

Конечная точка#

POST https://weldergtm.com/mcp
  • Streamable HTTP без сохранения состояния: идентификатор сеанса не требуется. Версии протокола 2025-11-25, 2025-06-18, 2025-03-26 и 2024-11-05.
  • Ответы в формате JSON; с Accept: text/event-stream вы можете получить поток, несущий ровно один ответ.
  • Запросы до 1 MiB, пакеты до 20 запросов. GET и DELETE для /mcp возвращают 405.
  • Каждый инструмент возвращает структурированный контент плюс короткую текстовую версию, которую модель может прочитать вслух, а также объявляет заголовок и четыре аннотации MCP (только для чтения, деструктивный, открытый мир, идемпотентный).

Аутентификация и области действия#

OAuth 2.1 (предпочтительно). Clients discover everything themselves: an unauthenticated call gets 401 with a pointer to the protected resource metadata, clients register dynamically, и sign-in happens in the browser with PKCE. Access tokens last an hour and refresh for 90 days.

Обнаружение сервера
https://weldergtm.com/.well-known/oauth-protected-resource
https://weldergtm.com/.well-known/oauth-authorization-server

Права доступа. Каждый инструмент требует входа в систему и объявляет необходимую ему область действия. securitySchemes. read covers lookups inside the workspace, validation и stored numbers (9 tools); get_post также может запросить у TikTok ожидающую ссылку и сохранить ее, чтобы она не была помечена как доступная только для чтения. publish covers uploads, account connection links, publishing, cancelling, deleting и dismissing warnings, and every call that can change state or spend credits (12 ): среди них ожидание ссылки для загрузки, обновление номеров и чтение ответов. Учетные данные без области действия получают forbidden.

API-ключи. Для клиентов без OAuth, скриптов и CI. Создайте его под Дополнительно → Клавиши и отправьте его как токен на предъявителя. Ключи начинаются с wk_live_показаны один раз и имеют оба прицела.

curl -X POST https://weldergtm.com/mcp \
  -H "Authorization: Bearer {key}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

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

Установить в приложении для кодирования#

Каждое приложение имеет понятное руководство с точной командой или конфигурацией. Краткая версия:

Claude CodeПутеводитель

claude mcp add --transport http welder https://weldergtm.com/mcp

Codex CLIПутеводитель

codex mcp add welder --url https://weldergtm.com/mcp

CursorПутеводитель

.cursor/mcp.json
{
  "mcpServers": {
    "welder": { "url": "https://weldergtm.com/mcp" }
  }
}

WindsurfПутеводитель

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "welder": { "serverUrl": "https://weldergtm.com/mcp" }
  }
}

Gemini CLIПутеводитель

gemini mcp add --transport http welder https://weldergtm.com/mcp

VS Code (Copilot)Путеводитель

code --add-mcp '{"name":"welder","type":"http","url":"https://weldergtm.com/mcp"}'

ClineПутеводитель

Open Cline → MCP Servers → Remote Servers and add a server named welder with the URL https://weldergtm.com/mcp.

Any client or scriptПутеводитель

https://weldergtm.com/mcp

Или позвольте агенту установиться самостоятельно:

Вставьте в свой агент
Install the Welder MCP server for this client the native way (HTTP transport, URL https://weldergtm.com/mcp). Then call the `get_context` tool и tell me which accounts are connected. Never print credentials back to me.

Плагин Welder#

Welder: автопостинг в TikTok, Instagram и YouTube упаковывает пять готовых рабочих процессов с подключением к этому серверу: начинайте и подключайтесь, публикация контента, расписание контента, обзор производительности and привлекайте аудиторию. В упаковке содержатся читаемые инструкции, настройки подключения и фирменные изображения. Он не устанавливает никаких программ, фоновых процессов или перехватчиков и не требует учетных данных: вы входите в систему с помощью Welder в своем браузере через собственный вход в приложение.

Публичный пакетgithub.com/smvls/welder-pluginsMIT

Код Claude. Добавьте торговую площадку и установите плагин по одной строке внутри Claude Code. Затем запустите /mcp, выберите сервер Welder и выберите «Аутентификация»; ваш браузер откроется для входа в систему.

В коде Claude
/plugin marketplace add smvls/welder-plugins
/plugin install welder-social-manager@welder-plugins

Кодекс. Интерфейс командной строки Codex устанавливает тот же пакет из общедоступного репозитория. Войдите в систему с помощью Welder, используя собственный процесс входа Codex; ваш браузер откроется для подтверждения доступа.

Плагин, в терминале
codex plugin marketplace add smvls/welder-plugins
codex plugin add welder-social-manager@welder-plugins

Предпочитаете использовать сервер отдельно, без рабочих процессов? Добавьте его и войдите один раз:

Только сервер, в терминале
codex mcp add welder --url https://weldergtm.com/mcp
codex mcp login welder

Приложения Claude и ChatGPT. Добавить https://weldergtm.com/mcp в качестве пользовательского коннектора в своих настройках и войти; тот Гид Claude и Руководство по ChatGPT показать каждый экран.

Списки каталогов. Каталоги плагинов Claude и ChatGPT проверяют и одобряют плагин перед его размещением. А пока установите из общедоступного репозитория или подключите Welder напрямую.

Инструменты#

Рабочее пространство и учетные записи

Кто подключен, что можно публиковать и как подключить другую сеть.

get_connected_profile

read

Подключиться Профиль Welder. Аннотации: Только чтение, Идемпотентный

Идентифицирует рабочую область Welder, к которой принадлежат эти учетные данные, поэтому хост, поддерживающий несколько учетных записей, может отличить их друг от друга.

Нет ввода.

Возврат

{ id }

  • id — это стабильный, непрозрачный идентификатор рабочей области, разрешенный только на основе проверенных учетных данных. Он никогда не содержит адрес электронной почты, имя рабочей области или учетные данные.
  • Помечен как инструмент аутентифицированного профиля (_meta["openai/profile"]: true). Текстовое содержимое содержит тот же JSON, что и структурированный результат.
Вызов
get_connected_profile({})
Результат (пример)
{ "id": "7c1e2a9d-…" }

get_context

read

Получить контекст публикации Welder. Аннотации: Только чтение, Идемпотентный

Начните здесь. Рабочее пространство, открыта ли публикация прямо сейчас, лимиты и использование в этом месяце, подключенные учетные записи, что принимает каждая сеть и как передавать файлы.

Нет ввода.

Возврат

{ workspace: { id, name, plan_status, limits: { posts, x_credits }, usage: { posts, x_credits }, can_publish }, accounts: Account[], capabilities: { tiktok, instagram, youtube, threads, bluesky, x }, media_hint, links: { app, connect_accounts }, server: { version }, next_step? }

  • When can_publish is false, next_step says so: “Publishing is unavailable under this account's current entitlement. Account setup, uploads и validation remain available.” Subscriptions are managed on the Welder website, never through an assistant.
  • определяются сетью с теми же ограничениями, что и get_capabilities.
  • В моделируемой рабочей области просмотра результат также содержит review_demo: true и строку data_source, а media_hint объясняет образец носителя. См. рабочую область проверки ниже.
Вызов
get_context({})
Результат (пример)
{
  "workspace": {
    "id": "7c1e2a9d-…",
    "name": "Nightshift Studio",
    "plan_status": "active",
    "limits": { "posts": 1500, "x_credits": 100 },
    "usage": { "posts": 3, "x_credits": 8 },
    "can_publish": true
  },
  "accounts": [{ "id": "b2d4…", "provider": "x", "username": "nightshiftHQ", "status": "active", … }],
  "capabilities": { "tiktok": { … }, "instagram": { … }, … },
  "media_hint": "In chat apps without a shell, use create_upload_link and show its URL to the person; then get_upload_link for media ids. With a shell, use create_upload and finalize_upload.",
  "links": {
    "app": "https://weldergtm.com/app",
    "connect_accounts": "https://weldergtm.com/app/accounts"
  },
  "server": { "version": "0.1.0" }
}

list_accounts

read

Список подключенных социальных аккаунтов. Аннотации: Только чтение, Идемпотентный

Подключенные аккаунты с указанием их статуса и того, что каждый может публиковать. Используйте идентификаторы в качестве целей create_post.

Нет ввода.

Возврат

{ accounts: [{ id, provider, username, display_name, avatar_url, profile_url, status: 'active' | 'reauth_required' | 'disconnected', capabilities, connected_at, expires_at, defaults, last_error }] }

  • по умолчанию содержит информацию о поставщике, которая может понадобиться агенту, например, уровни конфиденциальности TikTok, предлагаемые учетной записью, или тип учетной записи Instagram.

connect_account

publish

Подключите аккаунт в соц. Аннотации: Изменяет данные

Кратковременная ссылка (10 минут), открывающая поток подключения к сети в браузере пользователя. Покажите это, а затем позвоните list_accounts, как только они закончат.

ВводОписание
providerобязателен'tiktok' | 'instagram' | 'youtube' | 'threads' | 'bluesky' | 'x'Сеть для подключения.

Возврат

{ provider, url, expires_in }

  • Человек входит в систему на собственном экране сети; помощник никогда не видит пароль. Для Bluesky ссылка открывает форму пароля приложения.
  • Отказано в запрете на участие в моделируемой рабочей области проверки, образцы учетных записей которой предоставлены Welder.

Файлы

Добавление фотографии или видео в Welder: ссылка для загрузки для приложений чата, подписанная загрузка для оболочек или общедоступный URL-адрес.

Публикации

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

validate_post

read

Подтвердить публикацию в социальной сети. Аннотации: Только чтение, Идемпотентный

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

ВводОписание
…same as create_postПередайте именно то, что вы бы передали в create_post.

Возврат

{ ok, issues, targets: [{ account_id, provider, username, ok, issues, resolved }], cost: { posts, x_credits } }

  • Проблемы с предупреждением о коде – это совет, например, что Instagram не показывает подписи в историях. Они никогда не блокируют публикацию.

create_post

publish

Опубликовать или запланировать публикацию в социальной сети. Аннотации: Изменяет данные, Необратимое действие, Открытый мир, Идемпотентный

Публикует одну подпись и набор мультимедиа для одной или нескольких учетных записей сейчас или на schedule_at. Возвращается сразу с сообщением или ждет результата до wait_seconds.

ВводОписание
captionобязателенstringПодпись, описание или текст публикации, в зависимости от сети.
targetsобязателен[{ account_id } | { provider }]Сокращение провайдера нацелено на каждую активную учетную запись в этой сети.
mediastring[]Идентификаторы медиа. Оставьте пустым для текстового сообщения (Threads, Bluesky, X).
titlestringНазвание YouTube или название фотографии TikTok; получено из заголовка, когда он отсутствует.
idempotency_keystringРекомендуется: один стабильный ключ для каждого сообщения, используемый повторно при каждой повторной попытке. Без него идентичные входные данные по-прежнему дедуплицируются автоматически.
schedule_atISO 8601Опубликовать позже, до 30 дней вперед.
optionsobjectПараметры для каждой сети: tiktok, youtube, instagram, threads, bluesky, x (истории, черновики, ответы, цитаты, опросы, альтернативный текст и многое другое). См. раздел «Параметры для каждой сети» ниже.
wait_seconds0–50Блокируйте до тех пор, пока все цели не установятся или пока не истечет время, затем верните текущее состояние.

Возврат

{ post: { id, status, source, client, caption, title, media, media_count, targets: [{ id, account_id, provider, username, status, attempt, url, platform_post_id, error_code, error_message, ambiguous, published_at, updated_at, kind }], scheduled_at, created_at, updated_at, completed_at } }

  • Запрос с указанием точной подписи, аккаунтов и времени уже подтверждает публикацию; второе подтверждение не требуется. Спрашивайте только об отсутствующих или противоречивых деталях, таких как отсутствие подписи, имя учетной записи, которое соответствует двум профилям или двум разным временам: опубликованное сообщение не всегда можно вернуть.
  • Конфиденциальность TikTok и видимость YouTube по умолчанию соответствуют настройкам рабочей области (публично, если пользователь их не изменит). Ярлык, созданный искусственным интеллектом, включен по умолчанию для TikTok и YouTube.
  • options.instagram.kind = "story" posts an Instagram Story; a reply option (threads.reply_to_id, x.reply_to_post_id, bluesky.reply_to) answers a comment from list_comments.
  • Если цель возвращается неоднозначной, возможно, сеть опубликовала ее: проверьте учетную запись вместо повторной публикации с новым ключом.
Вызов
create_post({
  idempotency_key: "cold-brew-launch",
  caption: "Cold brew season is open. Twelve hours, zero heat.",
  media: ["3ed1…"],
  targets: [{ provider: "tiktok" }, { provider: "youtube" }],
  wait_seconds: 30
})

get_post

read

Получить статус публикации в социальных сетях. Аннотации: Изменяет данные, Открытый мир, Идемпотентный

Текущее состояние публикации и каждой из ее целей с активной ссылкой после ее подтверждения сетью.

ВводОписание
post_idобязателенstring (uuid)Из create_post.
wait_seconds0–50Прежде чем отвечать, подождите, пока цели установятся и появится ожидающая ссылка на TikTok. По умолчанию 0.

Возврат

{ post: Post }

  • needs_attention имеет значение true, если неудавшаяся или частично опубликованная публикация содержит предупреждение, которое никто не отклонил; attention_dismissed_at говорит, когда один был уволен.
  • Цель TikTok с url_pending была опубликована, но TikTok еще не предоставил свою общедоступную ссылку (она все еще может находиться в модерации). Позвоните позже; частная публикация может никогда не получить общедоступную ссылку, и ни одна из них никогда не будет выдумана.
  • Для ожидающей ссылки на TikTok get_post может запросить у TikTok статус этой публикации и сохранить ссылку, как только она появится. Это единственное изменение, которое он может внести: он никогда не публикует, не повторяет попытки и не меняет использование, поэтому ему нужна только область чтения. Чтение провайдера делает его открытым, а сохранение ссылки означает, что она не доступна только для чтения. Имитируемое рабочее пространство обзора никогда не запрашивает TikTok.

list_posts

read

Список публикаций в социальных сетях. Аннотации: Только чтение, Идемпотентный

Последние и запланированные публикации, сначала самые новые.

ВводОписание
limit1–50По умолчанию 20.
cursorstringИз next_cursor с предыдущей страницы.
status'queued' | 'publishing' | 'published' | 'partial' | 'failed' | 'canceled' | 'needs_attention'Только посты в этом состоянии. needs_attention перечисляет неудачные и частично опубликованные сообщения, предупреждение которых не было отклонено.

Возврат

{ posts: Post[], next_cursor }

dismiss_post_attention

publish

Закрыть предупреждение о публикации. Аннотации: Изменяет данные, Идемпотентный

Отклоняет предупреждение о неудачной или частично опубликованной публикации. Пост сохраняет результаты в истории и покидает список needs_attention.

ВводОписание
post_idобязателенstring (uuid)Пост, предупреждение которого удалить.

Возврат

{ post: Post }

  • Ничего не повторяет, не публикует, не удаляет и не отменяет и не связывается ни с одной сетью. Исходные ошибки, носители и использование остаются прежними.
  • Можно позвонить еще раз. Пост без неразрешенного предупреждения отвечает на конфликт. Более поздняя явная повторная попытка отменяет увольнение, поэтому новые ошибки появляются снова.
Вызов
dismiss_post_attention({ post_id: "8c1f…" })

cancel_post

publish

Отменить запланированную публикацию в соцсети. Аннотации: Изменяет данные, Необратимое действие, Идемпотентный

Останавливает поставленные в очередь и запланированные цели до того, как они погаснут. Публикация целей уже завершена.

ВводОписание
post_idобязателенstring (uuid)Пост, который нужно отменить.

Возврат

{ post: Post }

  • Отмена не может быть отменена; запланируйте публикацию еще раз, чтобы вернуть ее.

delete_post

publish

Удалить опубликованную публикацию в соцсети. Аннотации: Изменяет данные, Необратимое действие, Открытый мир, Идемпотентный

Удаляет опубликованное сообщение. Удаляет его из X и Bluesky; для других сетей в результате говорится, что нужно удалить его в своем приложении. Это невозможно отменить: четкий запрос на удаление этого сообщения — это добро, а неясное сообщение или учетная запись стоят одного вопроса в первую очередь.

ВводОписание
post_idобязателенstring (uuid)Пост, который нужно удалить.
account_idsstring[]Только копии этих аккаунтов. По умолчанию каждая опубликованная копия.

Возврат

{ post: Post, results: [{ target_id, account_id, provider, result: 'deleted' | 'already_deleted' | 'unsupported' | 'not_published' | 'failed', message }] }

  • Удаленная копия сохраняет статус публикации удаленным, и ее номера перестают обновляться. Удаление никогда не возвращает использованные сообщения или X-кредиты.
  • Отказано в запрете на работу в моделируемой рабочей области проверки: его сообщения никогда не доходили до сети.
Вызов
delete_post({ post_id: "8c1f…", account_ids: ["e7a9…"] })

Результаты и ссылки

Номера, ответы и то, что принимает каждая сеть.

get_analytics

read

Получите социальную аналитику. Аннотации: Только чтение, Идемпотентный

Как продвигаются публикации на основе сохраненных номеров: просмотры, лайки, комментарии, репосты и подписчики для каждой сети и учетной записи, а также самые популярные публикации. Отсутствующий номер означает, что сеть не разделяет его; в записке написано почему.

ВводОписание
days1–365Сообщения, опубликованные за последние N дней. Игнорируется, если установлено значение с момента.
since, untilISO 8601Пользовательский период по времени публикации.
provider'tiktok' | 'instagram' | 'youtube' | 'threads' | 'bluesky' | 'x'Только одна сеть.
account_idstring (uuid)Только один аккаунт.
sort'published_at' | 'views' | 'likes' | 'comments' | 'shares' | 'interactions' | 'engagement_rate'Заказ top_posts. published_at по умолчанию.
limit1–50Сколько топовых постов. По умолчанию 20.

Возврат

{ period: { since, until }, as_of, posts, measured, totals, interactions, engagement_rate, by_provider: [{ provider, posts, measured, totals, note }], accounts: [{ account_id, provider, username, status, note, metrics, change, captured_at, history }], top_posts: TargetAnalytics[] }

  • Период выбирает сообщения по времени публикации; каждое число — это последнее общее количество постов, а не рост за период.
  • Счетчики: просмотры, охваты, лайки, комментарии, репосты, репосты, цитаты, сохранения, link_clicks, profile_visits, подписки, вовлеченность, video_views, watch_time_s, avg_watch_time_s. Счетчик, о котором сеть не сообщает, отсутствует и никогда не равен 0.
  • статус для каждого сообщения и аккаунта: доступно, в ожидании, permission_required, не поддерживается, недоступно или ошибка.
Вызов
get_analytics({ дней: 28, сортировка: "просмотры", лимит: 5 })

get_post_analytics

publish

Получить или обновить аналитику публикаций. Аннотации: Изменяет данные, Открытый мир

Номера одного поста в каждой сети с указанием причины отсутствия некоторых из них. обновить запрашивает сети сейчас; история показывает, как росли цифры.

ВводОписание
post_idобязателенstring (uuid)Пост.
refreshbooleanСобирайте свежие номера прямо сейчас, а не дожидаясь расписания (максимум раз в 10 минут на пост). По умолчанию ложь.
historybooleanДобавляйте все собранные баллы, начиная с самых старых. По умолчанию ложь.

Возврат

{ post_id, caption, created_at, targets: [{ target_id, account_id, provider, username, url, status, note, metrics, extra, interactions, engagement_rate, captured_at, next_refresh_at, history? }], totals, as_of }

  • Требуется область публикации, поскольку обновление: true считывает сети и сохраняет новые номера; эти чтения провайдера делают его открытым миром.
  • Числа собираются примерно через 1 час, 6 часов, 1 день, 3 дня, 7 дней, 30 дней и 90 дней после публикации (Истории Instagram: 1, 6 и 20 часов; X: 1 час, 1, 7, 29 и 90 дней).
  • При слишком частом обновлении возвращается rate_limited с подробностями.retry_after_seconds. В моделируемом обзоре обновление рабочего пространства игнорируется и возвращаются фиксированные номера образцов.
Вызов
get_post_analytics({ post_id: "8c1f…", обновление: true, история: true })

list_comments

publish

Читать комментарии к посту. Аннотации: Изменяет данные, Открытый мир

Ответы под опубликованным постом, сеть за сетью. Чтобы ответить на один из них, вызовите create_post, указав эту учетную запись в качестве цели и идентификатор комментария в опции, названной reply_option.

ВводОписание
post_idобязателенstring (uuid)Пост.
account_idstring (uuid)Только копия этого аккаунта. По умолчанию каждая опубликованная копия.
limit1–50По умолчанию 20.

Возврат

{ post_id, targets: [{ target_id, account_id, provider, username, status, note, reply_option, comments: [{ id, author: { username, display_name, avatar_url }, text, created_at, likes, replies, url, parent_id, is_own, hidden }] }] }

  • Требуется область публикации: каждое чтение X ответов использует 1 X кредит, а сетевое чтение может обновить вход в учетную запись. Чтение комментариев из сетей делает мир открытым.
  • Доступно для чтения сегодня: Bluesky, YouTube (только чтение), X с правом X учетной записи (последние 7 дней) и темы, в которых соединение имеет разрешение на ответы. Instagram отвечает на permission_required, а TikTok не поддерживается.
  • reply_option — это потоки.reply_to_id, x.reply_to_post_id или bluesky.reply_to; null, когда Welder не может ответить (YouTube). Отправить ответ, когда человек просит об этом своими словами; когда просят черновик, напишите его в чате и ничего не отправляйте.
Вызов
list_comments({ post_id: "8c1f…", account_id: "b2d4…" })
create_post({
  caption: "Not yet, but it’s on the list!",
  targets: [{ account_id: "b2d4…" }],
  options: { threads: { reply_to_id: "17890…" } }
})

get_capabilities

read

Получите возможности социальных сетей. Аннотации: Только чтение, Идемпотентный

Что принимает каждая сеть: типы мультимедиа, размеры, продолжительность, количество изображений и ограничения на подписи. Статический, одинаковый для каждого рабочего пространства.

Нет ввода.

Возврат

{ providers: { tiktok: { text_only, video: { max_bytes, min_duration_s, max_duration_s, mimes }, images: { max_bytes, min_count, max_count, mimes }, mixed_carousel, caption_max, title_max, story?, notes }, … } }

Опции для каждой сети#

Передайте это под options.<network> в create_post и validate_post. Неподдерживаемые сочетания (опрос с файлами, подпись к Story) возвращаются инструментом validate_post как проблемы; совет возвращается как warning и никогда не блокирует публикацию.

TikTokвариантов.tiktok

ВариантЧто он делает
privacyпубличный · друзья · подписчики · приватныйКто сможет увидеть публикацию. По умолчанию используются настройки вашего рабочего пространства.
ai_generatedtrue · falseДобавляет метку контента TikTok, созданную искусственным интеллектом. По умолчанию правда.
disable_comment, disable_duet, disable_stitchtrue · falseОтключите взаимодействие для этого поста.
brand_content, brand_organictrue · falseРаскройте платное партнерство или продвижение собственного бренда.
modeпрямой · черновой Черновикотправляет видео или фотографии в почтовый ящик создателя TikTok для завершения в приложении. По умолчанию прямой.
cover_index0–34Только фотопубликации: какое изображение является обложкой.
cover_timestamp_msmillisecondsТолько видео: кадр TikTok отображается в качестве обложки.
auto_add_musictrue · falseТолько фото-публикации: разрешите TikTok добавлять рекомендованную музыку. По умолчанию правда.

Instagramвариантов.instagram

ВариантЧто он делает
kindкатушка · изображение · карусель · историяПереопределить предполагаемый тип сообщения. История никогда не подразумевается; Мета позволяет использовать истории из бизнес-аккаунтов.
share_to_feedtrue · falseТолько барабаны: также показывать ролик в ленте. По умолчанию правда.
cover_media_idидентификатор носителяТолько ролики: загруженное изображение для использования в качестве обложки (не является частью медиафайла).
thumb_offset_msmillisecondsТолько барабаны: рамка, используемая в качестве обложки, если изображение обложки не указано.
collaboratorsдо 3-х имен пользователейПриглашайте соавторов для публикации в ленте или ролика (не в историях).
user_tags[{имя пользователя, x?, y?, media_index? }], до 20Отмечайте людей. x и y (от 0 до 1) помещают тег на изображение; В роликах и историях используются только имена пользователей.
location_idидентификатор местоположенияДобавьте местоположение в ленту или ролик.
alt_textsup to 10 stringsЗамещающий текст для каждого изображения в порядке мультимедиа (изображения в ленте).
audio_nameдо 100 символовТолько барабаны: название, отображаемое для оригинального аудио.
trial{ graduation: manual · performance }Только ролики: пробный ролик сначала показывается тем, кто не является подписчиком; выпуск решает, когда подписчики его увидят.

YouTubeвариантов.youtube

ВариантЧто он делает
visibilityпубличный · частный · частныйКто может смотреть. По умолчанию используются настройки вашего рабочего пространства.
titleдо 100 символовВзято из подписи, если ее не указывать.
tagsstring listПоиск по тегам для видео.
made_for_kidstrue · falseОбязательное раскрытие информации о контенте, созданном для детей.
ai_generatedtrue · falseРаскрытие информации о синтетических носителях. По умолчанию правда.
thumbnail_media_idидентификатор носителяЗагруженный файл JPEG или PNG размером до 2 МБ, используемый в качестве пользовательского эскиза (не является частью медиафайла).
category_idИдентификатор категории YouTubeКатегория видео, например. 22 для людей и блогов.
publish_atISO 8601 timeYouTube в настоящее время делает видео общедоступным; до тех пор это остается частным.
notify_subscriberstrue · falseРасскажите подписчикам о загрузке. По умолчанию правда.
licenseyoutube · creative_commonsЛицензия на видео.
embeddabletrue · falseРазрешить другим сайтам вставлять видео.
public_stats_viewabletrue · falseПоказывать количество просмотров на странице просмотра.
default_languageкод языка, например. ruЯзык названия и описания.
default_audio_languageкод языкаЯзык, на котором говорят в видео.
recording_dateISO 8601 timeКогда было записано видео.

Threadsвариантов.threads

ВариантЧто он делает
reply_linkURLОпубликовано в качестве первого ответа под вашим сообщением.
reply_controlвсем · accounts_you_follow · mentioned_only · parent_post_author_only · followers_onlyКто может ответить. По умолчанию все.
topic_tagодин тег, без #Тег темы сообщения (без точек и амперсандов).
reply_to_idИдентификатор сообщения в темеОпубликуйте в качестве ответа на это сообщение: создайте тему или ответьте кому-нибудь.
quote_post_idИдентификатор сообщения в темеПроцитировать этот пост.
link_attachmentURLТолько текстовые сообщения: карточка предварительного просмотра ссылки.
poll{ options: 2 to 4, up to 25 characters each }Только текстовые сообщения: опрос.
spoilertrue · falseРазмытие фотографий и видео до нажатия.
alt_textsup to 20 stringsЗамещающий текст для изображения или видео в порядке мультимедиа.
reply_approvalstrue · falseДержите ответы на одобрение, прежде чем они появятся.

Blueskyвариантов.bluesky

ВариантЧто он делает
alt_textsup to 4 stringsАльтернативный текст для каждого изображения по порядку.
langsдо 3 языковых кодов, напр. ruЯзыки текста. По умолчанию ru.
labelsсексуальный · нагота · порно · графические медиаПредупреждения о содержании, показываемые средствам массовой информации.
reply_controlникто или кто-либо из упомянутых · следующих · последователейКто может ответить. По умолчанию все.
disable_quotestrue · falseНе позволяйте другим людям цитировать публикацию.
reply_toat:// URI or bsky.app linkОтветьте на это сообщение: создайте тему или ответьте кому-нибудь.
quoteat:// URI or bsky.app linkПроцитируйте этот пост (с собственными изображениями или видео или без них).

Xвариантов.x

ВариантЧто он делает
alt_textsup to 4 stringsАльтернативный текст для каждого изображения по порядку.
reply_settingsследующие · упомянутые пользователи · подписчики · проверенныеКто может ответить. По умолчанию все.
reply_to_post_idИдентификатор X-постаОтветьте на это сообщение: создайте тему или ответьте кому-нибудь.
quote_post_idИдентификатор X-постаПроцитировать этот пост.
poll{ options: 2 to 4, duration_minutes: 5 to 10080 }Только текстовые сообщения: опрос, длительностью от 5 минут до 7 дней.
made_with_aitrue · falseРаскрывать медиафайлы, созданные ИИ.
paid_partnershiptrue · falseРаскрыть платное партнерство.
community_idИдентификатор сообщества XОпубликовать сообщение в сообществе X, которому принадлежит аккаунт.

Номера и ответы#

get_analytics и get_post_analytics читайте числа, которые Welder собирает по расписанию после публикации каждого сообщения; list_comments читает ответы. Общий доступ к сети зависит от разрешений, которые она предоставила Welder:

  • TikTok: Пока нет. TikTok не утвердил статистику по Welder, поэтому просмотры, лайки и подписчики пока остаются в приложении TikTok.
  • Instagram: Лайки и комментарии к каждому посту, а также количество ваших подписчиков. Просмотры, охват, сохранения и просмотры историй требуют разрешения, которое Instagram еще не предоставил Welder.
  • YouTube: Публичные просмотры, лайки и комментарии к каждому видео, а также подписчики. Нечего настраивать.
  • Threads: Просмотры, лайки, ответы, репосты, цитаты и репосты каждого поста, а также подписчики. Threads все еще проверяет Welder, поэтому, пока он не одобрит, вместо этого он может запросить разрешение.
  • Bluesky: Лайки, репосты, ответы, цитаты и закладки к каждому посту, а также подписчики. Bluesky не считает просмотры.
  • X: Просмотры, лайки, ответы, репосты, цитаты и закладки к каждому посту, а также подписчики; клики по ссылкам и посещения профиля также в течение первых 30 дней публикации.

A counter a network does not report is absent, never 0, и each post or account carries a status (available, pending, permission_required, unsupported, unavailable, error) с однотонным note. Welder удаляет публикации только в X и Bluesky (delete_post); в другом месте результат говорит человеку удалить его в приложении.

Файлы из приложений чата#

Звонит помощник без оболочки create_upload_link, показывает ссылку, ждет, пока человек разместит свои файлы на странице загрузки Welder, затем звонит get_upload_link с wait_seconds и передает идентификаторы носителей create_post. Ассистент с доступом к командной строке использует create_upload, один PUT и finalize_upload. list_media находит то, что человек загрузил в приложение.

Ошибки#

Сбои домена возвращаются в результате работы инструмента с isError: правда, а не как ошибки протокола, чтобы модель могла их прочитать и действовать. Сообщения никогда не содержат URL-адреса, учетные данные или адреса электронной почты.

{ "error": { "code": "quota_exceeded", "message": "Monthly post quota exceeded.", "retryable": false } }
КодЗначение
unauthorizedУчетные данные отсутствуют, просрочены или отозваны.Повтор: Нет: войдите снова или используйте действительный ключ.
forbiddenУчетным данным не хватает области, необходимой этому инструменту, или действие не разрешено для этой рабочей области (например, изменения учетной записи в моделируемой рабочей области проверки).Повтор: Нет
validationВведенные данные не соответствуют схеме инструмента.Повтор: Нет: исправить ввод.
not_foundПубликация, медиафайл, ссылка для загрузки или учетная запись не существует в этой рабочей области.Повтор: Нет
quota_exceededДостигнут лимит: публикации в этом месяце или X кредитов, подключенные профили, незавершенные загрузки или хранилище мультимедиа. В сообщении сказано, какой именно.Повтор: Нет
plan_requiredПубликация или X-публикация недоступна в соответствии с текущими правами учетной записи. Настройка, загрузка и проверка по-прежнему работают.Повтор: Нет
account_not_connectedНет активной учетной записи для запрошенной сети.Повтор: Нет: позвоните connect_account.
account_reauth_requiredСеть попросила человека снова войти в систему.Повтор: Нет: позвоните connect_account, чтобы получить новую ссылку.
media_not_readyЗагрузка не доставлена ​​или все еще проверяется.Повтор: Да, скоро.
media_too_largeРазмер файла превышает ограничение.Повтор: Нет
unsupportedСеть не принимает этот носитель или его комбинацию.Повтор: Нет
provider_errorСеть отклонила запрос; подробнее.provider_code имеет свою причину.Повтор: Зависит от причины.
rate_limitedСлишком много звонков. подробности.retry_after_seconds сообщает, когда повторить попытку.Повтор: Да, после ожидания.
conflictЗапрос конфликтует с текущим состоянием (например, отмена готового сообщения или скрытие предупреждения, которого нет).Повтор: Нет
closedСрок действия ссылки для загрузки истек или уже завершен.Повтор: Нет: создать новую ссылку.
internalС нашей стороны что-то не удалось.Повтор: Да

Ограничения ставок#

  • На рабочее пространство: 60 вызовов инструмента в минуту и 600 в час.
  • create_post, create_upload и create_upload_link: по 30 минут каждый. Обновление цифр: 10 в минуту.
  • Неаутентифицированные конечные точки OAuth и общедоступные маршруты для загрузки: от 30 до 60 в минуту на каждый IP-адрес.
  • Превышение лимита, который вы получаете rate_limited с details.retry_after_secondsили HTTP 429 с повтором после вызовов внешних инструментов.

Подсказки и ресурсы#

  • Подсказка post_this walks an agent through upload, validation и publishing for a file and a list of networks.
  • Ресурс welder://capabilities — те же данные, что и get_capabilities; welder://docs/quickstart — это краткое руководство по уценке, позволяющее агентам читать документы без браузера.

Рабочая область обзора#

Рецензенты каталога плагинов получают одно выделенное рабочее пространство Welder с надписью Имитация рабочей области проверки на каждой странице приложения. Инструменты и проверки те же, но соцсети моделируются: запросов в реальные соцсети нет. Ссылки на публикации из этого пространства ведут сюда.

Synthetic

  • Шесть образцов учетных записей, по одной на сеть, с именем demo_coffee_… и показаны как «Демо-кофе · Имитация». У них нет реального входа в систему.
  • Образец фотографии кофе и три образца публикаций в примерах аккаунтов Instagram и Bluesky с 29 сентября по 1 октября 2026 года. Их номера представляют собой фиксированные примерные значения, а не сетевые результаты.
  • Один вымышленный ответ на копию сообщения Bluesky от 1 октября. Ответы формируются в чате и никогда не отправляются.

Works as usual

  • Загрузка через ссылки для загрузки и приложение, проверка, разрешения, идемпотентность, планирование, отмена и история публикаций.
  • Публикация записывает публикацию и возвращает смоделированную квитанцию ​​для каждой учетной записи: она отображается как опубликованная, а ее ссылка открывает эту страницу вместо сети. Новые сообщения не получают придуманных номеров или ответов.
  • Подключение приложения AI: вход в систему, ключи и удаление доступа работают как обычно.

Turned off

  • Подключение, продление или отключение учетных записей социальных сетей.
  • Оформление заказа, изменения плана и настройки оплаты.
  • Изменение настроек или удаление рабочей области.
  • Удаление постов (delete_post) и обновление номеров из сетей.
  • Импорт файлов из любого места, кроме общедоступных файлов образцов Welder.

get_context возвращает review_demo: true и строку data_source для этого пространства. Приложение получает тот же флаг. Комментарии отмечены как вымышленные примеры. Другие пространства публикуют в реальные соцсети и не получают смоделированные результаты.