DeepSeek OCR-2 Demo

Extract text from documents with state-of-the-art vision AI running on a Modal serverless GPU.

Ready

Upload

Drag & drop a PDF or image

Or click to choose a file (PDF, PNG, JPG).

Or try an example:

?
No file selected
Select a file or try an example

Prompt

PDF settings

These apply only to PDFs.

Streaming output

Upload a file to start.
Beyond the Demo

Hello from the author! If you enjoyed this demo, I'm building Puppy Docs — a document manager powered by the same OCR tech, with advanced search and organization. Join the waitlist to get early access when it launches!

Prompt compatibility matrix

Hover a cell to see the rationale. Click to inspect the captured output.

Evaluated36/36
Generated2026-01-28T02:42:04.360575+00:00
Examples \ Prompts
Free Ocr
Document
Image
Figure
General
Rec
📰Newspaper
📄Academic
📊Slides
📋Tables
🖼️Photo w/ Text
🏞️Scene
Green: stable Yellow: partial Red: loop/failure Not evaluated

Use the OpenAI client with a custom base URL and API key to access the DeepSeek OCR-2 model. This is an honor system. Please limit your concurrency (10 is ok) and try not to overload the free demo server.

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "whale",
  baseURL: "https://deepseek-ocr-v2-demo.vercel.app/api/v1",
});

const resp = await client.chat.completions.create({
  model: "deepseek-ocr-2",
  messages: [
    {
      role: "user",
      content: [
        { type: "text", text: "Free OCR." },
        { type: "image_url", image_url: { url: "data:image/png;base64,..." } },
      ],
    },
  ],
});

console.log(resp.choices[0].message.content);

cURL example:

curl https://deepseek-ocr-v2-demo.vercel.app/api/v1/chat/completions \
  -H "Authorization: Bearer whale" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ocr-2",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "Free OCR." },
          { "type": "image_url", "image_url": { "url": "data:image/png;base64,..." } }
        ]
      }
    ]
  }'