{
  "schemaVersion": "1.0",
  "item": {
    "slug": "extracting-mistral-ocr",
    "name": "Mistral PDF OCR",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/tristanmanchester/extracting-mistral-ocr",
    "canonicalUrl": "https://clawhub.ai/tristanmanchester/extracting-mistral-ocr",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/extracting-mistral-ocr",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=extracting-mistral-ocr",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/mistral_ocr_extract.py",
      "scripts/requirements.txt",
      "references/mistral_ocr_api.md",
      "references/output_mapping.md",
      "references/annotation_prompts.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/extracting-mistral-ocr"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/extracting-mistral-ocr",
    "agentPageUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent",
    "manifestUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Quick start (default)",
        "body": "Run the bundled script to OCR a local PDF and write Markdown + JSON outputs:\n\npython {baseDir}/scripts/mistral_ocr_extract.py --input path/to/file.pdf --out out/ocr\n\nOutput directory layout:\n\ncombined.md (all pages concatenated)\npages/page-000.md (per-page markdown)\nraw_response.json (full OCR response)\nimages/ (decoded embedded images, if requested)\ntables/ (separate tables, if requested)"
      },
      {
        "title": "Workflow",
        "body": "Pick input mode\n\nLocal PDF (most common): upload via Files API, then OCR via file_id.\nPublic URL: OCR directly via document_url.\n\n\n\nChoose output fidelity (defaults are safe for RAG)\n\nKeep table_format=inline unless the user explicitly wants tables split out.\nSet --include-image-base64 when the user needs figures/diagrams extracted.\nUse --extract-header/--extract-footer if header/footer noise hurts downstream search.\n\n\n\nRun OCR\n\nUse scripts/mistral_ocr_extract.py to produce a deterministic on-disk artefact set.\n\n\n\n(Optional) Structured extraction from the whole document\n\nIf the user wants fields (invoice totals, contract parties, etc.), provide an annotation prompt.\nThe OCR API can return a document-level document_annotation in addition to page markdown.\n\nExample:\npython {baseDir}/scripts/mistral_ocr_extract.py \\\n  --input invoice.pdf \\\n  --out out/invoice \\\n  --annotation-prompt \"Extract supplier_name, invoice_number, invoice_date (ISO-8601), currency, total_amount. Return JSON.\" \\\n  --annotation-format json_object"
      },
      {
        "title": "Decision rules",
        "body": "If the PDF is local and not publicly accessible, upload it (the script does this automatically).\nIf the PDF URL is private or requires authentication, do not pass it as document_url; upload instead.\nIf output quality is critical, prefer table_format=html for downstream parsing over brittle regex."
      },
      {
        "title": "Common failure modes",
        "body": "Missing MISTRAL_API_KEY: set it in the environment before running.\nURL OCR fails: the URL likely is not publicly accessible; upload the file.\nLarge files: upload supports large files, but very large PDFs may need page selection (--pages) or batch processing."
      },
      {
        "title": "References",
        "body": "API + parameters: references/mistral_ocr_api.md\nOutput mapping rules (placeholders to extracted images/tables): references/output_mapping.md\nExample annotation prompts for common document types: references/annotation_prompts.md"
      }
    ],
    "body": "Mistral OCR PDF extraction\nQuick start (default)\n\nRun the bundled script to OCR a local PDF and write Markdown + JSON outputs:\n\npython {baseDir}/scripts/mistral_ocr_extract.py --input path/to/file.pdf --out out/ocr\n\n\nOutput directory layout:\n\ncombined.md (all pages concatenated)\npages/page-000.md (per-page markdown)\nraw_response.json (full OCR response)\nimages/ (decoded embedded images, if requested)\ntables/ (separate tables, if requested)\nWorkflow\n\nPick input mode\n\nLocal PDF (most common): upload via Files API, then OCR via file_id.\nPublic URL: OCR directly via document_url.\n\nChoose output fidelity (defaults are safe for RAG)\n\nKeep table_format=inline unless the user explicitly wants tables split out.\nSet --include-image-base64 when the user needs figures/diagrams extracted.\nUse --extract-header/--extract-footer if header/footer noise hurts downstream search.\n\nRun OCR\n\nUse scripts/mistral_ocr_extract.py to produce a deterministic on-disk artefact set.\n\n(Optional) Structured extraction from the whole document\n\nIf the user wants fields (invoice totals, contract parties, etc.), provide an annotation prompt.\nThe OCR API can return a document-level document_annotation in addition to page markdown.\n\nExample:\n\npython {baseDir}/scripts/mistral_ocr_extract.py \\\n  --input invoice.pdf \\\n  --out out/invoice \\\n  --annotation-prompt \"Extract supplier_name, invoice_number, invoice_date (ISO-8601), currency, total_amount. Return JSON.\" \\\n  --annotation-format json_object\n\nDecision rules\nIf the PDF is local and not publicly accessible, upload it (the script does this automatically).\nIf the PDF URL is private or requires authentication, do not pass it as document_url; upload instead.\nIf output quality is critical, prefer table_format=html for downstream parsing over brittle regex.\nCommon failure modes\nMissing MISTRAL_API_KEY: set it in the environment before running.\nURL OCR fails: the URL likely is not publicly accessible; upload the file.\nLarge files: upload supports large files, but very large PDFs may need page selection (--pages) or batch processing.\nReferences\nAPI + parameters: references/mistral_ocr_api.md\nOutput mapping rules (placeholders to extracted images/tables): references/output_mapping.md\nExample annotation prompts for common document types: references/annotation_prompts.md"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tristanmanchester/extracting-mistral-ocr",
    "publisherUrl": "https://clawhub.ai/tristanmanchester/extracting-mistral-ocr",
    "owner": "tristanmanchester",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr",
    "downloadUrl": "https://openagent3.xyz/downloads/extracting-mistral-ocr",
    "agentUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent",
    "manifestUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/extracting-mistral-ocr/agent.md"
  }
}