{"id":"220555c6-c839-484d-9e67-e0ae422a2e62","entityType":"agent","slug":"clawhub-uday390-deepread-ocr","name":"DeepRead OCR","canonicalUrl":"https://www.xpersona.co/agent/clawhub-uday390-deepread-ocr","canonicalPath":"/agent/clawhub-uday390-deepread-ocr","generatedAt":"2026-10-09T11:57:10.256Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":null},"description":"AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u... Skill: DeepRead OCR Owner: uday390 Summary: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-03-31T16:16:31.607Z | user Added BYOK section and cross-links to all DeepRead skills (form-fill, PII, agent-setup, BYOK). v1.0.7 | 2026-02-12T06:05:21.719Z | user Ad","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 6.2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s175y6dzmtg4f4kcjrgmxvghcs83nk7k:deepread-ocr","sourceUrl":"https://clawhub.ai/uday390/deepread-ocr","homepage":"https://clawhub.ai/uday390/skills/deepread-ocr","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/uday390/deepread-ocr","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/uday390/skills/deepread-ocr","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":74,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":null},"stars":null,"forks":null,"downloads":6220,"packageName":null,"latestVersion":"1.1.0","tractionLabel":"6.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:28:26.370Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T03:28:26.371Z","lastCrawledAt":"2026-10-09T03:28:26.370Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T03:28:26.370Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.0","createdAt":"2026-03-31T16:16:31.607Z","changelog":"Added BYOK section and cross-links to all DeepRead skills (form-fill, PII, agent-setup, BYOK).","fileCount":4,"zipByteSize":7961},{"version":"1.0.7","createdAt":"2026-02-12T06:05:21.719Z","changelog":"Add Privacy & Data Flow section, clarify webhooks are optional and user-controlled, improve instruction scope for security scan","fileCount":3,"zipByteSize":6567},{"version":"1.0.6","createdAt":"2026-02-12T05:45:41.310Z","changelog":"Fix display name to DeepRead OCR","fileCount":3,"zipByteSize":6354},{"version":"1.0.5","createdAt":"2026-02-12T05:26:18.121Z","changelog":"- Added a title field (\"DeepRead OCR\") to the skill metadata. - No functional code or logic changes in this version. - Documentation update only; all usage and setup instructions remain the same.","fileCount":3,"zipByteSize":6354},{"version":"1.0.4","createdAt":"2026-02-11T06:11:37.447Z","changelog":"- Increased stated OCR accuracy from 95%+ to 97%+ in documentation. - Clarified and expanded description of Human-in-the-Loop (HIL) review, including a dedicated section and reference to the DeepRead HIL interface. - Updated configuration instructions to discourage hardcoding the API key and emphasize use of the environment variable. - Added details to feature list and documentation for the built-in HIL review and improved its explanation throughout. - General improvements to documentation clarity and accuracy, with no changes to code or functionality.","fileCount":3,"zipByteSize":6347},{"version":"1.0.3","createdAt":"2026-02-10T17:57:36.451Z","changelog":"Fix: declare DEEPREAD_API_KEY in requires.env/primaryEnv (single-line JSON), add disable-model-invocation to resolve security scan flags","fileCount":3,"zipByteSize":5915},{"version":"1.0.2","createdAt":"2026-02-10T17:51:41.280Z","changelog":"Fix credentials metadata: declare DEEPREAD_API_KEY in requires.env and primaryEnv to resolve OpenClaw security scan mismatch","fileCount":3,"zipByteSize":5903},{"version":"1.0.1","createdAt":"2026-02-01T17:54:16.742Z","changelog":"- Updated the description to highlight AI-native OCR, 95%+ accuracy, and reduced manual work (5–10%) via multi-model consensus. - Clarified value: high-accuracy data extraction from PDFs and images in minutes, with zero prompt engineering required. - Examples and feature lists now consistently describe human review flagging for uncertain fields, using `hil_flag`. - Language and bullet points made more concise to emphasize reliability, quality flags, and use cases. - No changes to API usage or configuration—documentation is streamlined for clarity and focus on outcomes.","fileCount":3,"zipByteSize":5840}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s175y6dzmtg4f4kcjrgmxvghcs83nk7k:deepread-ocr","setupComplexity":"low","setupSteps":["Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.","Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T11:57:10.254Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-uday390-deepread-ocr/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":null},"readme":"Skill: DeepRead OCR\n\nOwner: uday390\n\nSummary: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u...\n\nTags: latest:1.1.0\n\nVersion history:\n\nv1.1.0 | 2026-03-31T16:16:31.607Z | user\n\nAdded BYOK section and cross-links to all DeepRead skills (form-fill, PII, agent-setup, BYOK).\n\nv1.0.7 | 2026-02-12T06:05:21.719Z | user\n\nAdd Privacy & Data Flow section, clarify webhooks are optional and user-controlled, improve instruction scope for security scan\n\nv1.0.6 | 2026-02-12T05:45:41.310Z | user\n\nFix display name to DeepRead OCR\n\nv1.0.5 | 2026-02-12T05:26:18.121Z | user\n\n- Added a title field (\"DeepRead OCR\") to the skill metadata.\n- No functional code or logic changes in this version.\n- Documentation update only; all usage and setup instructions remain the same.\n\nv1.0.4 | 2026-02-11T06:11:37.447Z | user\n\n- Increased stated OCR accuracy from 95%+ to 97%+ in documentation.\n- Clarified and expanded description of Human-in-the-Loop (HIL) review, including a dedicated section and reference to the DeepRead HIL interface.\n- Updated configuration instructions to discourage hardcoding the API key and emphasize use of the environment variable.\n- Added details to feature list and documentation for the built-in HIL review and improved its explanation throughout.\n- General improvements to documentation clarity and accuracy, with no changes to code or functionality.\n\nv1.0.3 | 2026-02-10T17:57:36.451Z | user\n\nFix: declare DEEPREAD_API_KEY in requires.env/primaryEnv (single-line JSON), add disable-model-invocation to resolve security scan flags\n\nv1.0.2 | 2026-02-10T17:51:41.280Z | user\n\nFix credentials metadata: declare DEEPREAD_API_KEY in requires.env and primaryEnv to resolve OpenClaw security scan mismatch\n\nv1.0.1 | 2026-02-01T17:54:16.742Z | user\n\n- Updated the description to highlight AI-native OCR, 95%+ accuracy, and reduced manual work (5–10%) via multi-model consensus.\n- Clarified value: high-accuracy data extraction from PDFs and images in minutes, with zero prompt engineering required.\n- Examples and feature lists now consistently describe human review flagging for uncertain fields, using `hil_flag`.\n- Language and bullet points made more concise to emphasize reliability, quality flags, and use cases.\n- No changes to API usage or configuration—documentation is streamlined for clarity and focus on outcomes.\n\nv1.0.0 | 2026-01-31T07:20:42.719Z | auto\n\nInitial release of DeepRead OCR skill.\n\n- Production-ready OCR API with multi-pass, multi-model validation for PDFs.\n- Extracts text (markdown) and structured data (JSON) with confidence scores.\n- Intelligent AI-driven quality flags highlight fields needing human review (`hil_flag`).\n- Supports per-page results, complex/nested schemas, and reusable blueprints for specific document types.\n- Free tier includes up to 2,000 pages per month.\n- Detailed setup and usage examples provided for webhooks, polling, and advanced workflow options.\n\nArchive index:\n\nArchive v1.1.0: 4 files, 7961 bytes\n\nFiles: _meta.json (131b), package.json (619b), skill-card.md (2313b), SKILL.md (18160b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: deepread\ntitle: DeepRead OCR\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Human-in-the-Loop (HIL) Interface\n\nDeepRead includes a built-in Human-in-the-Loop (HIL) review system. The AI compares extracted text to the original image and sets `hil_flag` on each field:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Routed to human review\n\n**How HIL works:**\n1. Fields extracted with high confidence are auto-approved\n2. Uncertain fields are flagged with `hil_flag: true` and a `reason`\n3. Only flagged fields need human review (typically 5-10% of total fields)\n4. Review flagged fields in **DeepRead Preview** (`preview.deepread.tech`) — a dedicated HIL review interface where reviewers can see the original document side-by-side with extracted data, correct flagged fields, and approve results\n5. Or integrate with your own review queue using the `hil_flag` data in the API response\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Preview (HIL Review Interface)\n\nDeepRead Preview (`preview.deepread.tech`) is the built-in Human-in-the-Loop review interface. Reviewers can view the original document alongside extracted data, correct flagged fields, and approve results. Preview URLs can also be shared without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n## BYOK — Bring Your Own Key\n\nConnect your own OpenAI, Google, or OpenRouter API key via the dashboard. All OCR processing routes through YOUR provider account — zero DeepRead LLM costs, page quota skipped entirely.\n\nSet it up: https://www.deepread.tech/dashboard/byok\n\n## Related DeepRead Skills\n\n- **deepread-ocr** — Extract text and structured JSON from documents (this skill) — `clawhub install uday390/deepread-ocr`\n- **deepread-form-fill** — Fill any PDF form with AI vision — `clawhub install uday390/deepread-form-fill`\n- **deepread-pii** — Redact 14 types of PII from documents — `clawhub install uday390/deepread-pii`\n- **deepread-agent-setup** — Authenticate via OAuth device flow — `clawhub install uday390/deepread-agent-setup`\n- **deepread-byok** — Bring Your Own Key setup — `clawhub install uday390/deepread-byok`\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawhub\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1774973791607\n}\n\nFile v1.1.0:skill-card.md\n\n## Description:\n\nAI-native OCR platform that turns documents into high-accuracy data in minutes, using multi-model consensus to extract text and structured data while flagging uncertain fields for human review.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[uday390](https://clawhub.ai/user/uday390)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operations teams use this skill to configure agents for DeepRead document OCR workflows, including PDF and image text extraction, structured JSON extraction, webhook or polling flows, and review of uncertain fields.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Unauthenticated public preview links can expose uploaded document contents to anyone who has the URL.\n\nMitigation: Review DeepRead privacy, retention, BYOK, and preview-link controls before installing; avoid public previews or webhooks for sensitive documents unless the organization accepts the exposure model and has an approved data-processing arrangement.\n\nRisk: API keys may be exposed if copied into shared files, logs, or agent configuration.\n\nMitigation: Store the DeepRead key in DEEPREAD_API_KEY or another approved secret manager and avoid hardcoding credentials in Clawdbot configuration or examples.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/uday390/skills/deepread-ocr)\n- [DeepRead homepage](https://www.deepread.tech)\n- [DeepRead dashboard](https://www.deepread.tech/dashboard)\n- [DeepRead BYOK dashboard](https://www.deepread.tech/dashboard/byok)\n\n## Skill Output:\n\n**Output Type(s):** [markdown, shell commands, JSON, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline curl, JSON, JSON5, and Python examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires DEEPREAD_API_KEY and describes asynchronous processing, webhooks, polling, schemas, quality flags, preview links, rate limits, and BYOK setup.]\n\n## Skill Version(s):\n\n1.1.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.1.0:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.6\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}\n\nArchive v1.0.7: 3 files, 6567 bytes\n\nFiles: package.json (619b), SKILL.md (17278b), _meta.json (131b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: deepread\ntitle: DeepRead OCR\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Privacy & Data Flow\n\nThis skill only communicates with `api.deepread.tech`. All API calls require your `DEEPREAD_API_KEY`.\n\n- **Document upload**: Files are sent to `api.deepread.tech` for processing and are automatically deleted after processing completes\n- **Webhooks (optional)**: If you provide a `webhook_url`, processed results are posted to **your own endpoint** — this is entirely user-controlled and optional. No data is sent to any third-party endpoint\n- **No local data collection**: This skill does not read, store, or transmit any local files beyond what you explicitly upload via the API\n- **API key**: Stored locally in your environment variable `DEEPREAD_API_KEY` — never sent anywhere except `api.deepread.tech`\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: Poll for Results (Default)**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Poll for results\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Human-in-the-Loop (HIL) Interface\n\nDeepRead includes a built-in Human-in-the-Loop (HIL) review system. The AI compares extracted text to the original image and sets `hil_flag` on each field:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Routed to human review\n\n**How HIL works:**\n1. Fields extracted with high confidence are auto-approved\n2. Uncertain fields are flagged with `hil_flag: true` and a `reason`\n3. Only flagged fields need human review (typically 5-10% of total fields)\n4. Review flagged fields in **DeepRead Preview** (`preview.deepread.tech`) — a dedicated HIL review interface where reviewers can see the original document side-by-side with extracted data, correct flagged fields, and approve results\n5. Or integrate with your own review queue using the `hil_flag` data in the API response\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Optional)\n\nOptionally receive a callback when processing completes instead of polling. The webhook URL must be **your own endpoint** — DeepRead posts results only to the URL you specify. No data is sent to any third party.\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Security notes:**\n- Only provide webhook URLs to endpoints you own and control\n- Ensure your webhook endpoint uses HTTPS\n- DeepRead only posts to the URL you explicitly provide — no other external calls are made\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n### 3. Preview (HIL Review Interface)\n\nDeepRead Preview (`preview.deepread.tech`) is the built-in Human-in-the-Loop review interface. Reviewers can view the original document alongside extracted data, correct flagged fields, and approve results. Preview URLs can also be shared without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 2. Polling Strategy\n\nPoll every 5-10 seconds until processing completes:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 3. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Poll for results, or optionally use webhooks to your own endpoint\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1770876321719\n}\n\nFile v1.0.7:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.7\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}\n\nArchive v1.0.6: 3 files, 6354 bytes\n\nFiles: package.json (619b), SKILL.md (17306b), _meta.json (131b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: deepread\ntitle: DeepRead OCR\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Human-in-the-Loop (HIL) Interface\n\nDeepRead includes a built-in Human-in-the-Loop (HIL) review system. The AI compares extracted text to the original image and sets `hil_flag` on each field:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Routed to human review\n\n**How HIL works:**\n1. Fields extracted with high confidence are auto-approved\n2. Uncertain fields are flagged with `hil_flag: true` and a `reason`\n3. Only flagged fields need human review (typically 5-10% of total fields)\n4. Review flagged fields in **DeepRead Preview** (`preview.deepread.tech`) — a dedicated HIL review interface where reviewers can see the original document side-by-side with extracted data, correct flagged fields, and approve results\n5. Or integrate with your own review queue using the `hil_flag` data in the API response\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Preview (HIL Review Interface)\n\nDeepRead Preview (`preview.deepread.tech`) is the built-in Human-in-the-Loop review interface. Reviewers can view the original document alongside extracted data, correct flagged fields, and approve results. Preview URLs can also be shared without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1770875141310\n}\n\nFile v1.0.6:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.6\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}\n\nArchive v1.0.5: 3 files, 6354 bytes\n\nFiles: package.json (619b), SKILL.md (17306b), _meta.json (131b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: deepread\ntitle: DeepRead OCR\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Human-in-the-Loop (HIL) Interface\n\nDeepRead includes a built-in Human-in-the-Loop (HIL) review system. The AI compares extracted text to the original image and sets `hil_flag` on each field:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Routed to human review\n\n**How HIL works:**\n1. Fields extracted with high confidence are auto-approved\n2. Uncertain fields are flagged with `hil_flag: true` and a `reason`\n3. Only flagged fields need human review (typically 5-10% of total fields)\n4. Review flagged fields in **DeepRead Preview** (`preview.deepread.tech`) — a dedicated HIL review interface where reviewers can see the original document side-by-side with extracted data, correct flagged fields, and approve results\n5. Or integrate with your own review queue using the `hil_flag` data in the API response\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Preview (HIL Review Interface)\n\nDeepRead Preview (`preview.deepread.tech`) is the built-in Human-in-the-Loop review interface. Reviewers can view the original document alongside extracted data, correct flagged fields, and approve results. Preview URLs can also be shared without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1770873978121\n}\n\nFile v1.0.5:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.6\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}\n\nArchive v1.0.4: 3 files, 6347 bytes\n\nFiles: package.json (619b), SKILL.md (17286b), _meta.json (131b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: deepread\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Human-in-the-Loop (HIL) Interface\n\nDeepRead includes a built-in Human-in-the-Loop (HIL) review system. The AI compares extracted text to the original image and sets `hil_flag` on each field:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Routed to human review\n\n**How HIL works:**\n1. Fields extracted with high confidence are auto-approved\n2. Uncertain fields are flagged with `hil_flag: true` and a `reason`\n3. Only flagged fields need human review (typically 5-10% of total fields)\n4. Review flagged fields in **DeepRead Preview** (`preview.deepread.tech`) — a dedicated HIL review interface where reviewers can see the original document side-by-side with extracted data, correct flagged fields, and approve results\n5. Or integrate with your own review queue using the `hil_flag` data in the API response\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Preview (HIL Review Interface)\n\nDeepRead Preview (`preview.deepread.tech`) is the built-in Human-in-the-Loop review interface. Reviewers can view the original document alongside extracted data, correct flagged fields, and approve results. Preview URLs can also be shared without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1770790297447\n}\n\nFile v1.0.4:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.5\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}\n\nArchive v1.0.3: 3 files, 5915 bytes\n\nFiles: package.json (502b), SKILL.md (16226b), _meta.json (131b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: deepread\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **Quality Flags**: Human Review tagging for uncertain fields (`hil_flag`)\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true,\n        apiKey: \"sk_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Quality Review (hil_flag)\n\nAI compares extracted text to the original image and sets `hil_flag`:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Human review required\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Public Preview URLs\n\nShare OCR results without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1770746256451\n}\n\nFile v1.0.3:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.2.1\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\"\n}\n\nArchive v1.0.2: 3 files, 5903 bytes\n\nFiles: package.json (502b), SKILL.md (16250b), _meta.json (131b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: deepread\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\nmetadata:\n  {\n    \"openclaw\": {\n      \"requires\": {\n        \"env\": [\"DEEPREAD_API_KEY\"]\n      },\n      \"primaryEnv\": \"DEEPREAD_API_KEY\",\n      \"homepage\": \"https://www.deepread.tech\"\n    }\n  }\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **Quality Flags**: Human Review tagging for uncertain fields (`hil_flag`)\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true,\n        apiKey: \"sk_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Quality Review (hil_flag)\n\nAI compares extracted text to the original image and sets `hil_flag`:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Human review required\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Public Preview URLs\n\nShare OCR results without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_schema`\n```json\n{\"detail\": \"Schema must be valid JSON Schema\"}\n```\n**Solution:** Ensure schema is valid JSON and includes `type` and `properties`.\n\n### Error: `file_too_large`\n```json\n{\"detail\": \"File size exceeds 50MB limit\"}\n```\n**Solution:** Compress PDF or split into smaller files.\n\n### Job Status: `failed`\n```json\n{\"status\": \"failed\", \"error\": \"PDF could not be processed\"}\n```\n**Common causes:**\n- Corrupted PDF file\n- Password-protected PDF\n- Unsupported PDF version\n- Image quality too low for OCR\n\n## Example Schema Templates\n\n### Invoice Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"invoice_number\": {\n      \"type\": \"string\",\n      \"description\": \"Unique invoice ID\"\n    },\n    \"invoice_date\": {\n      \"type\": \"string\",\n      \"description\": \"Invoice date in MM/DD/YYYY format\"\n    },\n    \"vendor\": {\n      \"type\": \"string\",\n      \"description\": \"Vendor company name\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount due including tax\"\n    },\n    \"line_items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"description\": {\"type\": \"string\"},\n          \"quantity\": {\"type\": \"number\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Receipt Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"merchant\": {\n      \"type\": \"string\",\n      \"description\": \"Store or merchant name\"\n    },\n    \"date\": {\n      \"type\": \"string\",\n      \"description\": \"Transaction date\"\n    },\n    \"total\": {\n      \"type\": \"number\",\n      \"description\": \"Total amount paid\"\n    },\n    \"items\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\"type\": \"string\"},\n          \"price\": {\"type\": \"number\"}\n        }\n      }\n    }\n  }\n}\n```\n\n### Contract Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"parties\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Names of all parties in the contract\"\n    },\n    \"effective_date\": {\n      \"type\": \"string\",\n      \"description\": \"Contract start date\"\n    },\n    \"term_length\": {\n      \"type\": \"string\",\n      \"description\": \"Duration of contract\"\n    },\n    \"termination_clause\": {\n      \"type\": \"string\",\n      \"description\": \"Conditions for termination\"\n    }\n  }\n}\n```\n\n## Support & Resources\n\n- **GitHub**: https://github.com/deepread-tech\n- **Issues**: https://github.com/deepread-tech/deep-read-service/issues\n- **Email**:  hello@deepread.tech\n\n### Important Notes\n- **Processing Time**: 2-5 minutes (async, not real-time)\n- **Async Workflow**: Use webhooks (recommended) or polling\n- **Rate Limits**: 10 req/min on free tier\n- **File Size Limit**: 50MB per file\n- **Supported Formats**: PDF, JPG, JPEG, PNG\n\n---\n\n**Ready to start?** Get your free API key at https://www.deepread.tech/dashboard/?utm_source=clawdhub\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1770745901280\n}\n\nFile v1.0.2:package.json\n\n{\n  \"name\": \"deepread\",\n  \"version\": \"1.2.1\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\"\n}\n\nArchive v1.0.1: 3 files, 5840 bytes\n\nFiles: package.json (502b), SKILL.md (16057b), _meta.json (131b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: deepread\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 95%+ accuracy and flags only uncertain fields for review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **Quality Flags**: Human Review tagging for uncertain fields (`hil_flag`)\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true,\n        apiKey: \"sk_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-41d4-a716-446655440000 \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n## Usage Examples\n\n### Basic OCR (Text Only)\n\nExtract text as clean markdown:\n\n```bash\n# With webhook (recommended)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n\n# OR poll for completion\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\"\n\n# Then poll\ncurl https://api.deepread.tech/v1/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n```\n\n**Response when completed:**\n```json\n{\n  \"id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp\\n**Total:** $1,250.00...\"\n  }\n}\n```\n\n### Structured Data Extraction\n\nExtract specific fields with confidence scoring:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\n        \"type\": \"string\",\n        \"description\": \"Vendor company name\"\n      },\n      \"total\": {\n        \"type\": \"number\",\n        \"description\": \"Total invoice amount\"\n      },\n      \"invoice_date\": {\n        \"type\": \"string\",\n        \"description\": \"Invoice date in MM/DD/YYYY format\"\n      }\n    }\n  }'\n```\n\n**Response includes confidence flags:**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": {\n    \"text\": \"# INVOICE\\n\\n**Vendor:** Acme Corp...\",\n    \"data\": {\n      \"vendor\": {\n        \"value\": \"Acme Corp\",\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"total\": {\n        \"value\": 1250.00,\n        \"hil_flag\": false,\n        \"found_on_page\": 1\n      },\n      \"invoice_date\": {\n        \"value\": \"2024-10-??\",\n        \"hil_flag\": true,\n        \"reason\": \"Date partially obscured\",\n        \"found_on_page\": 1\n      }\n    },\n    \"metadata\": {\n      \"fields_requiring_review\": 1,\n      \"total_fields\": 3,\n      \"review_percentage\": 33.3\n    }\n  }\n}\n```\n\n### Complex Schemas (Nested Data)\n\nExtract arrays and nested objects:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F 'schema={\n    \"type\": \"object\",\n    \"properties\": {\n      \"vendor\": {\"type\": \"string\"},\n      \"total\": {\"type\": \"number\"},\n      \"line_items\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"description\": {\"type\": \"string\"},\n            \"quantity\": {\"type\": \"number\"},\n            \"price\": {\"type\": \"number\"}\n          }\n        }\n      }\n    }\n  }'\n```\n\n### Page-by-Page Breakdown\n\nGet per-page OCR results with quality flags:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@contract.pdf\" \\\n  -F \"include_pages=true\"\n```\n\n**Response:**\n```json\n{\n  \"result\": {\n    \"text\": \"Combined text from all pages...\",\n    \"pages\": [\n      {\n        \"page_number\": 1,\n        \"text\": \"# Contract Agreement\\n\\n...\",\n        \"hil_flag\": false\n      },\n      {\n        \"page_number\": 2,\n        \"text\": \"Terms and C??diti??s...\",\n        \"hil_flag\": true,\n        \"reason\": \"Multiple unrecognized characters\"\n      }\n    ],\n    \"metadata\": {\n      \"pages_requiring_review\": 1,\n      \"total_pages\": 2\n      }\n  }\n}\n```\n\n## When to Use This Skill\n\n### ✅ Use DeepRead For:\n\n- **Invoice Processing**: Extract vendor, totals, line items\n- **Receipt OCR**: Parse merchant, items, totals\n- **Contract Analysis**: Extract parties, dates, terms\n- **Form Digitization**: Convert paper forms to structured data\n- **Document Workflows**: Any process requiring OCR + data extraction\n- **Quality-Critical Apps**: When you need to know which extractions are uncertain\n\n### ❌ Don't Use For:\n\n- **Real-time Processing**: Processing takes 2-5 minutes (async workflow)\n- **Batch >2,000 pages/month**: Upgrade to PRO or SCALE tier\n\n## How It Works\n\n### Multi-Pass Pipeline\n\n```\nPDF → Convert → Rotate Correction → OCR → Multi-Model Validation → Extract → Done\n```\n\nThe pipeline automatically handles:\n- Document rotation and orientation correction\n- Multi-pass validation for accuracy\n- Cross-model consensus for reliability\n- Field-level confidence scoring\n\n### Quality Review (hil_flag)\n\nAI compares extracted text to the original image and sets `hil_flag`:\n\n- **`hil_flag: false`** = Clear, confident extraction → Auto-process\n- **`hil_flag: true`** = Uncertain extraction → Human review required\n\n**AI flags extractions when:**\n- Text is handwritten, blurry, or low quality\n- Multiple possible interpretations exist\n- Characters are partially visible or unclear\n- Field not found in document\n\n**This is multimodal AI determination, not rule-based.**\n\n## Advanced Features\n\n### 1. Blueprints (Optimized Schemas)\n\nCreate reusable, optimized schemas for specific document types:\n\n```bash\n# List your blueprints\ncurl https://api.deepread.tech/v1/blueprints \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint instead of inline schema\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**Benefits:**\n- 20-30% accuracy improvement over baseline schemas\n- Reusable across similar documents\n- Versioned with rollback support\n\n**How to create blueprints:**\n\n```bash\n# Create a blueprint from training data\ncurl -X POST https://api.deepread.tech/v1/optimize \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"utility_invoice\",\n    \"description\": \"Optimized for utility invoices\",\n    \"document_type\": \"invoice\",\n    \"initial_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"vendor\": {\"type\": \"string\", \"description\": \"Vendor name\"},\n        \"total\": {\"type\": \"number\", \"description\": \"Total amount\"}\n      }\n    },\n    \"training_documents\": [\"doc1.pdf\", \"doc2.pdf\", \"doc3.pdf\"],\n    \"ground_truth_data\": [\n      {\"vendor\": \"Acme Power\", \"total\": 125.50},\n      {\"vendor\": \"City Electric\", \"total\": 89.25}\n    ],\n    \"target_accuracy\": 95.0,\n    \"max_iterations\": 5\n  }'\n\n# Returns: {\"job_id\": \"...\", \"blueprint_id\": \"...\", \"status\": \"pending\"}\n\n# Check optimization status\ncurl https://api.deepread.tech/v1/blueprints/jobs/JOB_ID \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\"\n\n# Use blueprint (once completed)\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"blueprint_id=BLUEPRINT_ID\"\n```\n\n### 2. Webhooks (Recommended for Production)\n\nGet notified when processing completes instead of polling:\n\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@invoice.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n```\n\n**Your webhook receives this payload when processing completes:**\n```json\n{\n  \"job_id\": \"550e8400-...\",\n  \"status\": \"completed\",\n  \"created_at\": \"2025-01-27T10:00:00Z\",\n  \"completed_at\": \"2025-01-27T10:02:30Z\",\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/abc1234\"\n}\n```\n\n**Benefits:**\n- No polling required\n- Instant notification when done\n- Lower latency\n- Better for production workflows\n\n### 3. Public Preview URLs\n\nShare OCR results without authentication:\n\n```bash\n# Request preview URL\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"include_images=true\"\n\n# Get preview URL in response\n{\n  \"result\": {\n    \"text\": \"...\",\n    \"data\": {...}\n  },\n  \"preview_url\": \"https://preview.deepread.tech/Xy9aB12\"\n}\n```\n\n**Public Preview Endpoint:**\n```bash\n# No authentication required\ncurl https://api.deepread.tech/v1/preview/Xy9aB12\n```\n\n## Rate Limits & Pricing\n\n### Free Tier (No Credit Card)\n- **2,000 pages/month**\n- **10 requests/minute**\n- Full feature access (OCR + structured extraction + blueprints)\n\n### Paid Plans\n- **PRO**: 50,000 pages/month, 100 requests/minute @ $99/mo\n- **SCALE**: Custom volume pricing (contact sales)\n\n**Upgrade:** https://www.deepread.tech/dashboard/billing?utm_source=clawdhub\n\n### Rate Limit Headers\n\nEvery response includes quota information:\n```\nX-RateLimit-Limit: 2000\nX-RateLimit-Remaining: 1847\nX-RateLimit-Used: 153\nX-RateLimit-Reset: 1730419200\n```\n\n## Best Practices\n\n### 1. Use Webhooks for Production\n\n**✅ Recommended: Webhook notifications**\n```bash\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhook\"\n```\n\n**Only use polling if:**\n- Testing/development\n- Cannot expose a webhook endpoint\n- Need synchronous response\n\n### 2. Schema Design\n\n**✅ Good: Descriptive field descriptions**\n```json\n{\n  \"vendor\": {\n    \"type\": \"string\",\n    \"description\": \"Vendor company name. Usually in header or top-left of invoice.\"\n  }\n}\n```\n\n**❌ Bad: No description**\n```json\n{\n  \"vendor\": {\"type\": \"string\"}\n}\n```\n\n### 3. Polling Strategy (If Needed)\n\nOnly if you can't use webhooks, poll every 5-10 seconds:\n\n```python\nimport time\nimport requests\n\ndef wait_for_result(job_id, api_key):\n    while True:\n        response = requests.get(\n            f\"https://api.deepread.tech/v1/jobs/{job_id}\",\n            headers={\"X-API-Key\": api_key}\n        )\n        result = response.json()\n\n        if result[\"status\"] == \"completed\":\n            return result[\"result\"]\n        elif result[\"status\"] == \"failed\":\n            raise Exception(f\"Job failed: {result.get('error')}\")\n\n        time.sleep(5)\n```\n\n### 4. Handling Quality Flags\n\nSeparate confident fields from uncertain ones:\n\n```python\ndef process_extraction(data):\n    confident = {}\n    needs_review = []\n\n    for field, field_data in data.items():\n        if field_data[\"hil_flag\"]:\n            needs_review.append({\n                \"field\": field,\n                \"value\": field_data[\"value\"],\n                \"reason\": field_data.get(\"reason\")\n            })\n        else:\n            confident[field] = field_data[\"value\"]\n\n    # Auto-process confident fields\n    save_to_database(confident)\n\n    # Send uncertain fields to review queue\n    if needs_review:\n        send_to_review_queue(needs_review)\n```\n\n## Troubleshooting\n\n### Error: `quota_exceeded`\n```json\n{\"detail\": \"Monthly page quota exceeded\"}\n```\n**Solution:** Upgrade to PRO or wait until next billing cycle.\n\n### Error: `invalid_\n\nArchive v1.0.0: 3 files, 5797 bytes\n\nFiles: package.json (502b), SKILL.md (15839b), _meta.json (131b)","readmeExcerpt":"Skill: DeepRead OCR Owner: uday390 Summary: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-03-31T16:16:31.607Z | user Added BYOK section and cross-links to all DeepRead skills (form-fill, PII, agent-setup, BYOK). v1.0.7 | 2026-02-12T06:05:21.719Z | user Ad","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub"},{"language":"bash","snippet":"export DEEPREAD_API_KEY=\"sk_live_your_key_here\""},{"language":"json5","snippet":"{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"curl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\""},{"language":"bash","snippet":"# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)"},{"language":"bash","snippet":"curl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: deepread\ntitle: DeepRead OCR\ndescription: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\ndisable-model-invocation: true\nmetadata:\n  {\"openclaw\":{\"requires\":{\"env\":[\"DEEPREAD_API_KEY\"]},\"primaryEnv\":\"DEEPREAD_API_KEY\",\"homepage\":\"https://www.deepread.tech\"}}\n---\n\n# DeepRead - Production OCR API\n\nDeepRead is an AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only uncertain fields for Human-in-the-Loop (HIL) review—reducing manual work from 100% to 5-10%. Zero prompt engineering required.\n\n## What This Skill Does\n\nDeepRead is a production-grade document processing API that gives you high-accuracy structured data output in minutes with human review flagging so manual review is limited to the flagged exceptions\n\n**Core Features:**\n- **Text Extraction**: Convert PDFs and images to clean markdown\n- **Structured Data**: Extract JSON fields with confidence scores\n- **HIL Interface**: Built-in Human-in-the-Loop review — uncertain fields are flagged (`hil_flag`) so only exceptions need manual review\n- **Multi-Pass Processing**: Multiple validation passes for maximum accuracy\n- **Multi-Model Consensus**: Cross-validation between models for reliability\n- **Free Tier**: 2,000 pages/month (no credit card required)\n\n## Setup\n\n### 1. Get Your API Key\n\nSign up and create an API key:\n```bash\n# Visit the dashboard\nhttps://www.deepread.tech/dashboard\n\n# Or use this direct link\nhttps://www.deepread.tech/dashboard/?utm_source=clawdhub\n```\n\nSave your API key:\n```bash\nexport DEEPREAD_API_KEY=\"sk_live_your_key_here\"\n```\n\n### 2. Clawdbot Configuration (Optional)\n\nAdd to your `clawdbot.config.json5`:\n```json5\n{\n  skills: {\n    entries: {\n      \"deepread\": {\n        enabled: true\n        // API key is read from DEEPREAD_API_KEY environment variable\n        // Do NOT hardcode your API key here\n      }\n    }\n  }\n}\n```\n\n### 3. Process Your First Document\n\n**Option A: With Webhook (Recommended)**\n```bash\n# Upload PDF with webhook notification\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\" \\\n  -F \"webhook_url=https://your-app.com/webhooks/deepread\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Your webhook receives results when processing completes (2-5 minutes)\n```\n\n**Option B: Poll for Results**\n```bash\n# Upload PDF without webhook\ncurl -X POST https://api.deepread.tech/v1/process \\\n  -H \"X-API-Key: $DEEPREAD_API_KEY\" \\\n  -F \"file=@document.pdf\"\n\n# Returns immediately\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"status\": \"queued\"\n}\n\n# Poll until completed\ncurl https://api.deepread.tech/v1/jobs/550e8400-e29b-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn765kq6g78z48v5zqabc25tc9801j3p\",\n  \"slug\": \"deepread-ocr\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1774973791607\n}"},{"path":"skill-card.md","content":"## Description:\n\nAI-native OCR platform that turns documents into high-accuracy data in minutes, using multi-model consensus to extract text and structured data while flagging uncertain fields for human review.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[uday390](https://clawhub.ai/user/uday390)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operations teams use this skill to configure agents for DeepRead document OCR workflows, including PDF and image text extraction, structured JSON extraction, webhook or polling flows, and review of uncertain fields.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Unauthenticated public preview links can expose uploaded document contents to anyone who has the URL.\n\nMitigation: Review DeepRead privacy, retention, BYOK, and preview-link controls before installing; avoid public previews or webhooks for sensitive documents unless the organization accepts the exposure model and has an approved data-processing arrangement.\n\nRisk: API keys may be exposed if copied into shared files, logs, or agent configuration.\n\nMitigation: Store the DeepRead key in DEEPREAD_API_KEY or another approved secret manager and avoid hardcoding credentials in Clawdbot configuration or examples.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/uday390/skills/deepread-ocr)\n- [DeepRead homepage](https://www.deepread.tech)\n- [DeepRead dashboard](https://www.deepread.tech/dashboard)\n- [DeepRead BYOK dashboard](https://www.deepread.tech/dashboard/byok)\n\n## Skill Output:\n\n**Output Type(s):** [markdown, shell commands, JSON, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline curl, JSON, JSON5, and Python examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires DEEPREAD_API_KEY and describes asynchronous processing, webhooks, polling, schemas, quality flags, preview links, rate limits, and BYOK setup.]\n\n## Skill Version(s):\n\n1.1.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"package.json","content":"{\n  \"name\": \"deepread\",\n  \"version\": \"1.0.6\",\n  \"description\": \"Production OCR API for AI agents. Process PDFs and extract structured data with confidence scoring.\",\n  \"author\": \"DeepRead <hello@deepread.tech>\",\n  \"homepage\": \"https://www.deepread.tech\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/deepread-tech/deep-read-service\"\n  },\n  \"keywords\": [\n    \"ocr\",\n    \"pdf\",\n    \"extraction\",\n    \"document-processing\",\n    \"ai\",\n    \"structured-data\"\n  ],\n  \"license\": \"MIT\",\n  \"openclaw\": {\n    \"requires\": {\n      \"env\": [\"DEEPREAD_API_KEY\"]\n    },\n    \"primaryEnv\": \"DEEPREAD_API_KEY\"\n  }\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u... Skill: DeepRead OCR Owner: uday390 Summary: AI-native OCR platform that turns documents into high-accuracy data in minutes. Using multi-model consensus, DeepRead achieves 97%+ accuracy and flags only u... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-03-31T16:16:31.607Z | user Added BYOK section and cross-links to all DeepRead skills (form-fill, PII, agent-setup, BYOK). v1.0.7 | 2026-02-12T06:05:21.719Z | user Ad","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1353,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T03:28:26.371Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:57:10.256Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}