> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Extract text from images with OCR

> Extracts text content while maintaining document structure and hierarchy



## OpenAPI

````yaml post /v2/router/ocr
openapi: 3.1.0
info:
  title: orq.ai API
  version: '2.0'
  description: orq.ai API documentation
servers:
  - url: https://api.orq.ai
security:
  - ApiKey: []
tags:
  - name: Guardrail Rules
  - name: Policies
  - name: Routing Rules
  - name: Files
    description: File upload and retrieval operations.
  - name: FilesService
  - name: Projects
    description: Projects organize resources within a workspace
  - name: ProjectsService
  - name: Skills
    description: >-
      Skills are modular instructions you can use to codify processes and
      conventions
  - name: SkillsService
  - name: Responses
  - description: >-
      Run agents on a cadence — cron, interval, or one-off. Minimum firing
      interval is 1 hour.
    name: Agent Schedules
  - name: Reporting
    description: >-
      GenAI reporting API over canonical analytics rollups. Accepts a metric
      name, time range, grain, group-by, and filters; returns a typed time
      series and optional totals.
  - name: ReportingService
    description: |-
      ReportingService exposes a single QueryReport RPC that maps allowlisted
       analytics payloads onto safe rollup queries. Callers never send SQL;
       the backend picks the rollup family and grain from the metric
       catalogue, the requested range, and the requested grouping.
externalDocs:
  url: https://docs.orq.ai
  description: orq.ai Documentation
paths:
  /v2/router/ocr:
    post:
      tags:
        - Router
      description: Extracts text content while maintaining document structure and hierarchy
      requestBody:
        required: true
        description: input
        content:
          application/json:
            schema:
              type: object
              properties:
                model:
                  type: string
                  description: ID of the model to use for OCR.
                document:
                  anyOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - document_url
                        document_url:
                          type: string
                          format: uri
                          description: URL of the document to process
                        document_name:
                          type: string
                          description: The name of the document
                      required:
                        - type
                        - document_url
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - image_url
                        image_url:
                          anyOf:
                            - type: string
                              description: Base64 encoded image
                            - type: object
                              properties:
                                url:
                                  type: string
                                  format: uri
                                detail:
                                  type: string
                              required:
                                - url
                              description: URL of the image to process
                      required:
                        - type
                        - image_url
                  description: >-
                    Document to run OCR on. Can be a DocumentURLChunk or
                    ImageURLChunk.
                pages:
                  type:
                    - array
                    - 'null'
                  items:
                    type: integer
                  description: >-
                    Specific pages to process. Can be a single number, range, or
                    list. Starts from 0. Null for all pages.
                ocr_settings:
                  type: object
                  properties:
                    include_image_base64:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        Whether to include image Base64 in the response. Null
                        for default.
                    max_images_to_include:
                      type: integer
                      description: Maximum number of images to extract. Null for no limit.
                    image_min_size:
                      type: integer
                      description: >-
                        Minimum height and width of image to extract. Null for
                        no minimum.
                  description: Optional settings for the OCR run
              required:
                - model
                - document
      responses:
        '200':
          description: Represents an OCR response from the API.
          content:
            application/json:
              schema:
                type: object
                properties:
                  model:
                    type: string
                    description: ID of the model used for OCR.
                  pages:
                    type: array
                    items:
                      type: object
                      properties:
                        index:
                          type: number
                          description: The page index in a pdf document starting from 0
                        markdown:
                          type: string
                          description: The markdown string response of the page
                        images:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: The id of the image
                              image_base64:
                                type:
                                  - string
                                  - 'null'
                                description: The base64 encoded image
                            required:
                              - id
                        dimensions:
                          type:
                            - object
                            - 'null'
                          properties:
                            dpi:
                              type: integer
                              description: Dots per inch of the page-image
                            height:
                              type: integer
                              description: Height of the image in pixels
                            width:
                              type: integer
                              description: Width of the image in pixels
                          required:
                            - dpi
                            - height
                            - width
                          description: The dimensions of the PDF Page's screenshot image
                      required:
                        - index
                        - markdown
                        - images
                  usage:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - pages
                          pages_processed:
                            type: integer
                            description: The number of pages processed
                        required:
                          - type
                          - pages_processed
                        description: >-
                          The usage information for the OCR run counted as pages
                          processed
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - tokens
                          tokens_processed:
                            type: integer
                            description: The number of tokens processed
                        required:
                          - type
                          - tokens_processed
                        description: >-
                          The usage information for the OCR run counted as
                          tokens processed
                required:
                  - model
                  - pages
                  - usage
components:
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT

````