Markdown to PDF
v2 public betaREST API

API и MCP Markdown в PDF для аккуратных документов под конкретные задачи

Создавайте версионные документы Markdown, асинхронно публикуйте аккуратные PDF и скачивайте проверенные артефакты через REST API с ограниченными правами.

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

Быстрый старт

Создайте документ, опубликуйте его и скачайте проверенный PDF.

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

Начните с проверенной автоматизации

Импортируйте полный поток публикации, опроса и закрытой загрузки.

n8n

Неактивный workflow с сохраняемыми ожиданиями и обработкой конечных ошибок.

Скачать workflow

Make

Blueprint без учётных данных, с ограниченным опросом и защитой от повторной загрузки.

Скачать blueprint

Zapier

SDK Code и манифест пошагового шаблона в одном комплекте.

Скачать комплект

Используйте отдельный ключ с documents.render и documents.read. Скачивайте подписанный URL без этого ключа.


Используйте профессиональные PDF-шаблоны в Claude Code и ИИ-агентах

Подключите удалённый MCP-сервер один раз, а затем просите агента рекомендовать наиболее подходящие шаблоны для документа или превратить Markdown в аккуратный PDF прямо в диалоге.

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

MCP использует тот же API-ключ и лимит, что и REST API. Каждый результат — приватная ссылка на 15 минут. Бесплатный аккаунт позволяет попробовать 5 premium-экспортов до перехода на платный план.

Создать API-ключ

Аутентификация

Аутентифицируйте каждый запрос своим секретным API-ключом, передаваемым как Bearer-токен в заголовке Authorization.

Заголовок запроса

ЗаголовокЗначениеОписание
AuthorizationBearer mp_live_...Ваш ключ API с префиксом Bearer
Content-Typeapplication/jsonОбязательно для всех запросов

Единый управляемый цикл публикации

Источник, неизменяемая ревизия, задание и проверенный артефакт разделены для предсказуемых повторов и аудита.

  1. 01

    Создайте управляемый документ и первую ревизию.

  2. 02

    Запросите итоговый PDF со стабильным ключом идемпотентности.

  3. 03

    Опрашивайте до succeeded, failed или cancelled.

  4. 04

    Выпустите краткосрочную закрытую ссылку на артефакт.

  5. 05

    Скачайте подписанный URL, не передавая Authorization.


POST /api/v1/convert

Преобразуйте Markdown в стилизованный PDF-документ.


Шаблоны

Выберите один из 57 профессиональных шаблонов в 9 тематических семействах. Раскройте семейство, чтобы скопировать ID шаблона.

Executive PDFОтчёты и брифыДеловые отчёты, предложения и визуальные брифы.2 IDs
Современная редакционная PDFРезюмеЧёткие профессиональные форматы для сильного первого впечатления.10 IDs
Современный бланк PDFСопроводительные письмаПисьма, стилистически дополняющие резюме.10 IDs
Школьное эссе PDFУчебные заданияАккуратные работы для школы, колледжа и университета.9 IDs
Консалтинговое предложение PDFПредложенияМатериалы для привлечения клиентов, согласований, партнёров и финансирования.9 IDs
Одностраничник продукта PDFПродажи и маркетингПрофессиональные материалы для продаж, доказательств и запусков.9 IDs
Научная публикация PDFНаучные документыФорматы для публикации, рецензирования и конференций.3 IDs
Clean PDFКниги и длинные текстыУдобные для чтения макеты руководств, эссе и книг.4 IDs
Юридический PDFЮридические документыСтруктурированные соглашения и договоры.1 IDs

Коды ошибок

Каждая ошибка v2 содержит стабильный код, статус HTTP, флаг retryable и необязательную задержку. Повторяйте запрос только когда 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


Цены API

Вызовы API учитываются ежемесячно. Каждое успешное преобразование учитывается в ежемесячном лимите вашего тарифа.

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

Нужно больше? Свяжитесь с нами для индивидуальных корпоративных цен.

Создайте premium-образец PDF и решите, стоит ли подключать API.

Попробовать premium-образец