← Back to Skills Marketplace
camscanner-ai

CamScanner-Image2Markdown

by CamScanner-AI · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
88
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install camscanner-image2markdown-office
Description
Use CamScanner to convert images to Markdown format, powered by a high-precision document parsing engine that intelligently decomposes paragraphs, precisely...
README (SKILL.md)

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_type target_type Output
image md .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

Mistake Fix
Forgetting response_mode=raw on download Always append ?response_mode=raw to the download URL
Wrong Content-Type on upload Upload uses application/octet-stream, not multipart/form-data
Using GET instead of POST All three endpoints use POST
Missing source_type in convert request Always include "source_type": "image"
Missing output_mode in convert request Always 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
Usage Guidance
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.
Capability Analysis
Type: OpenClaw Skill Name: camscanner-image2markdown-office Version: 1.0.0 The skill provides a legitimate interface for converting images to Markdown using the CamScanner API (ai-tools.camscanner.com). It utilizes standard system utilities (curl, jq) to implement a transparent 3-step pipeline (upload, convert, download) and includes clear documentation regarding third-party data processing. No evidence of malicious intent, data exfiltration, or unauthorized execution was found.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install camscanner-image2markdown-office
  3. After installation, invoke the skill by name or use /camscanner-image2markdown-office
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of camscanner-image2markdown: convert images (PNG, JPG, etc.) to structured Markdown format using a high-precision OCR and document parsing engine. - Precisely extracts and recognizes text, tables, code, and complex layouts; outputs content in reading order. - Designed for scenarios where images contain text or structured data, or when user input includes images to better facilitate understanding and response. - Secure processing: images are sent to CamScanner's official servers for conversion; files are not permanently stored. - Simple 3-step CLI workflow: upload image, convert to Markdown, download result.
Metadata
Slug camscanner-image2markdown-office
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is CamScanner-Image2Markdown?

Use CamScanner to convert images to Markdown format, powered by a high-precision document parsing engine that intelligently decomposes paragraphs, precisely... It is an AI Agent Skill for Claude Code / OpenClaw, with 88 downloads so far.

How do I install CamScanner-Image2Markdown?

Run "/install camscanner-image2markdown-office" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is CamScanner-Image2Markdown free?

Yes, CamScanner-Image2Markdown is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does CamScanner-Image2Markdown support?

CamScanner-Image2Markdown is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created CamScanner-Image2Markdown?

It is built and maintained by CamScanner-AI (@camscanner-ai); the current version is v1.0.0.

💬 Comments