Разработчикам · REST v1

YoFont API/MCP

Генерируйте шрифты, получайте глифы и управляйте доставкой прямо из кода. Движок тот же, что и в приложении, — нужен всего один bearer-токен.

// Аутентификация

Все запросы используют bearer-токен в заголовке Authorization. Храните его на стороне сервера.

Войдите, чтобы создать рабочий ключ API — это бесплатно, доступ к API есть на любом тарифе.

// Лимиты запросов

Запросы ограничены на каждый ключ API. Превышение лимита возвращает 429 Too Many Requests с заголовком Retry-After. Лимиты растут с тарифом:

Создать шрифт · остальное
Starter60 · 600 / мин
Pro200 · 2 000 / мин
Agency600 · 6 000 / мин

Нужно больше? Улучшить тариф.

POST/api/public/generate

Сгенерируйте полное семейство шрифтов по текстовому запросу и/или референс-изображению. Возвращает задачу, статус которой вы опрашиваете.

promptобязательноОписание шрифта простым языком. Optional when reference_image_url is set.
reference_image_urlРеференс-изображение стиля (PNG/JPG/WEBP) — прямая публичная ссылка. Мы её не храним — пересылаем как есть в движок рендера, так же как плагины Figma/Chrome при генерации по скриншоту.
languagesМассив ISO-кодов — по умолчанию ["en"]. Two-letter ISO codes, full list: GET /api/public/languages.
weightsнапр. ["normal","bold","thin"].
glyph_typesletters · digits · punct · special (default all).
model_tierstandard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5).

                
200Принято — возвращает { success, link, task_id, glyphs_charged, status_url }
// Response JSON

                
402Глифы закончились — пополните на странице тарифов
GET/api/public/status?link=…

Получите статус шрифта и ссылки для скачивания (TTF / WOFF2 / вариативный).

// Request

                
// Response JSON

                
GET/api/public/download?link=…

Скачайте готовый файл шрифта в нужном формате (ttf/otf/woff/woff2) — тот же файл, что даёт кнопка скачивания в Studio.

// Request

                
// Response

                
GET/api/public/languages

Все поддерживаемые ISO-2 коды языков с числом глифов по каждой письменности и направлением текста — по ним удобно собрать корректный массив «languages».

// Request

                
// Response JSON

                
GET/api/public/fonts

Последние 100 ваших задач на шрифты — статус, модель, источник и ссылка на страницу каждого шрифта.

// Request

                
// Response JSON

                
// Опрос статуса

Генерация асинхронная. После POST на generate опрашивайте GET /api/public/status?link=… каждые несколько секунд, пока статус не станет font_ready (или failed).

statusqueued · processing · font_ready · failed
progress{ total, completed, failed } — сколько атласов глифов готово
fontsПрямые ссылки ttf/otf/woff/woff2, появляются когда status = font_ready.

Опроса раз в 3–5 секунд достаточно — полное семейство обычно собирается за пару минут. Ссылки на файлы шрифта статичны и не требуют авторизации.

// Ошибки

Все ошибки приходят в едином формате JSON: { "success": false, "error": "…" }.

400Неверный запрос — не хватает полей или они заполнены неверно. Проверьте error для подробностей.
401Не авторизован — не передан или неверен Authorization заголовок.
402Требуется оплата — квота глифов исчерпана. Пополните на странице тарифов.
403Запрещено — ссылка принадлежит другому аккаунту.
404Не найдено — ID шрифта не существует или принадлежит другому аккаунту.
429Слишком много запросов — достигнут лимит запросов. Повторите через Retry-After.
500Внутренняя ошибка — что-то пошло не так на нашей стороне. Обычно помогает повтор через несколько секунд.
{
  "success": false,
  "error": "Not enough glyphs. Top up: https://yofont.com/plans"
}