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" — это не про вас, и короткий повтор его снимает.
На браузерную полосу этот потолок не действует.
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 |