API développeur

v1

API ColoringBookify

Créez et gérez des personnages réutilisables, des livres complets et des pages indépendantes grâce à une API REST versionnée ou un serveur MCP conçu pour les agents.

L'accès à l'API REST et à MCP est inclus exclusivement dans les forfaits Business actifs.

Démarrage rapide

Exportez votre clé API dans une variable d'environnement et vérifiez-la avec l'endpoint du compte.

URL de base

https://coloringbookify.com/api/v1
export COLORINGBOOKIFY_API_KEY="cbf_your_api_key"

curl --fail-with-body \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  https://coloringbookify.com/api/v1/me
curl --fail-with-body \
  --request POST \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: page-$(uuidgen)" \
  --data '{"page":{"title":"A fox exploring a mushroom village"}}' \
  https://coloringbookify.com/api/v1/pages

MCP pour les agents IA

MCP

Utilisez MCP lorsqu'un agent IA doit planifier, générer, organiser et télécharger un livre de coloriage imprimable complet pour le compte connecté. Utilisez l'API REST pour les intégrations directes entre applications.

URL du serveur MCP

https://coloringbookify.com/mcp

Configurez cette URL comme serveur Streamable HTTP. Les clients compatibles découvrent automatiquement les métadonnées OAuth de ColoringBookify.

Se connecter avec Codex CLI

codex mcp add coloringbookify \
  --url https://coloringbookify.com/mcp
codex mcp login coloringbookify

Le navigateur ouvre ColoringBookify pour la connexion et le consentement. MCP utilise OAuth plutôt que des clés API et nécessite un forfait Business actif.

Les clients utilisent tools/list pour découvrir les noms, schémas d'entrée et descriptions actuels. Le catalogue couvre les comptes, formats d'impression, plans de livres, livres, personnages, pages, opérations, imports d'illustrations externes, images et PDF finaux.

Les outils en lecture seule coûtent 0 crédit. Les outils de génération déclarent leur coût exact et exigent que l'agent confirme ce montant avant de dépenser des crédits. MCP utilise le même solde que l'API REST.

Les outils d'image et de PDF renvoient des URL de téléchargement temporaires autorisées pour le propriétaire, afin que les agents récupèrent les fichiers binaires sans transporter de grandes charges base64.

Exemple de demande pour un agent

Crée un livre de coloriage de 8,5 × 11 pouces sur les animaux marins. Montre-moi le plan proposé et le coût exact en crédits avant la génération, puis crée le livre et télécharge le PDF final.

Authentification

Créez une clé pour le compte depuis la section API, puis envoyez-la dans l'en-tête Authorization comme jeton Bearer. Les cookies de session du navigateur n'authentifient pas les requêtes API.

La clé complète n'est affichée qu'après sa création ou son renouvellement. Conservez-la en lieu sûr et ne la placez jamais dans des URL, du code navigateur, des journaux ou le contrôle de version.

Crédits et en-têtes de réponse

Chaque réponse authentifiée indique le solde après la requête et les crédits réellement consommés par cet appel HTTP. Le tableau des endpoints et le champ OpenAPI x-credit-cost déclarent les coûts avant utilisation.

X-ColoringBookify-Credits-Available: 247
X-ColoringBookify-Credits-Consumed: 1

Une répétition idempotente indique zéro crédit consommé, car elle ne facture pas de nouveau, tandis que l'opération conserve le montant initialement facturé.

De l'idée au livre imprimable

Les plans restent côté client. Cela évite les brouillons serveur obsolètes et garde l'utilisateur aux commandes avant toute dépense de crédits.

  1. Créez un plan non persistant avec POST /book_plans et affichez les scènes ainsi que l'estimation exacte des crédits.
  2. Laissez l'utilisateur vérifier ou modifier generation_request, puis envoyez-la à POST /books avec une nouvelle clé d'idempotence.
  3. Interrogez l'opération jusqu'à son état final. Importez ou remplacez une illustration corrigée à l'extérieur si nécessaire.
  4. Appelez GET /print_formats, puis téléchargez le livre complet depuis GET /books/{id}/pdf.

Génération, nouvelles tentatives et opérations

Envoyez un en-tête Idempotency-Key unique avec chaque requête de génération. Réessayer la même méthode, le même chemin et le même contenu avec la même clé renvoie la réponse initiale sans nouvelle génération ni facturation ; la réutiliser pour une autre requête renvoie 409.

La génération renvoie 202 avec une ressource et une opération. Interrogez l'URL de l'opération jusqu'à l'état succeeded, partially_succeeded ou failed. Les réponses non terminales incluent Retry-After.

Endpoints

Consulter, créer, modifier, générer, organiser et supprimer les ressources du compte authentifié.

Méthode Chemin Crédits Description
GET /api/v1/me 0 Obtenir le forfait, les crédits et les capacités API du compte.
GET /api/v1/print_formats 0 Lister les formats PDF, proportions compatibles et dimensions d'image recommandées.
POST /api/v1/book_plans 0 Créer un plan modifiable non persistant, une estimation exacte des crédits et une requête prête à générer.
GET /api/v1/operations 0 Lister les opérations de génération asynchrones du compte.
GET /api/v1/operations/{id} 0 Consulter l'état, la progression et le résultat des crédits d'une opération.
GET /api/v1/characters 0 Lister les personnages réutilisables actifs du compte.
POST /api/v1/characters 1 Créer et générer un personnage réutilisable de façon asynchrone.
GET /api/v1/characters/{id} 0 Obtenir un personnage réutilisable actif du compte.
PATCH /api/v1/characters/{id} 0 Mettre à jour le nom ou l'aperçu public d'un personnage.
PUT /api/v1/characters/{id} 0 Mettre à jour le nom ou l'aperçu public d'un personnage.
DELETE /api/v1/characters/{id} 0 Archiver un personnage réutilisable du compte.
GET /api/v1/characters/{id}/reference_image 0 Télécharger l'image de référence générée et autorisée du personnage.
POST /api/v1/characters/{id}/regenerate 1 Régénérer un personnage réutilisable de façon asynchrone.
POST /api/v1/characters/{id}/restore 0 Restaurer un personnage réutilisable archivé.
GET /api/v1/books 0 Lister les livres du compte.
POST /api/v1/books 1 par page de contenu générée Créer un livre et générer ses pages et sa couverture de façon asynchrone.
GET /api/v1/books/{id} 0 Obtenir un livre du compte avec le résumé de ses pages ordonnées.
PATCH /api/v1/books/{id} 0 Mettre à jour les métadonnées et les personnages réutilisables d'un livre.
PUT /api/v1/books/{id} 0 Mettre à jour les métadonnées et les personnages réutilisables d'un livre.
DELETE /api/v1/books/{id} 0 Supprimer un livre du compte.
GET /api/v1/books/{id}/pdf 0 Générer et télécharger un PDF final standard lorsque toutes les pages incluses sont prêtes.
POST /api/v1/books/{book_id}/pages 0 joindre / 1 générer Générer une nouvelle page ou joindre une page existante prête à un livre.
DELETE /api/v1/books/{book_id}/pages/{id} 0 Détacher une page d'un livre sans supprimer la page.
PATCH /api/v1/books/{id}/pages/order 0 Remplacer l'ordre des pages d'un livre.
GET /api/v1/pages 0 Lister les pages du compte.
POST /api/v1/pages 1 Créer et générer une page indépendante de façon asynchrone.
POST /api/v1/pages/import 0 Importer une illustration externe terminée comme page indépendante prête.
GET /api/v1/pages/{id} 0 Obtenir une page du compte.
PATCH /api/v1/pages/{id} 0 Mettre à jour les métadonnées et les personnages réutilisables d'une page.
PUT /api/v1/pages/{id} 0 Mettre à jour les métadonnées et les personnages réutilisables d'une page.
DELETE /api/v1/pages/{id} 0 Supprimer une page du compte.
GET /api/v1/pages/{id}/image 0 Télécharger l'image générée et autorisée de la page.
PUT /api/v1/pages/{id}/image 0 Remplacer l'image d'une page par une illustration externe terminée sans génération IA.
POST /api/v1/pages/{id}/regenerate 1 Régénérer une page du compte de façon asynchrone.

Pagination

Les endpoints de liste acceptent une limite de 1 à 100, 25 par défaut, et un curseur after opaque renvoyé dans meta.next_cursor. Traitez les identifiants de ressources et les curseurs comme des chaînes opaques.

curl --get https://coloringbookify.com/api/v1/pages \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  --data-urlencode "limit=25" \
  --data-urlencode "after=next_cursor_value"

Réponses et erreurs

Les erreurs JSON utilisent une enveloppe stable avec un code lisible par machine, un message sûr et l'identifiant de la requête. Les réponses incluent la version de l'API et ne sont jamais mises en cache publiquement.

{
  "error": {
    "code": "not_found",
    "message": "The requested resource was not found.",
    "request_id": "request-id"
  }
}
400
Pagination ou paramètres de requête non valides.
401
Le jeton Bearer est absent ou non valide.
402
Le compte ne dispose pas d'assez de crédits pour la génération.
403
Le compte ne dispose pas actuellement d'un forfait Business actif.
404
La ressource n'existe pas ou n'appartient pas au compte.
409
La clé d'idempotence est en conflit avec une autre requête ou une génération est déjà active.
422
La requête échoue à la validation ou une limite du compte est atteinte.
429
Trop de requêtes de planification ont été effectuées en peu de temps.
503
La planification de livres est temporairement indisponible.

Sécurité et portée actuelle

  • Toutes les réponses API utilisent Cache-Control private, no-store.
  • La propriété est vérifiée à nouveau à chaque téléchargement d'image.
  • Les images sources et les URL de stockage permanentes ne sont jamais exposées.
  • Les détails d'exception du fournisseur et les URL internes sont omis des erreurs.

Les endpoints de génération exigent des clés d'idempotence, enregistrent des transactions de crédits immuables et n'exposent que des erreurs d'opération sûres.