YoFont — AI font generator
Desenvolvedores · REST v1

YoFont API/MCP

Gere fontes, busque glifos e gerencie a entrega por código. O mesmo motor do app, a um bearer token de distância.

// Autenticação

Todas as requisições usam um bearer token no cabeçalho Authorization. Guarde-o no servidor.

Entre para gerar uma chave de API ativa — o acesso à API e ao MCP está incluído nos planos Pro e Studio.

// Limites de requisição

As requisições são limitadas por chave de API. Ultrapassar o limite devolve 429 Too Many Requests com um Retry-After. Os limites acompanham o seu plano:

Criar fonte · todo o resto
Pro200 · 2 000 / min
Studio600 · 6 000 / min

Precisa de mais vazão? Faça upgrade do plano.

POST/api/public/generate

Gera uma família de fontes completa a partir de um prompt de texto e/ou de uma imagem de referência. Devolve um job que você consulta até concluir.

promptobrigatórioDescrição da tipografia em linguagem simples. Optional when reference_image_url is set.
reference_image_urlImagem de referência de estilo (PNG/JPG/WEBP) — uma URL pública direta. Nunca a armazenamos; repassamos o link como está para o motor de renderização, igual ao recurso de captura-para-fonte dos plugins do Figma e do Chrome.
languagesArray de códigos ISO — o padrão é ["en"]. Two-letter ISO codes, full list: GET /api/public/languages.
weightsp. ex. ["normal","bold","thin"].
glyph_typesletters · digits · punct · special (default all).
model_tierstandard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5).

                
200Aceito — devolve { success, link, task_id, glyphs_charged, status_url }
// Response JSON

                
402Sem glifos — recarregue na página de Planos
GET/api/public/status?link=…

Busca o status de uma fonte e as URLs de download (TTF / WOFF2 / variável).

// Request

                
// Response JSON

                
GET/api/public/download?link=…

Baixa o arquivo de fonte montado num formato específico (ttf/otf/woff/woff2) — o mesmo arquivo que o botão de download do Studio produz.

// Request

                
// Response

                
GET/api/public/languages

Todos os códigos de idioma ISO-2 suportados, com a contagem de glifos por escrita e a direção do texto — use para montar um array "languages" válido.

// Request

                
// Response JSON

                
GET/api/public/fonts

Seus últimos 100 jobs de fonte — status, modelo, origem e um link para a página de cada fonte.

// Request

                
// Response JSON

                
// Consulta de status

A geração é assíncrona. Depois do POST em generate, consulte GET /api/public/status?link=… a cada poucos segundos até o status ser font_ready (ou failed).

statusqueued · processing · atlas_ready · font_ready · failed
progress{ total, completed, failed } — quantos atlas de glifos estão prontos
fontsURLs dos arquivos ttf/otf/woff/woff2, presentes assim que status = font_ready. Essas URLs exigem a sua chave de API — buscá-las sem o cabeçalho Authorization devolve 403. Baixe os bytes através de GET /api/public/download?link=…&format=….

Uma consulta a cada 3–5 segundos já basta — uma família completa costuma ficar pronta em menos de dois minutos. Busque os arquivos por GET /api/public/download com a sua chave de API; as URLs em "fonts" não são públicas.

// Erros

Todos os erros seguem o mesmo formato JSON: { "success": false, "error": "…" }.

400Requisição inválida — campos ausentes ou inválidos. Confira o error para os detalhes.
401Não autorizado — ausente ou inválido Authorization cabeçalho.
402Pagamento necessário — cota de glifos esgotada. Recarregue na página de Planos.
403Proibido — o link pertence a outra conta.
404Não encontrado — o ID da fonte não existe ou pertence a outra conta.
429Requisições demais — limite de requisições atingido. Tente de novo depois de Retry-After.
500Erro interno — algo deu errado do nosso lado. Tentar de novo depois de alguns segundos costuma resolver.
{
  "success": false,
  "error": "Not enough glyphs. Top up: https://yofont.com/plans"
}