Documentação da API
Converta Markdown em PDF programaticamente. Nossa REST API permite gerar PDFs profissionais e estilizados a partir de conteúdo Markdown com uma única requisição HTTP.
Início rápido
Gere um PDF em 30 segundos com um simples comando curl.
Obtenha sua chave API
Gere uma chave no seu painel em API Keys.
Escreva Markdown
Qualquer Markdown válido é suportado — títulos, listas, blocos de código, tabelas, imagens.
Faça a requisição
Envie uma requisição POST com sua chave e Markdown. Receba um PDF de volta.
curl -X POST https://markdowntopdfconverter.com/api/v1/convert \
-H "Authorization: Bearer mp_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello World\n\nThis is a **test**.", "templateId": "clean"}' \
-o output.pdfAutenticação
apiDocs.authentication.description
Cabeçalho da requisição
| Cabeçalho | Valor | Descrição |
|---|---|---|
| Authorization | Bearer mp_live_... | Sua chave API prefixada com Bearer |
| Content-Type | application/json | Obrigatório para todas as requisições |
apiDocs.authentication.keyFormat
POST /api/v1/convert
Converta Markdown em um documento PDF estilizado.
Corpo da requisição
markdownstringObrigatórioO conteúdo Markdown para converter. Máx. 200.000 caracteres.
templateIdstringOpcionalModelo a usar. Um de: clean, executive, resume, academic, legal, creative. Padrão: clean.
filenamestringOpcionalNome do arquivo PDF baixado. Padrão: document.pdf.
localestringOpcionalLocalidade para renderização. Um de: en, es, fr, de, ja, zh-CN, ko, pt-BR, ar, ru, hi, it. Padrão: en.
customTemplateIdUUIDOpcionalUUID de um modelo personalizado salvo. O modelo deve pertencer ao usuário da chave API.
optionsobjectOpcionalOpções de conversão: pageNumbers (boolean), bodyTextColor (hex), headingTextColor (hex), creativeAccent (slate|purple|blue|emerald|rose|amber).
Exemplos de requisições
import requests
api_key = "mp_live_your_api_key_here"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"markdown": "# Quarterly Report\n\n## Revenue\n\nRevenue grew **15%** this quarter.",
"templateId": "executive",
"options": {"pageNumbers": True}
}
response = requests.post(
"https://markdowntopdfconverter.com/api/v1/convert",
json=payload,
headers=headers
)
with open("report.pdf", "wb") as f:
f.write(response.content)const response = await fetch(
"https://markdowntopdfconverter.com/api/v1/convert",
{
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
markdown: "# Invoice\n\n**Amount:** $1,200\n\n| Item | Qty | Price |\n| --- | --- | --- |\n| Widget | 5 | $240 |",
templateId: "clean",
filename: "invoice",
}),
}
);
const blob = await response.blob();
const url = URL.createObjectURL(blob);
// Trigger download
const a = document.createElement("a");
a.href = url;
a.download = "invoice.pdf";
a.click();Modelos
Escolha entre seis modelos projetados profissionalmente. Cada modelo tem tipografia, espaçamento e esquemas de cores distintos.
Clean
Design minimalista, moderno e sem serifa com espaçamento limpo.
Executive
Títulos com serifa com acentos azul-marinho profissionais e números de página.
Resume
Layout compacto de coluna única otimizado para currículos.
Academic
Títulos numerados, espaçamento generoso e corpo EB Garamond.
Legal
Corpo com serifa em espaçamento duplo com formatação formal de citações.
Creative
Títulos DM Sans em negrito com cores de acento configuráveis.
Códigos de erro
Cada resposta usa um código de status HTTP padrão. Use-o para decidir como lidar com o resultado.
| Status | Significado | Ação |
|---|---|---|
| 200 | Sucesso — PDF retornado | Baixe o PDF do corpo da resposta. |
| 400 | Corpo da requisição inválido | Verifique se seu payload JSON corresponde ao esquema acima. |
| 401 | Chave API inválida ou ausente | Verifique se sua chave API está ativa e formatada corretamente. |
| 402 | Créditos API esgotados | Compre mais créditos no seu painel. |
| 404 | Modelo personalizado não encontrado | Verifique se o customTemplateId está correto e pertence a você. |
| 415 | Content-Type incorreto | Defina o cabeçalho Content-Type como application/json. |
| 422 | Opções de conversão inválidas | Verifique se seu objeto options corresponde às especificações. |
| 429 | Limite de taxa atingido | Aguarde e tente novamente. Verifique o cabeçalho Retry-After. |
| 500 | Erro do servidor | Tente novamente com backoff exponencial. Contate o suporte se persistir. |
Preços da API
As chamadas de API são monitoradas mensalmente. Cada conversão bem-sucedida conta para o limite mensal do seu plano.
$0
25 / month
Para testes e avaliação.
$9
500 / month
Para indivíduos e pequenos projetos.
$29
1,000 / month
Geração prioritária, suporte a modelos personalizados via API.
Precisa de mais? Entre em contato para preços empresariais personalizados.