MoonPD Engine API

문서를 고품질 페이지 이미지로 변환하고, 텍스트 추출과 AI 요약을 제공하는 통합 변환 엔진

📄 14+ 포맷 지원 🖼️ 300 DPI WebP/JPG 🤖 AI 요약 & SEO ⚡ 비동기 변환

⚡ 빠른 시작

3단계로 문서 변환을 시작하세요.

1

API Key 발급

요청 헤더에 API Key를 포함합니다. 인증이 필요한 엔드포인트는 AUTH 뱃지로 표시됩니다.

X-API-Key: your-api-key
2

문서 업로드

PDF, PPTX, DOCX, HWP 등 14개 포맷의 파일을 multipart/form-data로 전송합니다.

# curl 예시
curl -X POST /api/v1/convert \
  -H "X-API-Key: your-key" \
  -F "file=@document.pdf"
3

결과 수신

변환된 페이지 이미지 URL, 추출된 텍스트, AI 요약을 JSON으로 받습니다.

{
  "pages": 12,
  "images": ["large", "thumb", ...],
  "text": [...]
}

🌐 Base URL

https://engine.imcorp.kr/api/v1

모든 API 경로는 /api/v1 접두사를 사용합니다.

🔐 인증

AUTH 표시된 엔드포인트는 API Key가 필요합니다.

# HTTP 헤더에 API Key 포함
X-API-Key: mpd_xxxxxxxxxxxxxxxxxxxxxxxx

# 또는 쿼리 파라미터
GET /api/v1/convert/job123?api_key=mpd_xxxx

📖 API 레퍼런스

사용 가능한 모든 엔드포인트를 확인하세요.

🏥 Health
GET /api/v1/health 서버 상태 확인

엔진 서버와 Gotenberg(Chromium) 연결 상태를 확인합니다.

Response
{
  "status": "ok",
  "gotenberg": "connected",
  "version": "0.2.0"
}
GET /api/v1/formats 지원 포맷 목록

변환 가능한 파일 포맷 목록을 반환합니다.

Response
{
  "formats": ["pdf", "pptx", "docx", "xlsx", "hwp", "html", ...]
}
🔄 Convert — 문서 변환
POST /api/v1/convert AUTH 문서 → 페이지 이미지 변환

PDF, PPTX, DOCX, HWP 등 문서 파일을 페이지별 이미지(large/thumb/retina)로 변환합니다. 텍스트 추출 및 AI 요약을 동시에 처리할 수 있습니다.

Request — multipart/form-data
파라미터타입기본값설명
filefile필수변환할 문서 파일 (최대 100MB)
dpiinteger300출력 이미지 해상도 (72~600)
formatstringwebp출력 이미지 포맷 (webp, jpg, png)
qualityinteger90이미지 압축 품질 (1~100)
extract_textbooleantrue페이지별 텍스트 추출 여부
ai_summarizebooleanfalseAI 요약 생성 여부 (GPT-4.1-mini)
Example
# PDF를 300DPI WebP 이미지 + 텍스트 추출 + AI 요약
curl -X POST https://engine.imcorp.kr/api/v1/convert \
  -H "X-API-Key: your-api-key" \
  -F "file=@presentation.pptx" \
  -F "dpi=300" \
  -F "format=webp" \
  -F "ai_summarize=true"
Response
{
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "pages": 12,
  "images": [
    {
      "page": 1,
      "large_url": "/files/a1b2c3d4/1-large.webp",
      "thumb_url": "/files/a1b2c3d4/1-thumb.webp",
      "retina_url": "/files/a1b2c3d4/1-retina.webp"
    }
  ],
  "text": [
    { "page": 1, "content": "페이지 1의 텍스트..." }
  ],
  "ai": {
    "summary": "문서 요약...",
    "keywords": ["키워드1", "키워드2"],
    "faq": [...],
    "og_description": "OG 설명...",
    "schema_json": { ... }
  }
}
POST /api/v1/convert-images AUTH 이미지 파일 → 이북 이미지 변환

JPG/PNG 이미지 파일을 이북용 large/thumb 이미지 쌍으로 변환합니다.

파라미터타입기본값설명
filefile필수이미지 파일 (JPG, PNG)
qualityinteger85이미지 압축 품질
extract_textbooleanfalseOCR 텍스트 추출 여부
ai_summarizebooleanfalseAI 요약 생성 여부
POST /api/v1/convert_html AUTH HTML → 페이지 이미지 (Chromium)

HTML 파일을 Gotenberg Chromium으로 렌더링하여 페이지 이미지로 변환합니다. CSS, JavaScript, 차트(ApexCharts 등)가 포함된 HTML을 정확하게 렌더링합니다.

파라미터타입기본값설명
filefile필수HTML 파일 (filename=index.html 권장)
dpiinteger300출력 해상도
formatstringwebp출력 포맷
qualityinteger90압축 품질
Example
curl -X POST https://engine.imcorp.kr/api/v1/convert_html \
  -H "X-API-Key: your-api-key" \
  -F "file=@report.html;filename=index.html"
GET /api/v1/convert/{job_id} AUTH 변환 결과 조회

이전 변환 작업의 결과를 job_id로 조회합니다.

파라미터타입위치설명
job_idstringpath변환 작업 ID (UUID)
📝 Extract — 텍스트 추출
POST /api/v1/extract/text PDF 텍스트 추출

PDF 파일에서 페이지별 텍스트를 추출합니다. 인증 없이 사용 가능합니다.

파라미터타입설명
filefile필수PDF 파일
Response
{
  "pages": [
    { "page": 1, "text": "첫 페이지 텍스트..." },
    { "page": 2, "text": "두번째 페이지..." }
  ],
  "full_text": "전체 텍스트...",
  "word_count": 1523
}
🤖 AI — 요약 & SEO
POST /api/v1/ai/summarize AUTH 텍스트 AI 요약

텍스트를 GPT-4.1-mini로 분석하여 요약, 키워드, FAQ, OG 설명, Schema.org JSON-LD를 생성합니다.

Request — application/json
{
  "text": "요약할 텍스트 내용...",
  "title": "문서 제목"  // optional
}
Response
{
  "summary": "핵심 내용 요약...",
  "keywords": ["AI", "변환", "문서"],
  "faq": [
    { "q": "질문", "a": "답변" }
  ],
  "og_description": "SNS 공유용 설명...",
  "schema_json": { /* Schema.org JSON-LD */ }
}
POST /api/v1/ai/seo-meta AUTH 파일 업로드 → SEO 메타 생성

문서 파일을 업로드하면 텍스트를 추출하고 SEO 메타데이터(요약, 키워드, FAQ, Schema.org)를 한 번에 생성합니다.

파라미터타입기본값설명
filefile필수PDF 파일
titlestring선택문서 제목 (SEO 최적화에 사용)
🖼️ Image — 이미지 생성
POST /api/v1/image/og-generate AUTH OG 이미지 생성

제목과 부제를 기반으로 SNS 공유용 OG(Open Graph) 이미지를 생성합니다.

파라미터타입설명
titlestring필수OG 이미지 제목
subtitlestring선택부제
filefile선택배경 이미지

📋 지원 포맷

다양한 문서 및 이미지 포맷을 변환할 수 있습니다.

PDF문서
PPTX프레젠테이션
DOCX워드
XLSX스프레드시트
PPT레거시
DOC레거시
XLS레거시
HWP한글
HWPX한글(신)
ODPLibreOffice
ODTLibreOffice
HTML웹페이지
JPG이미지
PNG이미지

⚠️ 에러 코드

코드설명대응
400잘못된 요청 (지원하지 않는 포맷 등)파일 확장자 및 파라미터 확인
401인증 실패X-API-Key 헤더 확인
413파일 크기 초과 (100MB)파일 크기 줄이기
422유효성 검증 실패필수 파라미터 확인
500서버 내부 오류재시도 또는 관리자 문의