camscanner-image-detect-aigc

Use CamScanner to detect whether an image was generated by an AI model (e.g. Stable Diffusion, Midjourney, DALL·E). Powered by an AIGC-detection engine that classifies an image as genuine, suspected AI-generated, or AI-generated, with a confidence score. Returns a JSON result containing `ai_check_result` (1/2/3), `confidence`, and `result_text`. Use when the user asks whether a photo is AI-generated, wants to verify an image's authenticity against AI generation, or asks "is this AI art / Stable Diffusion / Midjourney?". Triggers on "检测AI生成", "是不是AI画的", "AIGC检测", "AI图片识别", "detect AI-generated image", "is this AI art", "is this diffusion / midjourney", or when the user shares an image and asks whether it was produced by AI.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "camscanner-image-detect-aigc" with this command: npx skills add CamScanner/camscanner-image-detect-aigc

CamScanner Image Detect AIGC

Overview

CamScanner provides an AIGC-detection engine that determines whether an image was produced by an AI generator. The workflow is a 2-step pipeline: upload the image, then validate it with validate_mode: 2. Unlike conversion skills, this skill does not produce a file — the validate step returns a JSON result whose key fields (ai_check_result, confidence, result_text) should be reported back to the user directly.

When to Use

  • User asks whether an image was generated by AI (Stable Diffusion, Midjourney, DALL·E, etc.)
  • User wants to distinguish a real photo from AI-generated artwork
  • User asks "is this AI art / AI-generated?" or similar authenticity questions
  • User shares an image and explicitly asks whether it came from a generative model

Presenting the Result

  • Always read ai_check_result, confidence, and result_text from the response and report them in plain language.
  • Map ai_check_result to a verdict: 1 = not AI-generated, 2 = suspected AI-generated, 3 = AI-generated.
  • Include the confidence value (a float in [0, 1]) so the user understands how certain the verdict is.
  • Match the user's language. result_text is returned in Chinese by the API. If the user asked in English (or any other language), translate/rephrase it into that language. If the user asked in Chinese, you can use result_text as-is.
  • Do not overstate the verdict: "suspected AI-generated" is not the same as "AI-generated".

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.
  • Result: Only a JSON detection result is returned — no file is downloaded.

API Reference

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

Supported Validations

source_typevalidate_modeDetectionEngine
image2AIGC (AI-generated)aigcdetection

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.jpg" | jq -r '.tool_result.data.file_id')

Response:

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

Step 2: Validate Image (Detect AIGC)

curl -sS -X POST "$BASE/v1/tools/validate_image/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"validate_mode\":2}"

Response (suspected AI-generated example):

{
  "code": 200,
  "tool": "validate_image",
  "tool_result": {
    "success": true,
    "data": {
      "ai_check_result": 2,
      "confidence": 0.346435546875,
      "engine": "aigcdetection",
      "file_id": "file_xxx.jpg",
      "result_text": "检测结果为疑似 AI 生成图片",
      "review_state": "auto_checked",
      "validate_mode": 2
    },
    "metadata": {
      "ai_check_result": 2,
      "confidence": 0.346435546875,
      "engine": "aigcdetection",
      "result_text": "检测结果为疑似 AI 生成图片",
      "review_state": "auto_checked",
      "validate_mode": 2
    }
  }
}

Interpreting the Result

FieldTypeMeaning
ai_check_resultinteger1 = not AI-generated, 2 = suspected AI-generated, 3 = AI-generated
confidencefloatModel confidence score in [0, 1]
result_textstringHuman-readable conclusion (Chinese by default — translate for other languages)
review_statestringReview status (e.g. auto_checked) — informational, not user-facing
validate_modeintegerEcho of the requested mode (always 2 for AIGC detection)

Verdict Mapping

ai_check_resultVerdictSuggested phrasing (EN)
1Not AI-generated"Looks like a real image"
2Suspected AI-generated"Suspected to be AI-generated"
3AI-generated"Detected as AI-generated"

Quick Reference: Complete Pipeline

Detect whether an image is AI-generated (two-step, reads JSON result):

BASE="https://ai-tools.camscanner.com"
INPUT_IMAGE="/path/to/image.jpg"

# 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')

# Validate and extract key fields
RESULT=$(curl -sS -X POST "$BASE/v1/tools/validate_image/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"validate_mode\":2}")

AI_CHECK=$(echo "$RESULT" | jq -r '.tool_result.data.ai_check_result')
CONFIDENCE=$(echo "$RESULT" | jq -r '.tool_result.data.confidence')
RESULT_TEXT=$(echo "$RESULT" | jq -r '.tool_result.data.result_text')

echo "ai_check_result: $AI_CHECK"
echo "confidence:      $CONFIDENCE"
echo "result_text:     $RESULT_TEXT"

Common Mistakes

MistakeFix
Wrong Content-Type on uploadUpload uses application/octet-stream, not multipart/form-data
Using GET instead of POSTBoth endpoints use POST
Passing validate_mode as a stringvalidate_mode is an integer — use 2, not "2"
Including output_mode in the requestvalidate_image does not use output_mode; it always returns JSON
Treating ai_check_result as booleanIt is a 3-state integer (1/2/3); map explicitly to a verdict
Reporting "suspected" as "AI-generated"ai_check_result == 2 means suspected, not confirmed — phrase accordingly
Reporting result_text verbatim in ENresult_text is Chinese; translate to match the user's language

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 validate
if [ "$AI_CHECK" = "null" ] || [ -z "$AI_CHECK" ]; then
  echo "Validation failed"; exit 1
fi

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gpt Image2 Zh

使用 GPT Image 2(OpenAI gpt-image-2)生成高质量图片。由虾聊(ClawdChat)提供支持。当用户要求创建、生成、绘制图片,或提到 GPT 画图、gpt-image-2、OpenAI 生图,或需要精确文字渲染(海报/信息图/菜单字)、多元素指令跟随、图生图保人保物,或使用吉卜力/Pi...

Registry SourceRecently Updated
General

Sendbl

Create sendbl file-exchange links — request files from someone, send a file, check link status, list files in a link, or delete a link. Use when the user wan...

Registry SourceRecently Updated
General

商家GEO推手

中小商家免费GEO优化助手。当商家老板需要以下场景时触发: - 发布企业宣传信息到自媒体平台 - 生成符合SEO/GEO优化的文章内容 - 管理企业在抖音、小红书、知乎、百家号、头条号、搜狐号、网易号、快手等平台的品牌内容 - 上传营业执照、门头照片等产品资料自动生成宣传文案 - 客户案例包装和企业口碑内容创作...

Registry SourceRecently Updated
General

小龙虾备忘录

小龙虾备忘录 — 记录即时想法,让 AI 更好辅助创作

Registry SourceRecently Updated