Inicio rápido
Exporta tu clave API a una variable de entorno y verifícala con el endpoint de la cuenta.
URL 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 para agentes de IA
MCPUsa MCP cuando un agente de IA deba planificar, generar, organizar y descargar un libro para colorear imprimible completo para la cuenta conectada. Usa la API REST para integraciones directas entre aplicaciones.
URL del servidor MCP
https://coloringbookify.com/mcp
Configura esta URL como servidor Streamable HTTP. Los clientes compatibles descubren automáticamente los metadatos OAuth de ColoringBookify.
Conectar con Codex CLI
codex mcp add coloringbookify \
--url https://coloringbookify.com/mcp
codex mcp login coloringbookify
El navegador abre ColoringBookify para iniciar sesión y autorizar el acceso. MCP usa OAuth en lugar de claves API y requiere un plan Business activo.
Los clientes usan tools/list para descubrir los nombres, esquemas de entrada y descripciones actuales. El catálogo cubre cuentas, formatos de impresión, planes de libros, libros, personajes, páginas, operaciones, importación de arte externo, imágenes y PDF finales.
Las herramientas de solo lectura cuestan 0 créditos. Las herramientas de generación declaran su coste exacto y exigen que el agente confirme esa cantidad antes de gastar créditos. MCP usa el mismo saldo que la API REST.
Las herramientas de imágenes y PDF devuelven URLs de descarga temporales y autorizadas para el propietario, de modo que los agentes obtengan archivos binarios sin transportar grandes cargas base64.
Ejemplo de solicitud para un agente
Crea un libro para colorear de 8,5 × 11 pulgadas sobre animales marinos. Muéstrame el plan propuesto y el coste exacto en créditos antes de generarlo; después crea el libro y descarga el PDF final.
Autenticación
Crea una clave para la cuenta desde la sección API y envíala en el encabezado Authorization como token Bearer. Las cookies de sesión del navegador no autentican solicitudes a la API.
Créditos y encabezados de respuesta
Cada respuesta autenticada indica el saldo después de la solicitud y los créditos realmente consumidos por esa llamada HTTP. La tabla de endpoints y el campo x-credit-cost de OpenAPI declaran los costes antes de usarla.
X-ColoringBookify-Credits-Available: 247
X-ColoringBookify-Credits-Consumed: 1
Una repetición idempotente indica cero consumidos porque no vuelve a cobrar, mientras que la operación conserva el importe cobrado originalmente.
De la idea al libro imprimible
Los planes permanecen en el cliente. Esto evita borradores obsoletos en el servidor y mantiene al usuario al mando antes de gastar créditos.
- Crea un plan sin persistencia con POST /book_plans y muestra las escenas y la estimación exacta de créditos.
- Permite revisar o editar generation_request y envíala a POST /books con una nueva clave de idempotencia.
- Consulta la operación hasta que termine. Importa o reemplaza arte corregido externamente cuando sea necesario.
- Consulta GET /print_formats y descarga el libro completo desde GET /books/{id}/pdf.
Generación, reintentos y operaciones
Envía un encabezado Idempotency-Key único con cada solicitud de generación. Reintentar el mismo método, ruta y contenido con la misma clave devuelve la respuesta original sin generar ni cobrar de nuevo; reutilizarla para otra solicitud devuelve 409.
La generación devuelve 202 con un recurso y una operación. Consulta la URL de la operación hasta que su estado sea succeeded, partially_succeeded o failed. Las respuestas no terminales incluyen Retry-After.
Proporciones y tamaños PDF
Consulta GET /api/v1/print_formats en vez de codificar los tamaños. El formato PDF debe coincidir con la proporción del libro; las imágenes importadas se normalizan sin recorte cuando solo necesitan un pequeño ajuste.
| Proporción del libro | Píxeles recomendados | Formatos PDF recomendados |
|---|---|---|
square (1:1) | 1024 × 1024 | square, small_square |
portrait (3:4) | 1152 × 1536 | us_letter, a4 |
landscape (4:3) | 1536 × 1152 | us_letter_landscape, a4_landscape |
Endpoints
Consulta, crea, actualiza, genera, organiza y elimina recursos de la cuenta autenticada.
| Método | Ruta | Créditos | Descripción |
|---|---|---|---|
| GET | /api/v1/me |
0 | Obtiene el plan, los créditos y las capacidades de API de la cuenta. |
| GET | /api/v1/print_formats |
0 | Lista tamaños PDF compatibles, proporciones y dimensiones de imagen recomendadas. |
| POST | /api/v1/book_plans |
0 | Crea un plan editable sin persistencia, una estimación exacta de créditos y una solicitud lista para generar. |
| GET | /api/v1/operations |
0 | Lista las operaciones de generación asíncronas de la cuenta. |
| GET | /api/v1/operations/{id} |
0 | Consulta el estado, el progreso y el resultado de créditos de una operación. |
| GET | /api/v1/characters |
0 | Lista los personajes reutilizables activos de la cuenta. |
| POST | /api/v1/characters |
1 | Crea y genera un personaje reutilizable de forma asíncrona. |
| GET | /api/v1/characters/{id} |
0 | Obtiene un personaje reutilizable activo de la cuenta. |
| PATCH | /api/v1/characters/{id} |
0 | Actualiza el nombre o la vista previa pública de un personaje. |
| PUT | /api/v1/characters/{id} |
0 | Actualiza el nombre o la vista previa pública de un personaje. |
| DELETE | /api/v1/characters/{id} |
0 | Archiva un personaje reutilizable propio. |
| GET | /api/v1/characters/{id}/reference_image |
0 | Descarga la imagen de referencia generada y autorizada del personaje. |
| POST | /api/v1/characters/{id}/regenerate |
1 | Regenera un personaje reutilizable de forma asíncrona. |
| POST | /api/v1/characters/{id}/restore |
0 | Restaura un personaje reutilizable archivado. |
| GET | /api/v1/books |
0 | Lista los libros de la cuenta. |
| POST | /api/v1/books |
1 por página de contenido generada | Crea un libro y genera sus páginas y portada de forma asíncrona. |
| GET | /api/v1/books/{id} |
0 | Obtiene un libro propio con los resúmenes de sus páginas ordenadas. |
| PATCH | /api/v1/books/{id} |
0 | Actualiza los metadatos y personajes reutilizables de un libro. |
| PUT | /api/v1/books/{id} |
0 | Actualiza los metadatos y personajes reutilizables de un libro. |
| DELETE | /api/v1/books/{id} |
0 | Elimina un libro propio. |
| GET | /api/v1/books/{id}/pdf |
0 | Genera y descarga un PDF final estándar cuando todas las páginas incluidas están listas. |
| POST | /api/v1/books/{book_id}/pages |
0 adjuntar / 1 generar | Genera una página nueva o adjunta una página existente lista a un libro. |
| DELETE | /api/v1/books/{book_id}/pages/{id} |
0 | Separa una página de un libro sin eliminarla. |
| PATCH | /api/v1/books/{id}/pages/order |
0 | Reemplaza el orden de las páginas de un libro. |
| GET | /api/v1/pages |
0 | Lista las páginas de la cuenta. |
| POST | /api/v1/pages |
1 | Crea y genera una página independiente de forma asíncrona. |
| POST | /api/v1/pages/import |
0 | Importa arte externo terminado como una página independiente lista. |
| GET | /api/v1/pages/{id} |
0 | Obtiene una página propia. |
| PATCH | /api/v1/pages/{id} |
0 | Actualiza los metadatos y personajes reutilizables de una página. |
| PUT | /api/v1/pages/{id} |
0 | Actualiza los metadatos y personajes reutilizables de una página. |
| DELETE | /api/v1/pages/{id} |
0 | Elimina una página propia. |
| GET | /api/v1/pages/{id}/image |
0 | Descarga la imagen generada y autorizada de la página. |
| PUT | /api/v1/pages/{id}/image |
0 | Reemplaza la imagen de una página con arte externo terminado sin generación por IA. |
| POST | /api/v1/pages/{id}/regenerate |
1 | Regenera una página propia de forma asíncrona. |
Paginación
Los endpoints de lista aceptan limit de 1 a 100, con 25 por defecto, y un cursor after opaco devuelto como meta.next_cursor. Trata los IDs de recursos y los cursores como cadenas opacas.
curl --get https://coloringbookify.com/api/v1/pages \
--header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
--data-urlencode "limit=25" \
--data-urlencode "after=next_cursor_value"
Respuestas y errores
Los errores JSON usan una estructura estable con un código legible por máquina, un mensaje seguro y el ID de la solicitud. Las respuestas incluyen la versión de la API y nunca se almacenan en caché públicamente.
{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"request_id": "request-id"
}
}
- 400
- Paginación o parámetros de solicitud no válidos.
- 401
- Falta el token Bearer o no es válido.
- 402
- La cuenta no tiene suficientes créditos para la generación.
- 403
- La cuenta no tiene actualmente un plan Business activo.
- 404
- El recurso no existe o no pertenece a la cuenta.
- 409
- La clave de idempotencia entra en conflicto con otra solicitud o ya hay una generación activa.
- 422
- La solicitud no supera la validación o se alcanzó un límite de la cuenta.
- 429
- Se hicieron demasiadas solicitudes de planificación en poco tiempo.
- 503
- La planificación de libros no está disponible temporalmente.
Seguridad y alcance actual
- Todas las respuestas de la API usan Cache-Control private, no-store.
- Las descargas de imágenes vuelven a comprobar la propiedad en cada solicitud.
- Nunca se exponen imágenes fuente ni URLs permanentes de almacenamiento.
- Los errores omiten detalles de excepciones del proveedor y URLs internas.
Los endpoints de generación requieren claves de idempotencia, registran transacciones de créditos inmutables y solo muestran errores de operación seguros.