Extract structured text and Markdown from complex documents.
API ID
mistral-document-ai-2512Overview
- Input
- A supported document or image file.
- Output
- Extracted Markdown, text, and page-level structure.
- Providers
- Mistral API
- Latest operational check
- Healthy
- API compatibility
- Primex OCR API
Recommended for
- Document ingestion
- Structured document extraction
Supported features
- OCR
- Markdown
- Page structure
Make your first request
View full setup# Requires curl and jq.
set -euo pipefail
API_KEY="YOUR_API_KEY"
GATEWAY='https://gateway.primexos.com'
FILE_PATH='document.pdf'
CONTENT_TYPE='application/pdf'
BYTE_SIZE=$(wc -c < "$FILE_PATH" | tr -d '[:space:]')
AUTHORIZATION=$(curl --fail-with-body -sS "$GATEWAY/v1/primex/files/upload-authorizations" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"purpose\":\"OCR_INPUT\",\"content_type\":\"$CONTENT_TYPE\",\"byte_size\":$BYTE_SIZE}")
UPLOAD_URL=$(printf '%s' "$AUTHORIZATION" | jq -r '.upload_url')
UPLOAD_METHOD=$(printf '%s' "$AUTHORIZATION" | jq -r '.method')
BLOB_TYPE=$(printf '%s' "$AUTHORIZATION" | jq -r '.headers["x-ms-blob-type"]')
UPLOAD_CONTENT_TYPE=$(printf '%s' "$AUTHORIZATION" | jq -r '.headers["Content-Type"]')
FILE_ID=$(printf '%s' "$AUTHORIZATION" | jq -r '.file_id')
curl --fail-with-body -sS -X "$UPLOAD_METHOD" "$UPLOAD_URL" \
-H "x-ms-blob-type: $BLOB_TYPE" \
-H "Content-Type: $UPLOAD_CONTENT_TYPE" \
--data-binary "@$FILE_PATH"
FINALIZED=$(curl --fail-with-body -sS -X POST "$GATEWAY/v1/primex/files/$FILE_ID/finalize" \
-H "Authorization: Bearer $API_KEY")
FILE_ID=$(printf '%s' "$FINALIZED" | jq -r '.file_id')
SERVICE_PAYLOAD='{"model":"mistral-document-ai-2512","file_id":"__PRIMEX_PRODUCTION_FILE_ID__"}'
SERVICE_PAYLOAD=$(printf '%s' "$SERVICE_PAYLOAD" | jq --arg file_id "$FILE_ID" 'walk(if type == "object" and .file_id? == "__PRIMEX_PRODUCTION_FILE_ID__" then .file_id = $file_id else . end)')
curl --fail-with-body "$GATEWAY/v1/ocr" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "$SERVICE_PAYLOAD"Executing this request uses your account’s API credits.
Sample input → output
Inputdocument.pdf
→Output preview
- pages
- Detected page count
- text
- Extracted Markdown and text
Simplified preview based on the published service response contract.