Markdown to PDF
v2 public betaREST API

API e MCP da Markdown a PDF per documenti curati e specifici

Crea documenti Markdown con versioni, pubblica PDF curati in modo asincrono e scarica artefatti verificati tramite una REST API con permessi mirati.

Prova premium

POST/api/v2/documents
{
  "taskId": "consulting-proposal",
  "revision": {
    "markdown": "# Northstar Proposal...",
    "spec": { "templateId": "proposal-consulting" }
  }
}
Executive template API request and PDF preview
verified artifactSHA-256

Avvio rapido

Crea un documento, pubblicalo e scarica il PDF verificato.

cURL
#!/usr/bin/env bash
set -euo pipefail

API="https://markdowntopdfconverter.com"
RUN_ID="proposal-$(date +%s)"
AUTH="Authorization: Bearer $MD2PDF_API_KEY"

DOCUMENT=$(curl --fail --silent --show-error --max-time 30 "$API/api/v2/documents" \
  -H "$AUTH" -H "Content-Type: application/json" \
  -H "Idempotency-Key: $RUN_ID-document" \
  --data '{"taskId":"consulting-proposal","title":"Northstar proposal","revision":{"markdown":"# Northstar Proposal\n\n## Outcome\nA decision-ready roadmap.","parentRevisionId":null,"spec":{"locale":"en","options":{"pageNumbers":true},"templateId":"proposal-consulting"}}}')

DOCUMENT_ID=$(jq -r '.document.id' <<<"$DOCUMENT")
REVISION_ID=$(jq -r '.revision.id' <<<"$DOCUMENT")
JOB=$(curl --fail --silent --show-error --max-time 30 \
  "$API/api/v2/documents/$DOCUMENT_ID/publishes" \
  -H "$AUTH" -H "Content-Type: application/json" \
  -H "Idempotency-Key: $RUN_ID-publish" \
  --data "{"revisionId":"$REVISION_ID","output":{"format":"pdf","filename":"northstar-proposal.pdf"}}")
JOB_ID=$(jq -r '.job.id' <<<"$JOB")

for ATTEMPT in $(seq 1 100); do
  RESULT=$(curl --fail --silent --show-error --max-time 30 "$API/api/v2/jobs/$JOB_ID" -H "$AUTH")
  STATUS=$(jq -r '.job.status' <<<"$RESULT")
  [[ "$STATUS" == "succeeded" ]] && break
  [[ "$STATUS" == "failed" || "$STATUS" == "cancelled" ]] && exit 1
  sleep 3
done
[[ "$STATUS" == "succeeded" ]] || { echo "Timed out waiting for PDF" >&2; exit 1; }

ARTIFACT_ID=$(jq -r '.artifact.id' <<<"$RESULT")
LINK=$(curl --fail --silent --show-error --max-time 30 -X POST \
  "$API/api/v2/artifacts/$ARTIFACT_ID/links" -H "$AUTH")
HREF=$(jq -r '.href' <<<"$LINK")
[[ "$HREF" == https://* ]] || { echo "Refusing non-HTTPS artifact URL" >&2; exit 1; }
curl --fail --location --proto '=https' --max-redirs 5 --max-time 60 "$HREF" \
  --output northstar-proposal.pdf
Verified PDFsucceeded
Polished consulting proposal PDF returned by the publishing API
Artifact
SHA-256
Download
private link

Inizia con un’automazione verificata

Importa il flusso completo di pubblicazione, controllo e download privato.

n8n

Workflow inattivo con attese persistenti e gestione degli errori terminali.

Scarica workflow

Make

Blueprint senza credenziali con controllo limitato e blocco dei download duplicati.

Scarica blueprint

Zapier

Passaggio SDK e manifesto del modello guidato in un unico kit.

Scarica kit

Usa una chiave dedicata con documents.render e documents.read. Scarica l’URL firmato senza tale chiave.


Usa modelli PDF professionali da Claude Code e dagli agenti IA

Collega una sola volta il server MCP remoto, poi chiedi all’agente di consigliare i modelli più adatti al documento o trasformare Markdown in un PDF professionale senza lasciare la conversazione.

.mcp.json
{
  "mcpServers": {
    "markdown-to-pdf": {
      "type": "http",
      "url": "https://markdowntopdfconverter.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MD2PDF_API_KEY}"
      }
    }
  }
}

MCP usa la stessa chiave e lo stesso limite dell’API REST. Ogni risultato è un link privato valido 15 minuti e gli account gratuiti possono provare 5 esportazioni premium prima dell’upgrade.

Crea chiave API

Autenticazione

Autentica ogni richiesta con la tua chiave API segreta, inviata come token Bearer nell'header Authorization.

Intestazione richiesta

IntestazioneValoreDescrizione
AuthorizationBearer mp_live_...La tua chiave API con prefisso Bearer
Content-Typeapplication/jsonRichiesto per tutte le richieste

Un ciclo di pubblicazione gestito

Fonte, revisione immutabile, processo e artefatto verificato restano separati per retry e audit prevedibili.

  1. 01

    Crea un documento gestito e la prima revisione.

  2. 02

    Richiedi il PDF finale con una chiave di idempotenza stabile.

  3. 03

    Controlla fino a succeeded, failed o cancelled.

  4. 04

    Genera un link privato di breve durata.

  5. 05

    Scarica l’URL firmato senza inoltrare Authorization.


POST /api/v1/convert

Converti Markdown in un documento PDF stilizzato.


Modelli

Scegli tra 57 template professionali in 9 famiglie specifiche. Espandi una famiglia per copiare un ID template.

Executive PDFReport e briefReport aziendali, proposte e brief visivi.2 IDs
Editoriale moderno PDFCVFormati essenziali per un'ottima prima impressione.10 IDs
Carta intestata moderna PDFLettere di presentazioneLettere progettate per accompagnare il tuo CV.10 IDs
Saggio di scuola superiore PDFCompiti ed elaboratiLavori curati per scuola superiore, college e università.9 IDs
Proposta di consulenza PDFProposteConquista clienti, approvazioni, partner e finanziamenti.9 IDs
Scheda prodotto PDFVendite e marketingMateriali professionali per vendere, dimostrare e lanciare.9 IDs
Pubblicazione scientifica PDFDocumenti accademiciFormati per pubblicazione, revisione e conferenze.3 IDs
Clean PDFLibri e testi lunghiLayout leggibili per guide, manuali, saggi e libri.4 IDs
Legale PDFDocumenti legaliAccordi e contratti ben strutturati.1 IDs

Codici di errore

Ogni errore v2 include un codice stabile, lo stato HTTP, il flag retryable e un eventuale ritardo. Riprova solo quando retryable è true.

400 / 415 / 422invalid_request

retryable: false

401unauthorized

retryable: false

402quota_exhausted

retryable: false

403forbidden

retryable: false

404not_found

retryable: false

409idempotency_conflict

retryable: false

409invalid_state_transition

retryable: false

410artifact_expired

retryable: false

429rate_limited

retryable: true

503service_unavailable

retryable: true


Prezzi API

Le chiamate API sono tracciate mensilmente. Ogni conversione riuscita conta per il limite mensile del tuo livello.

Free

0 CA$

25 / month

Starter

13,91 CA$ / month

500 / month

Pro

82,14 CA$ / year

1,000 / month

Credits

6,96 CA$ one-time

250 calls

Serve di più? Contattaci per prezzi aziendali personalizzati.

Genera un esempio PDF premium, poi decidi se vale la pena integrare l’API.

Prova esempio premium