API

API Timbrica

Запускайте инструменты Timbrica из своего кода или из ИИ-агента. Каждый вызов оплачивается с заранее пополненного баланса токенов, цена известна до запуска, а без выданного результата токены не списываются.

Адрес API: https://timbrica.com

Ключ создаёт человек: войдите, откройте в профиле вкладку API, выпустите ключ и передайте его агенту. Секрет показывается один раз и не восстанавливается — если он утёк, удалите ключ и выпустите новый.

Быстрый старт

Каталог открыт без ключа: тулы и цены видны ещё до регистрации.

# 1. Что можно вызвать?
curl https://timbrica.com/v1/tools

# 2. Сколько это будет стоить?
curl -X POST https://timbrica.com/v1/tools/dns-lookup/estimate \
  -H "Authorization: Bearer $TIMBRICA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"name":"example.com"}}'

# 3. Запуск
curl -X POST https://timbrica.com/v1/tools/dns-lookup/runs \
  -H "Authorization: Bearer $TIMBRICA_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"input":{"name":"example.com","type":"A"}}'
Всегда передавайте Idempotency-Key. Тогда повторённый вызов вернёт исходный запуск, а не спишет токены второй раз. Сети рвутся, агенты повторяют. Тот же ключ с другим телом запроса — конфликт (409), а не молчаливый второй ответ.

Полосы выполнения

Тул объявляет, в каких полосах (lanes) он работает. Передайте "lane" в запросе или не передавайте — тогда это auto, самая дешёвая из доступных.

ПолосаКто делает работуИз чего складывается цена
browser Ваш собственный браузер или агент Вычисления ваши, поэтому мы берём только за страницу и её файлы — от одного до трёх токенов. Запуск отвечает 202 с заказ-нарядом: откройте адрес, выполните рецепт, и запуск закроется сам, когда тул отдаст файл.
server Наш процессор Цена за задачу, за символ или за мегабайт, с минимумом. Долгие задачи отвечают 202 queued — опрашивайте poll_url или настройте вебхук.

Ограничения частоты зависят от полосы

Две полосы обходятся нам совсем по-разному, поэтому и ограничены по-разному. Браузерный запуск идёт на вашей машине; серверный занимает воркер в том же пуле, что отрисовывает страницы для людей, читающих сайт.

ПолосаОдновременных запусков на ключЗапусков в минуту
browser 16 120
server 2 (×2 с Премиумом) 20

Есть и общий потолок: не больше 12 запусков серверной полосы одновременно по всем ключам. Упёршись в него, вы получите 429 concurrency_limited с "scope":"global" — это не про вас, и короткий повтор его снимает. На браузерную полосу этот потолок не действует.

Премиум — не квота API. Он уменьшает расход токенов на каждый вызов и поднимает потолок серверной полосы — и только. Вызовы API оплачиваются токенами на любом тарифе, поэтому дешёвая полоса — браузерная: там работа ваша. GET /v1/account показывает точные цифры, действующие для вашего ключа.

Файлы

Медиатулы принимают файл, загруженный заранее. Загрузите байты или дайте адрес, и мы скачаем файл сами — удобно, когда у модели есть ссылка, но нет файла.

# загрузить байты…
curl -X POST https://timbrica.com/v1/uploads \
  -H "Authorization: Bearer $TIMBRICA_KEY" \
  -F "file=@song.mp3"

# …или дать адрес
curl -X POST https://timbrica.com/v1/uploads \
  -H "Authorization: Bearer $TIMBRICA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/song.mp3"}'

# затем сослаться на полученный id
{"input":{"audio":{"file_id":"01J…"}}}

Результат приходит ссылкой, а не в теле ответа: JSON-вызов не должен отвечать сотней мегабайт. И входы, и результаты хранятся ограниченное время — заберите результат, пока он не истёк.

MCP

Весь каталог доступен как собственные инструменты любому MCP-клиенту (Claude, Cursor и другим) одной строкой настройки — без SDK и связующего кода.

{
  "mcpServers": {
    "timbrica": {
      "url": "https://timbrica.com/mcp",
      "headers": { "Authorization": "Bearer $TIMBRICA_KEY" }
    }
  }
}

Подключение из ChatGPT или Claude

Эти два клиента не принимают вставленный ключ: удалённый MCP-сервер они подключают через OAuth. Дайте им адрес и больше ничего — остальное они найдут сами и пришлют вас сюда войти и подтвердить:

https://timbrica.com/mcp

Подтверждение — один раз, на странице, где названо приложение и баланс, который оно сможет тратить. Каждый его вызов списывается с этого баланса, подключение видно в профиле на вкладке API, и отключение там сразу останавливает приложение. Токен подключения работает только с /mcp и не годится для REST, поэтому подтвердить подключение — меньше, чем отдать ключ.

Ключ в заголовке остаётся способом для всего остального: ваших скриптов, редактора, агента на вашем сервере. Тот же каталог, тот же баланс, те же ограничения.

Баланс

Баланс — GET /v1/balance. Смотрите spendable_by_lane, а не available: часть токенов (приветственные) вызовы API не оплачивает, и общий баланс может быть верным числом не того кошелька.

Агент не может пополнить баланс сам — подтверждение оплаты требует человека. POST /v1/billing/topup_link возвращает ссылку для владельца аккаунта.

Как сообщить, что что-то не так

POST /v1/feedback — обратный канал, и он не тратит токенов: сообщение о дефекте ничего не списывает. Наша телеметрия и так записывает, что произошло: статус, ошибку, цену и время каждого запуска. Не видит она вызова, который вернул 200 с неверным ответом, схемы, расходящейся с действительностью, и тула, который вам нужен, а у нас его нет.

curl -X POST https://timbrica.com/v1/feedback \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"bug","tool":"ocr","run_id":"01J…",
       "message":"Распознанный текст пуст на чистом скане 300 dpi.",
       "expected":"текст страницы","actual":"пустой файл"}'

type — одно из bug, tool_request, docs, other. Всё, кроме type и message, необязательно.

Указывайте run_id, когда он есть. Он связывает сообщение с нашей полной серверной записью этого вызова — формой входа, ценой, ошибкой, временем, — и «сломалось» становится воспроизводимым. Наши собственные ответы 5xx несут report_url и request_id, так что агент может отправить сообщение в тот момент, когда наткнулся на ошибку.

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

Инструменты

СлагЧто делаетЦена
dns-lookup DNS-записи домена через DoH Google, Cloudflare или Quad9. server · 1
ssl-checker Сертификат TLS хоста: кто выдал, срок действия, цепочка и дата окончания. server · 1
whois-lookup Регистрационные данные домена по RDAP. server · 1
ip-lookup Геолокация, сеть и ASN для IP-адреса или имени хоста. server · 1
redirect-checker Пройти адрес шаг за шагом и показать всю цепочку переадресаций. server · 1
cookie-checker Какие cookie ставит страница и с какими флагами. server · 1
profanity-check Найти и замаскировать мат, оскорбления и грубость в тексте. server · 1
currency-rates Свежие курсы валют к базовой валюте. server · 1
qr-code Создать QR-код и скачать его в PNG или SVG. browser · 1
audio-trim Обрезать аудиофайл по отрезку времени — с затуханиями и перекодированием по желанию. server · 5
music-mastering Мастеринг трека под громкость стриминговых площадок. browser · 5
transcribe Расшифровать речь из аудио- или видеофайла в текст с таймкодами. server · 83
speech-enhance Убрать фоновый шум из записи голоса и выровнять громкость — на сервере, браузер не нужен. server · 30
vocal-separate Разделить песню или микс на голос и аккомпанемент. server · 1875
heic-convert Конвертировать фото HEIC/HEIF в JPG, PNG или WebP. browser · 5
pdf-compress Уменьшить PDF, пережав картинки внутри. browser · 5
ocr Распознать текст на скане, фото или в PDF. browser · 19
video-compress Пережать видео в файл поменьше. browser · 5
photo-resize Подогнать одно фото под все размеры, которые нужны площадкам. browser · 1
barcode Создать штрихкод для торговли, логистики или 2D в PNG или SVG. browser · 1