> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.cohere.com/v1/docs/parse-best-practices/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.cohere.com/_mcp/server. # Document Parsing - best practices > Best practices for image format, resolution, and throughput when using the Cohere Parse API. ## Quick Recommendations | Use Case | Format | Resize | Notes | | -------------------------------------- | -------------- | --------------------- | ------------------------------------- | | General Parsing (recommended) | WebP 90 | 2048/1536px long side | Good balance for most workloads | | Tables, financial, high precision docs | PNG or JPEG 95 | 2048px long side | Preserves fine lines and cell borders | **For throughput**: resize to 1536px on the long side before sending. Minimal loss in parsing quality while significantly improving throughput. ## Resize and Convert The key operation is `thumbnail` which resizes in-place while preserving aspect ratio: **`PYTHON`** ```python PYTHON from PIL import Image IMG_MAX_SIZE = 2048 with Image.open("page.png") as img: img.thumbnail( (IMG_MAX_SIZE, IMG_MAX_SIZE), Image.Resampling.LANCZOS ) if img.mode != "RGB": img = img.convert("RGB") img.save("page.webp", format="WEBP", quality=90) ``` ## Send a Parse Request **`PYTHON`** ```python PYTHON import os import base64 import cohere co = cohere.ClientV2( "COHERE_API_KEY" ) # Get your free API key here: https://dashboard.cohere.com/api-keys with open("page.webp", "rb") as f: b64 = base64.b64encode(f.read()).decode() data_uri = f"data:image/webp;base64,{b64}" response = co.parse( model="parse-v5.0", document={"type": "image_url", "image_url": data_uri}, ) for page in response.pages: print(page.markdown.content) ``` > Cohere's API documentation helps developers easily integrate natural language processing and generation into their products.