작업별 완성도 높은 문서를 위한 Markdown PDF API와 MCP
버전이 있는 Markdown 문서를 만들고 완성도 높은 PDF를 비동기로 게시하며 범위가 제한된 REST API에서 검증된 결과물을 다운로드하세요.
premium 체험
/api/v2/documents{
"taskId": "consulting-proposal",
"revision": {
"markdown": "# Northstar Proposal...",
"spec": { "templateId": "proposal-consulting" }
}
}
SHA-256POST /api/v2/documents → /publishes
빠른 시작
문서를 만들고 게시한 뒤 검증된 PDF를 다운로드하세요.
#!/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
- Artifact
- SHA-256
- Download
- private link
검토된 자동화로 시작
게시, 폴링, 비공개 다운로드 전체 흐름을 가져옵니다.
n8n
지속 대기와 종료 오류 처리를 갖춘 비활성 워크플로입니다.
Make
자격 증명이 없고 제한 폴링과 중복 다운로드 방지를 갖춘 Blueprint입니다.
Zapier
SDK Code 단계와 안내형 템플릿 매니페스트를 묶은 키트입니다.
documents.render 및 documents.read 전용 키를 사용하세요. 서명된 URL은 해당 키 없이 다운로드해야 합니다.
Claude Code와 AI 에이전트에서 전문 PDF 템플릿 사용
원격 MCP 서버를 한 번 연결하면 대화를 벗어나지 않고 에이전트가 문서에 가장 적합한 작업별 템플릿을 추천하거나 Markdown을 완성도 높은 PDF로 생성할 수 있습니다.
{
"mcpServers": {
"markdown-to-pdf": {
"type": "http",
"url": "https://markdowntopdfconverter.com/mcp",
"headers": {
"Authorization": "Bearer ${MD2PDF_API_KEY}"
}
}
}
}MCP는 REST API와 동일한 API 키와 사용 한도를 공유합니다. 결과는 15분 후 만료되는 비공개 다운로드 링크이며, 무료 계정은 업그레이드 전에 프리미엄 내보내기 5회를 체험할 수 있습니다.
API 키 만들기인증
Authorization 헤더에 Bearer 토큰으로 전송하는 비밀 API 키로 모든 요청을 인증합니다.
요청 헤더
| 헤더 | 값 | 설명 |
|---|---|---|
| Authorization | Bearer mp_live_... | Bearer가 앞에 붙는 API 키 |
| Content-Type | application/json | 모든 요청에 필수 |
하나의 관리형 게시 수명 주기
재시도와 감사를 예측할 수 있도록 원본, 변경 불가 리비전, 작업, 검증된 결과물을 분리합니다.
- 01
관리형 문서와 첫 리비전을 만듭니다.
- 02
안정적인 멱등성 키로 최종 PDF를 요청합니다.
- 03
succeeded, failed 또는 cancelled까지 폴링합니다.
- 04
유효 기간이 짧은 비공개 결과물 링크를 발급합니다.
- 05
Authorization을 전달하지 않고 서명된 URL을 다운로드합니다.
POST /api/v1/convert
Markdown을 스타일링된 PDF 문서로 변환합니다.
템플릿
9개의 작업별 패밀리에서 57개의 전문 템플릿을 선택하세요. 패밀리를 열어 템플릿 ID를 복사할 수 있습니다.
이력서좋은 첫인상을 위한 명확하고 전문적인 형식입니다.10 IDs
자기소개서이력서와 자연스럽게 어울리는 지원 문서 형식입니다.10 IDs
과제고등학교, 대학, 대학교 과제를 위한 완성도 높은 형식입니다.9 IDs
제안서고객, 승인, 파트너십, 자금 지원을 위한 전문 제안서입니다.9 IDs
영업 및 마케팅판매, 성과 입증, 출시를 위한 세련된 자료입니다.9 IDs
학술 문서출판, 동료 심사, 학회 논문을 위한 형식입니다.3 IDs
도서 및 장문가이드, 매뉴얼, 에세이, 도서를 위한 읽기 편한 레이아웃입니다.4 IDs
법률 문서체계적인 합의서와 계약서 형식입니다.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
| 상태 | code | retryable |
|---|---|---|
| 400 / 415 / 422 | invalid_request | false |
| 401 | unauthorized | false |
| 402 | quota_exhausted | false |
| 403 | forbidden | false |
| 404 | not_found | false |
| 409 | idempotency_conflict | false |
| 409 | invalid_state_transition | false |
| 410 | artifact_expired | false |
| 429 | rate_limited | true |
| 503 | service_unavailable | true |
API 요금
API 호출은 월간으로 추적됩니다. 각 성공적인 변환은 해당 티어의 월간 한도에 포함됩니다.
CA$0
25 / month
CA$13.91 / month
500 / month
CA$82.14 / year
1,000 / month
CA$6.96 one-time
250 calls
더 필요하신가요? 맞춤형 기업 요금제에 대해 문의하세요.
문서를 떠나기 전에