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

# extract • AI Agent SDK

> extract: Extract text from a document or image.

# extract

<div className="flex items-center gap-2">
  <Badge color="purple">Method</Badge>
</div>

> This is a method of the [**OCRAgent**](../classes/OCRAgent) class in the [**ocr\_agent**](../modules/ocr_agent) module.

Extract text from a document or image.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def extract(source: str, include_image_base64: Optional[bool], pages: Optional[List[int]], image_limit: Optional[int], model: Optional[str]) -> Any
```

## Parameters

<ParamField query="source" type="str" required={true}>
  URL or path to document/image
</ParamField>

<ParamField query="include_image_base64" type="Optional" required={false}>
  Include base64 images in response
</ParamField>

<ParamField query="pages" type="Optional" required={false}>
  Specific pages to extract (for PDFs)
</ParamField>

<ParamField query="image_limit" type="Optional" required={false}>
  Maximum images per page
</ParamField>

<ParamField query="model" type="Optional" required={false}>
  Override model for this call \*\*kwargs: Additional parameters
</ParamField>

### Returns

<ResponseField name="Returns" type="Any">
  OCRResponse with pages, markdown content, and metadata
</ResponseField>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
agent = OCRAgent(llm="mistral/mistral-ocr-latest")
    result = agent.extract("https://arxiv.org/pdf/2201.04234")
    for page in result.pages:
        print(f"Page {page.index}: {page.markdown}")
```

## Uses

* `ocr`

## Used By

* [`OCRAgent.read`](../functions/OCRAgent-read)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/agent/ocr_agent.py#L169">
  `praisonaiagents/agent/ocr_agent.py` at line 169
</Card>
