Async Jobs

Create async OCR job

Submits an OCR request for asynchronous execution. Returns a job ID immediately with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.

POST
/v1/async/ocr
AuthorizationBearer <token>

Bearer token authentication. Use your MPilot virtual-key JWT or admin JWT. Virtual keys (prefixed with sk-bf-) can also be passed here.

In: header

Header Parameters

x-bf-async-job-result-ttl?integer

Time-to-live in seconds for the job result after completion. Defaults to 3600 (1 hour). After expiry, the job result is automatically cleaned up.

Default3600
modelstring

Model in provider/model format

id?string

Optional unique identifier for the request

documentOCRDocument
fallbacks?array<string>

Fallback models in provider/model format

include_image_base64?boolean

Whether to include base64-encoded images in the response

pages?array<integer>

Specific page indices to process (0-based)

image_limit?integer

Maximum number of images to extract per page

Range1 <= value
image_min_size?integer

Minimum image size in pixels to extract

Range1 <= value
table_format?string

Format for extracted tables (e.g., "markdown", "html")

extract_header?boolean

Whether to extract page headers

extract_footer?boolean

Whether to extract page footers

confidence_scores_granularity?string

Granularity of confidence scores to include in the response

Value in"page" | "block" | "word" | "document"
bbox_annotation_format?

Format for bounding box annotations. Supports text, json_object, and json_schema modes.

document_annotation_format?

Format for document-level annotations. Supports text, json_object, and json_schema modes.

document_annotation_prompt?string

Custom prompt for document annotation

Response Body

curl -X POST "https://loading/{AI_GATEWAY_URL}/v1/async/ocr" \  -H "x-bf-async-job-result-ttl: 3600" \  -H "Content-Type: application/json" \  -d '{    "model": "mistral/mistral-ocr-latest",    "document": {      "type": "document_url"    }  }'
{
  "id": "string",
  "status": "pending",
  "expires_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "status_code": 0,
  "result": null,
  "error": {
    "event_id": "string",
    "type": "string",
    "is_bifrost_error": true,
    "status_code": 0,
    "error": {
      "type": "string",
      "code": "string",
      "message": "string",
      "param": "string",
      "event_id": "string"
    },
    "extra_fields": {
      "provider": "openai",
      "model_requested": "string",
      "request_type": "string"
    }
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}
On this page

On this page

No Headings