CamScanner-Image2Markdown

v1.0.0

Use CamScanner to convert images to Markdown format, powered by a high-precision document parsing engine that intelligently decomposes paragraphs, precisely...

0· 90·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for camscanner-ai/camscanner-image2markdown-office.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "CamScanner-Image2Markdown" (camscanner-ai/camscanner-image2markdown-office) from ClawHub.
Skill page: https://clawhub.ai/camscanner-ai/camscanner-image2markdown-office
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: curl, jq
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install camscanner-image2markdown-office

ClawHub CLI

Package manager switcher

npx clawhub@latest install camscanner-image2markdown-office
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the SKILL.md steps (upload image to an OCR/convert API, then download a Markdown file). Required binaries (curl, jq) are exactly what the shell examples use and are proportionate.
Instruction Scope
The runtime instructions explicitly upload arbitrary local image files to https://ai-tools.camscanner.com and then download results. That is coherent with the stated purpose, but it means the agent (or user following instructions) will send potentially sensitive images to an external service. The SKILL.md also makes an unverified privacy claim ('Files are not permanently stored on the server') — this should not be taken as authoritative without checking CamScanner's official docs/terms.
Install Mechanism
Instruction-only skill with no install spec or code files: nothing is written to disk by the skill itself beyond any downloaded outputs the user explicitly requests.
Credentials
No environment variables, credentials, or config paths are requested. The lack of auth tokens is consistent with the example API calls, though it implies the service accepts unauthenticated uploads — a privacy/abuse consideration but not an incoherence.
Persistence & Privilege
The skill is user-invocable and not forced-always. However, because SKILL.md suggests automatically converting images when 'the user's input contains images', an autonomously-invoking agent could upload images without explicit per-request consent. Confirm agent invocation policies if you want to avoid automatic uploads.
Assessment
This skill will upload local image files to ai-tools.camscanner.com for conversion and then download a Markdown file; that is expected behavior for an OCR conversion service. Before installing or using it: (1) do not send sensitive images (PII, legal, medical, proprietary) until you verify the service's privacy/retention policy and that the domain is legitimate; (2) verify the endpoint and ownership (the SKILL.md claims 'CamScanner' but source/owner provenance is unknown); (3) if you need local-only processing, prefer a local OCR tool instead of sending files externally; (4) consider running a test with non-sensitive images and monitoring network activity; (5) ensure your agent's autonomous invocation settings won't cause unexpected uploads.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📷 Clawdis
Binscurl, jq
latestvk97eycwwt3mn4fy2mpmretr8yn84d1de
90downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

CamScanner Image to Markdown

Overview

CamScanner provides a high-precision document parsing engine that converts images to Markdown format. It intelligently decomposes document paragraphs, precisely recognizes tables and multiple element types, handles complex image scenarios, and outputs structured results in reading order — empowering large language models to accurately understand document content. The workflow is a 3-step pipeline: upload the image, convert it, then download the result.

When to Use

  • User wants to convert an image to Markdown
  • User wants to extract text/content from an image as Markdown (OCR)
  • User has a screenshot or photo with text, tables, or structured content
  • User's input contains images — convert to Markdown first, then use the extracted text to better understand and respond to the user's request

Privacy & Data

Important: Privacy & Data Flow Notice

  • Third-party service: This skill sends your files to CamScanner's official servers (ai-tools.camscanner.com) for processing.
  • Data retention: CamScanner servers process your files in real-time. Files are not permanently stored on the server.
  • Local files: Output files are saved to your local filesystem at the path you specify.

API Reference

Base URL: https://ai-tools.camscanner.com

Supported Conversions

source_typetarget_typeOutput
imagemd.md

Step 1: Upload Image

BASE="https://ai-tools.camscanner.com"

IN_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/upload_file/execute" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@/path/to/image.png" | jq -r '.tool_result.data.file_id')

Response:

{
  "code": 200,
  "tool": "upload_file",
  "tool_result": {
    "success": true,
    "data": {
      "file_id": "file_1741857600_ab12cd34ef56",
      "size": 24576
    }
  }
}

Step 2: Convert Image to Markdown

OUT_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/convert_image/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"source_type\":\"image\",\"target_type\":\"md\",\"output_mode\":\"file_id\"}" \
  | jq -r '.tool_result.data.file_id')

Response:

{
  "code": 200,
  "tool": "convert_image",
  "tool_result": {
    "success": true,
    "data": {
      "file_id": "file_1741857701_9988aabbccdd",
      "target_type": "md"
    }
  }
}

Step 3: Download Result

curl -sS -X POST "$BASE/v1/tools/download_file/execute?response_mode=raw" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$OUT_FILE_ID\"}" \
  -o /path/to/output.md

Critical: The response_mode=raw query parameter is required to get the binary file. Without it, the response is JSON.

Quick Reference: Complete Pipeline

BASE="https://ai-tools.camscanner.com"
INPUT_IMAGE="/path/to/image.png"
OUTPUT_FILE="/path/to/output.md"

# Upload
IN_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/upload_file/execute" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@$INPUT_IMAGE" | jq -r '.tool_result.data.file_id')

# Convert
OUT_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/convert_image/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"source_type\":\"image\",\"target_type\":\"md\",\"output_mode\":\"file_id\"}" \
  | jq -r '.tool_result.data.file_id')

# Download
curl -sS -X POST "$BASE/v1/tools/download_file/execute?response_mode=raw" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$OUT_FILE_ID\"}" \
  -o "$OUTPUT_FILE"

Common Mistakes

MistakeFix
Forgetting response_mode=raw on downloadAlways append ?response_mode=raw to the download URL
Wrong Content-Type on uploadUpload uses application/octet-stream, not multipart/form-data
Using GET instead of POSTAll three endpoints use POST
Missing source_type in convert requestAlways include "source_type": "image"
Missing output_mode in convert requestAlways include "output_mode": "file_id" to get a downloadable file_id

Error Handling

Check each step before proceeding:

# After upload
if [ -z "$IN_FILE_ID" ] || [ "$IN_FILE_ID" = "null" ]; then
  echo "Upload failed"; exit 1
fi

# After convert
if [ -z "$OUT_FILE_ID" ] || [ "$OUT_FILE_ID" = "null" ]; then
  echo "Conversion failed"; exit 1
fi

Comments

Loading comments...