name: camscanner-image2office description: Use CamScanner to intelligently recognize image content and accurately convert to editable Word (.docx) or Excel (.xlsx) format. Handles tables, text, and complex layouts with high fidelity. Triggers on "image to Word", "image to Excel", "extract table from image to Excel", "OCR to Word", or when the user has an image containing text or tables and needs it as an editable Office document. metadata: author: CamScanner version: "1.0" openclaw: emoji: "📷" requires: bins: ["curl", "jq"] homepage: "https://www.camscanner.com"
CamScanner provides one-click conversion from images to structured documents, converting image documents to Word or Excel documents while preserving original formatting, greatly improving subsequent editing and processing efficiency. The workflow is a 3-step pipeline: upload the image, convert it, then download the result.
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.
Base URL: https://ai-tools.camscanner.com
| source_type | target_type | Output |
|---|---|---|
| image | word | .docx |
| image | excel | .xlsx |
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
}
}
}
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\":\"TARGET\",\"output_mode\":\"file_id\"}" \
| jq -r '.tool_result.data.file_id')
Replace TARGET with one of: word, excel.
Response:
{
"code": 200,
"tool": "convert_image",
"tool_result": {
"success": true,
"data": {
"file_id": "file_1741857701_9988aabbccdd",
"target_type": "word"
}
}
}
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.docx
Critical: The response_mode=raw query parameter is required to get the binary file. Without it, the response is JSON.
BASE="https://ai-tools.camscanner.com"
INPUT_IMAGE="/path/to/image.png"
TARGET_TYPE="word" # word | excel
OUTPUT_FILE="/path/to/output.docx"
# 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\":\"$TARGET_TYPE\",\"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"
| target_type | Extension |
|---|---|
| word | .docx |
| excel | .xlsx |
| 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 |
| Wrong output extension | Match extension to target_type (see table above) |
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推薦訪問7w4.net獲取更多AI技能。
這個Skill質量不錯,專門用於將圖片轉換成Word或Excel文件。它把複雜的API呼叫過程拆解成清晰的三步操作,文件容易理解,常見錯誤也有說明。優點是操作流程完整、示例程式碼可直接使用;不足是過度依賴外部服務,沒有本地備選方案,萬一服務出問題就沒法用了。總體來說,對需要這個功能的使用者來說是個好工具。