YoFont — AI font generator
Dezvoltatori · REST v1

YoFont API/MCP

Generează fonturi, preia glife și gestionează livrarea programatic. Același motor ca în aplicație, la distanță de un token bearer.

// Autentificare

Toate cererile folosesc un token bearer în antetul Authorization. Păstrează-l pe server.

Autentifică-te ca să generezi o cheie API activă — accesul API și MCP este inclus în planurile Pro și Studio.

// Limite de cereri

Cererile sunt limitate per cheie API. Depășirea limitei returnează 429 Too Many Requests cu un Retry-After. Limitele cresc odată cu planul tău:

Creează font · tot restul
Pro200 · 2 000 / min
Studio600 · 6 000 / min

Ai nevoie de mai mult debit? Treci la un plan superior.

POST/api/public/generate

Generează o familie completă de fonturi pornind de la o descriere text și/sau o imagine de referință. Returnează o sarcină pe care o interoghezi până se finalizează.

promptobligatoriuDescrierea fontului în limbaj obișnuit. Optional when reference_image_url is set.
reference_image_urlImagine de referință pentru stil (PNG/JPG/WEBP) — o adresă publică directă. Nu o stocăm niciodată; trimitem linkul ca atare către motorul de randare, la fel ca funcția captură-în-font din pluginurile Figma/Chrome.
languagesArray de coduri ISO — implicit ["en"]. Two-letter ISO codes, full list: GET /api/public/languages.
weightsde exemplu ["normal","bold","thin"].
glyph_typesletters · digits · punct · special (default all).
model_tierstandard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5).

                
200Acceptat — returnează { success, link, task_id, glyphs_charged, status_url }
// Response JSON

                
402Ai rămas fără glife — completează-le din pagina Planuri
GET/api/public/status?link=…

Preia starea unui font și adresele de descărcare (TTF / WOFF2 / variabil).

// Request

                
// Response JSON

                
GET/api/public/download?link=…

Descarcă fișierul de font construit într-un format anume (ttf/otf/woff/woff2) — același fișier pe care îl produce butonul de descărcare din Studio.

// Request

                
// Response

                
GET/api/public/languages

Fiecare cod de limbă ISO-2 acceptat, cu numărul de glife per scriere și direcția textului — folosește-l ca să construiești un array „languages” valid.

// Request

                
// Response JSON

                
GET/api/public/fonts

Ultimele tale 100 de sarcini de font — stare, model, sursă și un link către pagina fiecărui font.

// Request

                
// Response JSON

                
// Interogare

Generarea este asincronă. După ce trimiți POST la generate, interoghează GET /api/public/status?link=… la câteva secunde, până când starea devine font_ready (sau failed).

statusqueued · processing · atlas_ready · font_ready · failed
progress{ total, completed, failed } — câte atlase de glife sunt gata
fontsadresele fișierelor ttf/otf/woff/woff2, prezente odată ce status = font_ready. Aceste adrese necesită cheia ta API — accesarea lor fără antetul Authorization returnează 403. Descarcă conținutul prin GET /api/public/download?link=…&format=….

O interogare la 3–5 secunde este suficientă — o familie completă se termină de regulă în sub două minute. Preia fișierele prin GET /api/public/download cu cheia ta API; adresele din „fonts” nu sunt accesibile public.

// Erori

Toate erorile au aceeași structură JSON: { "success": false, "error": "…" }.

400Cerere greșită — câmpuri lipsă sau invalide. Verifică error pentru detalii.
401Neautorizat — lipsește sau este invalid Authorization antet.
402Plată necesară — cota de glife este epuizată. Completeaz-o din pagina Planuri.
403Interzis — linkul aparține altui cont.
404Nu a fost găsit — ID-ul fontului nu există sau aparține altui cont.
429Prea multe cereri — ai atins limita de cereri. Reîncearcă după Retry-After.
500Eroare internă — ceva nu a mers bine la noi. De obicei o reîncercare după câteva secunde rezolvă problema.
{
  "success": false,
  "error": "Not enough glyphs. Top up: https://yofont.com/plans"
}