Développeurs · REST v1

YoFont API/MCP

Générez des polices, récupérez des glyphes et pilotez la livraison par le code. Le même moteur que l’appli — à un jeton Bearer près.

// Authentification

Chaque requête s’authentifie avec un jeton Bearer placé dans l’en-tête Authorization. Gardez-le côté serveur.

Connectez-vous pour générer une clé API active — c’est gratuit, l’accès à l’API est inclus dans tous les forfaits.

// Limites de requêtes

Les requêtes sont limitées par clé API. Dépasser la limite renvoie 429 Too Many Requests avec un Retry-After. Les limites augmentent avec votre forfait :

Créer une police · tout le reste
Starter60 · 600 / min
Pro200 · 2 000 / min
Agency600 · 6 000 / min

Besoin de plus de débit ? Améliorez votre forfait.

POST/api/public/generate

Générez une famille de polices complète à partir d’un prompt et/ou d’une image de référence. Renvoie une tâche à interroger ou à recevoir par webhook.

promptrequisDescription de la police en langage courant. Optional when reference_image_url is set.
reference_image_urlImage de référence de style (PNG/JPG/WEBP) — une URL publique directe. Nous ne la stockons jamais ; nous la transmettons telle quelle au moteur de rendu, comme le font les plugins Figma/Chrome pour la génération à partir d’une capture d’écran.
languagesTableau de codes ISO — par défaut ["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).

                
200Accepté — renvoie { success, link, task_id, glyphs_charged, status_url }
// Response JSON

                
402Plus de glyphes — rechargez sur la page Forfaits
GET/api/public/status?link=…

Récupérez le statut d’une police et ses URL de téléchargement (TTF / WOFF2 / variable).

// Request

                
// Response JSON

                
GET/api/public/download?link=…

Téléchargez le fichier de police généré dans un format donné (ttf/otf/woff/woff2) — le même fichier que produit le bouton de téléchargement de Studio.

// Request

                
// Response

                
GET/api/public/languages

Tous les codes de langue ISO-2 pris en charge, avec le nombre de glyphes par écriture et le sens du texte — pratique pour construire un tableau « languages » valide.

// Request

                
// Response JSON

                
GET/api/public/fonts

Vos 100 dernières tâches de police — statut, modèle, source et lien vers la page de chaque police.

// Request

                
// Response JSON

                
// Interrogation (polling)

La génération est asynchrone. Après un POST sur generate, interrogez GET /api/public/status?link=… toutes les quelques secondes jusqu’à ce que le statut soit font_ready (ou failed).

statusqueued · processing · font_ready · failed
progress{ total, completed, failed } — combien d’atlas de glyphes sont terminés
fontsURL directes ttf/otf/woff/woff2, présentes une fois status = font_ready.

Une interrogation toutes les 3 à 5 secondes suffit largement — une famille complète se termine généralement en moins de deux minutes. Les URL des fichiers de police sont statiques et ne nécessitent aucune authentification une fois renvoyées.

// Erreurs

Toutes les erreurs suivent une structure JSON cohérente : { "success": false, "error": "…" }.

400Requête incorrecte — champs manquants ou invalides. Vérifiez les error pour plus de détails.
401Non autoriséAuthorization en-tête.
402Paiement requis — quota de glyphes épuisé. Rechargez sur la page Forfaits.
403Interdit — le lien appartient à un autre compte.
404Introuvable — l’ID de police n’existe pas ou appartient à un autre compte.
429Trop de requêtes — limite de requêtes atteinte. Réessayez après Retry-After.
500Erreur interne — un problème est survenu de notre côté. Réessayez après quelques secondes : cela fonctionne généralement.
{
  "success": false,
  "error": "Not enough glyphs. Top up: https://yofont.com/plans"
}