Markdown to PDF
v1.0REST API

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.

1

Obtenha sua chave API

Gere uma chave no seu painel em API Keys.

2

Escreva Markdown

Qualquer Markdown válido é suportado — títulos, listas, blocos de código, tabelas, imagens.

3

Faça a requisição

Envie uma requisição POST com sua chave e Markdown. Receba um PDF de volta.

cURL
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.pdf

Autenticação

apiDocs.authentication.description

Cabeçalho da requisição

CabeçalhoValorDescrição
AuthorizationBearer mp_live_...Sua chave API prefixada com Bearer
Content-Typeapplication/jsonObrigató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ório

O conteúdo Markdown para converter. Máx. 200.000 caracteres.

templateIdstringOpcional

Modelo a usar. Um de: clean, executive, resume, academic, legal, creative. Padrão: clean.

filenamestringOpcional

Nome do arquivo PDF baixado. Padrão: document.pdf.

localestringOpcional

Localidade para renderização. Um de: en, es, fr, de, ja, zh-CN, ko, pt-BR, ar, ru, hi, it. Padrão: en.

customTemplateIdUUIDOpcional

UUID de um modelo personalizado salvo. O modelo deve pertencer ao usuário da chave API.

optionsobjectOpcional

Opções de conversão: pageNumbers (boolean), bodyTextColor (hex), headingTextColor (hex), creativeAccent (slate|purple|blue|emerald|rose|amber).

Exemplos de requisições

Python
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)
JavaScript
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

Clean

Design minimalista, moderno e sem serifa com espaçamento limpo.

executive

Executive

Títulos com serifa com acentos azul-marinho profissionais e números de página.

resume

Resume

Layout compacto de coluna única otimizado para currículos.

academic

Academic

Títulos numerados, espaçamento generoso e corpo EB Garamond.

legal

Legal

Corpo com serifa em espaçamento duplo com formatação formal de citações.

creative

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.

StatusSignificadoAção
200Sucesso — PDF retornadoBaixe o PDF do corpo da resposta.
400Corpo da requisição inválidoVerifique se seu payload JSON corresponde ao esquema acima.
401Chave API inválida ou ausenteVerifique se sua chave API está ativa e formatada corretamente.
402Créditos API esgotadosCompre mais créditos no seu painel.
404Modelo personalizado não encontradoVerifique se o customTemplateId está correto e pertence a você.
415Content-Type incorretoDefina o cabeçalho Content-Type como application/json.
422Opções de conversão inválidasVerifique se seu objeto options corresponde às especificações.
429Limite de taxa atingidoAguarde e tente novamente. Verifique o cabeçalho Retry-After.
500Erro do servidorTente 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.

Free

$0

25 / month

Para testes e avaliação.

Starter

$9

500 / month

Para indivíduos e pequenos projetos.

Pro

$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.