본문으로 건너뛰기

POST /jobs/upload

Upload files and get a cost preview. Credits are not deducted at this step.

Form fields​

FieldTypeRequiredDefaultDescription
filesFile[]Yes—One or more files (multipart/form-data)
ocr_modelstringNopremiumbasic or premium
ocr_enginestringNoeasyocrtesseract, easyocr, or rapidocr (premium only)
columnsstringNodefaultsComma-separated or JSON array of column names
promptstringNo""Extra instructions for the model
dpiintNo300PDF rendering DPI
relative_pathsstringNo""JSON array of relative paths for archive files

Request​

curl -X POST https://your-domain.com/api/v1/jobs/upload \
-H "X-API-Key: chu_live_xxxxxxxx" \
-F "files=@document.pdf" \
-F "ocr_model=premium" \
-F "columns=날짜,계정과목,적요,입금액,출금액,잔액" \
-F "dpi=300"

Response​

{
"job_id": "job-abc123",
"status": "pending",
"file_type": "pdf",
"total_pages": 10,
"total_files": 1,
"media_duration_seconds": 0,
"cost": {
"pages": 10,
"image_count": 0,
"audio_seconds": 0,
"video_seconds": 0,
"docling_refinement_pages": 0,
"ocr_model": "premium",
"free_pages_used": 0,
"points": 50,
"usd": "$0.05"
},
"balance": 10000
}

Fields​

FieldTypeDescription
job_idstringJob identifier — use for confirm/status/download
statusstringAlways pending at this stage
file_typestringpdf, image, audio, video, archive, mixed
total_pagesintTotal PDF pages detected
total_filesintTotal files (after archive extraction)
media_duration_secondsintTotal audio/video duration
cost.pointsintCredits that will be deducted on confirm (milli-USD)
cost.usdstringHuman-readable USD cost estimate
cost.ocr_modelstringModel used for cost calculation
cost.free_pages_usedintFree pages applied (basic model only)
balanceintCurrent credit balance in milli-USD (before deduction)

Multiple files​

Upload multiple files at once:

curl -X POST https://your-domain.com/api/v1/jobs/upload \
-H "X-API-Key: chu_live_xxxxxxxx" \
-F "files=@doc1.pdf" \
-F "files=@doc2.pdf" \
-F "ocr_model=premium"

Errors​

StatusMeaning
400No files, unsupported format, or missing filename
413Total file size exceeds limit (default 200MB) or pages exceed limit (default 10,000)
502File processing failed