Início rápido
Exporte sua chave de API para uma variável de ambiente e verifique-a no endpoint da conta.
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
MCPUse o MCP quando um agente de IA precisar planejar, gerar, organizar e baixar um livro de colorir completo e imprimível para a conta conectada. Use a API REST para integrações diretas entre aplicativos.
URL do servidor MCP
https://coloringbookify.com/mcp
Configure esta URL como um servidor Streamable HTTP. Clientes compatíveis descobrem automaticamente os metadados OAuth do ColoringBookify.
Conectar com o Codex CLI
codex mcp add coloringbookify \
--url https://coloringbookify.com/mcp
codex mcp login coloringbookify
O navegador abre o ColoringBookify para login e consentimento. O MCP usa OAuth em vez de chaves de API e exige um plano Business ativo.
Os clientes usam tools/list para descobrir os nomes, esquemas de entrada e descrições atuais. O catálogo abrange contas, formatos de impressão, planos de livros, livros, personagens, páginas, operações, importações de arte externa, imagens e PDFs finais.
Ferramentas somente de leitura custam 0 créditos. Ferramentas de geração declaram o custo exato e exigem que o agente confirme esse valor antes de gastar créditos. O MCP usa o mesmo saldo da API REST.
As ferramentas de imagem e PDF retornam URLs de download temporárias e autorizadas para o proprietário, permitindo que agentes obtenham arquivos binários sem transportar grandes cargas base64.
Exemplo de solicitação para um agente
Crie um livro de colorir de 8,5 × 11 polegadas sobre animais marinhos. Mostre o plano proposto e o custo exato em créditos antes de gerar; depois crie o livro e baixe o PDF final.
Autenticação
Crie uma chave para a conta na seção API e envie-a no cabeçalho Authorization como token Bearer. Os cookies de sessão do navegador não autenticam solicitações da API.
Créditos e cabeçalhos de resposta
Cada resposta autenticada informa o saldo após a solicitação e os créditos realmente consumidos por essa chamada HTTP. A tabela de endpoints e o campo x-credit-cost do OpenAPI declaram os custos antes do uso.
X-ColoringBookify-Credits-Available: 247
X-ColoringBookify-Credits-Consumed: 1
Uma repetição idempotente informa zero consumido porque não cobra novamente, enquanto a operação mantém o valor cobrado originalmente.
Da ideia ao livro imprimível
Os planos permanecem no cliente. Isso evita rascunhos obsoletos no servidor e mantém o usuário no controle antes de gastar créditos.
- Crie um plano não persistente com POST /book_plans e mostre as cenas e a estimativa exata de créditos.
- Permita que o usuário revise ou edite generation_request e envie-a para POST /books com uma nova chave de idempotência.
- Consulte a operação até o estado final. Importe ou substitua arte corrigida externamente quando necessário.
- Consulte GET /print_formats e baixe o livro completo em GET /books/{id}/pdf.
Geração, novas tentativas e operações
Envie um cabeçalho Idempotency-Key exclusivo em cada solicitação de geração. Repetir o mesmo método, caminho e conteúdo com a mesma chave retorna a resposta original sem gerar nem cobrar novamente; reutilizá-la em outra solicitação retorna 409.
A geração retorna 202 com um recurso e uma operação. Consulte a URL da operação até o estado ser succeeded, partially_succeeded ou failed. Respostas não terminais incluem Retry-After.
Proporções de página e tamanhos PDF
Consulte GET /api/v1/print_formats em vez de fixar os tamanhos no código. O formato PDF deve corresponder à proporção do livro; imagens importadas são normalizadas sem corte quando apenas um pequeno ajuste é necessário.
| Proporção do livro | Pixels 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
Consulte, crie, atualize, gere, organize e exclua recursos da conta autenticada.
| Método | Caminho | Créditos | Descrição |
|---|---|---|---|
| GET | /api/v1/me |
0 | Obtém o plano, os créditos e os recursos de API da conta. |
| GET | /api/v1/print_formats |
0 | Lista tamanhos PDF, proporções compatíveis e dimensões de imagem recomendadas. |
| POST | /api/v1/book_plans |
0 | Cria um plano editável não persistente, uma estimativa exata de créditos e uma solicitação pronta para geração. |
| GET | /api/v1/operations |
0 | Lista as operações de geração assíncronas da conta. |
| GET | /api/v1/operations/{id} |
0 | Consulta o estado, o progresso e o resultado de créditos de uma operação. |
| GET | /api/v1/characters |
0 | Lista os personagens reutilizáveis ativos da conta. |
| POST | /api/v1/characters |
1 | Cria e gera um personagem reutilizável de forma assíncrona. |
| GET | /api/v1/characters/{id} |
0 | Obtém um personagem reutilizável ativo da conta. |
| PATCH | /api/v1/characters/{id} |
0 | Atualiza o nome ou a visualização pública de um personagem. |
| PUT | /api/v1/characters/{id} |
0 | Atualiza o nome ou a visualização pública de um personagem. |
| DELETE | /api/v1/characters/{id} |
0 | Arquiva um personagem reutilizável da conta. |
| GET | /api/v1/characters/{id}/reference_image |
0 | Baixa a imagem de referência gerada e autorizada do personagem. |
| POST | /api/v1/characters/{id}/regenerate |
1 | Gera novamente um personagem reutilizável de forma assíncrona. |
| POST | /api/v1/characters/{id}/restore |
0 | Restaura um personagem reutilizável arquivado. |
| GET | /api/v1/books |
0 | Lista os livros da conta. |
| POST | /api/v1/books |
1 por página de conteúdo gerada | Cria um livro e gera suas páginas e capa de forma assíncrona. |
| GET | /api/v1/books/{id} |
0 | Obtém um livro da conta com os resumos das páginas em ordem. |
| PATCH | /api/v1/books/{id} |
0 | Atualiza os metadados e personagens reutilizáveis de um livro. |
| PUT | /api/v1/books/{id} |
0 | Atualiza os metadados e personagens reutilizáveis de um livro. |
| DELETE | /api/v1/books/{id} |
0 | Exclui um livro da conta. |
| GET | /api/v1/books/{id}/pdf |
0 | Gera e baixa um PDF final padrão quando todas as páginas incluídas estão prontas. |
| POST | /api/v1/books/{book_id}/pages |
0 anexar / 1 gerar | Gera uma nova página ou anexa uma página pronta existente a um livro. |
| DELETE | /api/v1/books/{book_id}/pages/{id} |
0 | Desanexa uma página de um livro sem excluí-la. |
| PATCH | /api/v1/books/{id}/pages/order |
0 | Substitui a ordem das páginas de um livro. |
| GET | /api/v1/pages |
0 | Lista as páginas da conta. |
| POST | /api/v1/pages |
1 | Cria e gera uma página independente de forma assíncrona. |
| POST | /api/v1/pages/import |
0 | Importa arte externa finalizada como uma página independente pronta. |
| GET | /api/v1/pages/{id} |
0 | Obtém uma página da conta. |
| PATCH | /api/v1/pages/{id} |
0 | Atualiza os metadados e personagens reutilizáveis de uma página. |
| PUT | /api/v1/pages/{id} |
0 | Atualiza os metadados e personagens reutilizáveis de uma página. |
| DELETE | /api/v1/pages/{id} |
0 | Exclui uma página da conta. |
| GET | /api/v1/pages/{id}/image |
0 | Baixa a imagem gerada e autorizada da página. |
| PUT | /api/v1/pages/{id}/image |
0 | Substitui a imagem de uma página por arte externa finalizada sem geração por IA. |
| POST | /api/v1/pages/{id}/regenerate |
1 | Gera novamente uma página da conta de forma assíncrona. |
Paginação
Os endpoints de lista aceitam limit de 1 a 100, com padrão 25, e um cursor after opaco retornado como meta.next_cursor. Trate IDs de recursos e cursores como strings 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"
Respostas e erros
Os erros JSON usam um envelope estável com código legível por máquina, mensagem segura e ID da solicitação. As respostas incluem a versão da API e nunca são armazenadas em cache publicamente.
{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"request_id": "request-id"
}
}
- 400
- Paginação ou parâmetros de solicitação inválidos.
- 401
- O token Bearer está ausente ou é inválido.
- 402
- A conta não possui créditos suficientes para a geração.
- 403
- A conta não possui atualmente um plano Business ativo.
- 404
- O recurso não existe ou não pertence à conta.
- 409
- A chave de idempotência entra em conflito com outra solicitação ou uma geração já está ativa.
- 422
- A solicitação falhou na validação ou um limite da conta foi atingido.
- 429
- Muitas solicitações de planejamento foram feitas em pouco tempo.
- 503
- O planejamento de livros está temporariamente indisponível.
Segurança e escopo atual
- Todas as respostas da API usam Cache-Control private, no-store.
- A propriedade é verificada novamente em cada download de imagem.
- Imagens de origem e URLs permanentes de armazenamento nunca são expostas.
- Detalhes de exceções do provedor e URLs internas são omitidos dos erros.
Os endpoints de geração exigem chaves de idempotência, registram transações de créditos imutáveis e exibem apenas erros seguros da operação.