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.
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.
Connectez-vous pour obtenir votre clé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 | |
| Starter | 60 · 600 / min |
| Pro | 200 · 2 000 / min |
| Agency | 600 · 6 000 / min |
Besoin de plus de débit ? Améliorez votre forfait.
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.
| promptrequis | Description de la police en langage courant. Optional when reference_image_url is set. |
| reference_image_url | Image 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. |
| languages | Tableau de codes ISO — par défaut ["en"]. Two-letter ISO codes, full list: GET /api/public/languages. |
| weights | p. ex. ["normal","bold","thin"]. |
| glyph_types | letters · digits · punct · special (default all). |
| model_tier | standard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5). |
Récupérez le statut d’une police et ses URL de téléchargement (TTF / WOFF2 / variable).
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.
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.
Vos 100 dernières tâches de police — statut, modèle, source et lien vers la page de chaque police.
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).
| status | queued · processing · font_ready · failed |
| progress | { total, completed, failed } — combien d’atlas de glyphes sont terminés |
| fonts | URL 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.
Toutes les erreurs suivent une structure JSON cohérente : { "success": false, "error": "…" }.
| 400 | Requête incorrecte — champs manquants ou invalides. Vérifiez les error pour plus de détails. |
| 401 | Non autorisé — Authorization en-tête. |
| 402 | Paiement requis — quota de glyphes épuisé. Rechargez sur la page Forfaits. |
| 403 | Interdit — le lien appartient à un autre compte. |
| 404 | Introuvable — l’ID de police n’existe pas ou appartient à un autre compte. |
| 429 | Trop de requêtes — limite de requêtes atteinte. Réessayez après Retry-After. |
| 500 | Erreur 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"
}
Le MCP (Model Context Protocol) permet aux agents de codage IA — Claude Code, Cursor, Codex et d’autres — d’appeler YoFont directement pendant leur travail : générer une police en pleine conversation, attendre sa construction, puis déposer le fichier directement dans votre projet. Plus besoin de copier-coller des commandes curl.
Chaque appel d’outil MCP n’est qu’une fine enveloppe transparente autour des mêmes endpoints REST documentés dans l’onglet API — même authentification, mêmes limites de requêtes, même validation. Rien de ce que fait le serveur MCP n’est caché de la documentation REST.
Copiez le prompt ci-dessous et collez-le dans Claude Code, Cursor ou Codex. Votre agent enregistre lui-même le serveur MCP YoFont et le vérifie — aucun fichier de configuration à modifier à la main.
Récupérez votre clé dans la section Authentification de l’onglet API.
Pointez votre client MCP vers https://yofont.com/api/public/mcp. Il utilise le transport Streamable HTTP (mode réponse JSON) — une requête JSON-RPC 2.0 par appel, sans session ni socket à maintenir ouvert.
| Transport | Streamable HTTP (JSON-RPC 2.0 sur POST). Méthodes : initialize, ping, tools/list, tools/call. |
| Authentification | La même clé API que pour le REST — envoyez-la en en-tête à chaque requête : Authorization: Bearer yf_live_.... |
Cinq outils, en correspondance directe avec les endpoints REST de l’onglet API — rien n’existe en MCP qui ne soit pas aussi du REST classique.
Générez une toute nouvelle famille de polices à partir d’un prompt et/ou d’une image de référence. Renvoie immédiatement un lien à interroger — c’est une tâche asynchrone, pas un appel bloquant.
| prompt | Description du style en langage courant. Facultatif si reference_image_url est fourni. |
| reference_image_url | URL publique directe de l’image — il suffit qu’elle soit accessible publiquement au moment de l’appel. |
| languages, weights, glyph_types, model_tier | Même structure et mêmes valeurs par défaut que l’endpoint REST — voir la section Créer une police de l’onglet API. |
Interrogez la progression de la construction d’une police. Une fois prête, renvoie des URL directes ttf/otf/woff/woff2 — récupérez-les directement, sans authentification.
| linkrequis | Le lien de police renvoyé par generate_font. |
Récupérez les octets d’un fichier de police directement comme ressource MCP, pour que votre agent puisse l’écrire directement sur le disque de votre projet. Bascule vers une simple URL si le fichier est inhabituellement volumineux.
| linkrequis | Le lien de police renvoyé par generate_font. |
| format | ttf · otf · woff · woff2 — default ttf. |
Listez tous les codes de langue ISO-2 pris en charge avec le nombre de glyphes et le sens du texte — utile pour construire un tableau languages valide.
Listez vos 100 dernières tâches de police — statut, modèle, source et lien vers la page de chaque police.
Les outils MCP ne valent que ce que vaut le prompt derrière eux. Ceux-ci donnent des résultats constamment solides :
« Génère un sans-serif arrondi et sympathique pour une appli éducative pour enfants, en anglais et en espagnol, graisses normal et bold — puis enregistre les fichiers ttf dans ./public/fonts. »
Précise l’ambiance, les langues, les graisses et où déposer le résultat — l’agent peut dérouler toute la boucle sans supervision.
« Voici une capture d’écran de notre ancien logo : https://example.com/logo.png — génère une police d’affichage qui reprend ce style, qualité ultra, anglais uniquement. »
Une image de référence bat les adjectifs pour reproduire un style existant précis — model_tier: ultra se justifie pour une police de titrage.
« Vérifie le statut de la police 8WeheWlTl et préviens-moi quand elle est prête, puis donne-moi l’URL woff2. »
Un simple aller-retour statut — pratique pour suivre une tâche lancée plus tôt dans la conversation.
« Quelles langues cyrilliques et grecques YoFont prend-il en charge ? J’ai besoin d’une police couvrant le russe, l’ukrainien et le grec. »
Laissez l’agent appeler list_languages plutôt que de deviner les codes ISO de mémoire — évite un appel generate_font raté à cause d’un code mal orthographié.
« Génère une police d’affichage géométrique à partir de cette image de référence, attends qu’elle soit prête, puis télécharge le ttf et ajoute-le à notre configuration Tailwind comme police personnalisée. »
Enchaîne les trois outils en une seule instruction — génération → suivi → téléchargement — et donne à l’agent une prochaine étape concrète.
« Montre-moi toutes mes polices et dis-moi lesquelles sont encore en file d’attente ou en échec. »
Pratique pour un bilan de statut sur tout un projet sans ouvrir le tableau de bord.
Une seule requête de votre part peut déclencher tout le pipeline — votre agent gère la boucle d’interrogation, vous ne voyez que le résultat.