Document Parsing - quickstart
About the Parse API
Section titled “About the Parse API”Cohere's Parse model converts unstructured enterprise documents (PDFs, images, slides) into structured Markdown output. It extracts text, tables, lists, forms, images, captions, and bounding box coordinates.
This quickstart guide shows you how to parse a document image with the Parse endpoint.
Setup
First, install the Cohere Python SDK with the following command.
Bash pip install -U cohereNext, import the library and create a client.
PYTHON import cohere co = cohere.ClientV2( "COHERE_API_KEY" ) # Get your free API key here: https://dashboard.cohere.com/api-keysPYTHON import cohere co = cohere.ClientV2( api_key="", # Leave this blank base_url="<YOUR_DEPLOYMENT_URL>", )PYTHON import cohere co = cohere.SagemakerClientV2( aws_region="AWS_REGION", aws_access_key="AWS_ACCESS_KEY_ID", aws_secret_key="AWS_SECRET_ACCESS_KEY", aws_session_token="AWS_SESSION_TOKEN", )Prepare the Document
Parse accepts documents as base64-encoded data URIs. Convert your image to a data URI.
PYTHON import base64 with open("document.png", "rb") as f: b64 = base64.b64encode(f.read()).decode("utf-8") data_uri = f"data:image/png;base64,{b64}"Parse the Document
Pass the document to the Parse endpoint. By default, the response contains Markdown output.
PYTHON response = co.parse( model="parse-v5.0", document={"type": "image_url", "image_url": data_uri}, ) for page in response.pages: print(page.markdown.content)PYTHON response = co.parse( model="parse-v5.0", document={"type": "image_url", "image_url": data_uri}, ) for page in response.pages: print(page.markdown.content)PYTHON response = co.parse( model="YOUR_ENDPOINT_NAME", document={"type": "image_url", "image_url": data_uri}, ) for page in response.pages: print(page.markdown.content)Blocks Output
To get structured content blocks, set
output_formatto"blocks". Each block has atype(e.g.text,table) with type-specific fields including bounding boxes for tables.PYTHON response = co.parse( model="parse-v5.0", document={"type": "image_url", "image_url": data_uri}, output_format="blocks", ) for page in response.pages: for block in page.blocks: if block.type == "text": print(block.text.content) elif block.type == "table": print(f"[Table] bbox={block.table.bounding_box}") print(block.table.html) print(block.table.description) print()