山海印SHANHAIYIN

山海印 API 文档

注册用户可以申请 API Key,把图片、文字、音频和视频鉴别接入自己的后台、工作流或外部工具。

更新日期:2026年8月19日

适用场景

API 适合需要把山海印鉴别能力接入内部系统的团队,例如内容审核后台、商家申诉取证流程、 自动化工作流、插件、脚本或其他服务端工具。API 调用使用你的山海印账户点数, 检测结论、请求编号和内容指纹与网页端保持同一套口径。

如果只是偶尔检测文件,直接使用网页或小程序即可;如果需要系统自动提交检测、保存结果或与业务记录关联, 再使用 API 更合适。

基础信息

Base URLhttps://shanhaiyin.com
返回格式application/json
认证方式请求头携带 API Key,推荐使用 Authorization: Bearer
计费方式调用检测接口消耗账户点数;音频和视频按服务器读取到的真实时长向上取整

申请 API Key

登录后进入 账户中心的 API 调用 创建 API Key。 每个账户最多保留 10 个有效 API Key,可以随时作废。完整密钥只在创建时显示一次, 请立即复制并保存到你的服务端环境变量或密钥管理系统。

API Key 不要写进网页前端、小程序包、移动 App 或公开代码仓库。发现泄露时,先在账户中心作废旧 Key, 再创建新的 Key。

认证方式

所有公开 API 请求都需要在 Header 中携带 API Key。推荐写法:

Authorization: Bearer shy_live_your_key
Content-Type: application/json

上传文件时由客户端自动生成 multipart 边界,通常只需要设置授权头:

Authorization: Bearer shy_live_your_key
Content-Type: multipart/form-data

也兼容以下请求头:

X-Shanhaiyin-Api-Key: shy_live_your_key

接口总览与扣点

MethodPathContent-Type消耗点数用途
POST/api/v1/images/analyzemultipart/form-data1 点 / 张图片 AI 生成、来源标识和像素线索检测。
POST/api/v1/text/analyzeapplication/json1 点 / 次文字 AI 写作特征检测。
POST/api/v1/audio/analyzemultipart/form-data3 点 / 开始分钟创建音频异步检测任务。
POST/api/v1/video/analyzemultipart/form-data8 点 / 开始分钟创建视频异步检测任务。
GET/api/v1/media-status/{jobId}-不重复扣点查询音频或视频任务进度与结果。

音频和视频不足 1 分钟按 1 分钟计,超出部分按整分钟向上取整;最终以服务器读取的文件时长为准。

图片检测接口

MethodPOST
Path/api/v1/images/analyze
Content-Typemultipart/form-data
消耗点数1 点 / 张
用途分析图片中的 AI 生成、来源标识、C2PA / 国标元数据和像素复核线索。

请求字段

字段类型必填说明
imagefile需要检测的图片文件。当前支持 JPG / JPEG / PNG / WebP / GIF / BMP,最大 20MB。

返回示例

{
  "ok": true,
  "provider": "shanhaiyin",
  "service": "image-aigc-detector",
  "requestId": "SHY-20260819-ABC12345",
  "riskLevel": "high",
  "modelScore": 96.5,
  "detected": true,
  "modelDecision": "Block",
  "results": [
    {
      "label": "aigc",
      "confidence": 96.5,
      "description": "模型发现较强的 AI 生成或深度伪造特征",
      "riskLevel": "high"
    }
  ],
  "fileHash": "e3566ed2eb18...e0d7c03848",
  "detectedAt": "2026-08-19T08:00:00+00:00",
  "billing": {
    "charged": true,
    "channel": "api",
    "units": 1
  }
}

curl 示例

curl -X POST https://shanhaiyin.com/api/v1/images/analyze \
  -H "Authorization: Bearer shy_live_your_key" \
  -F "image=@/path/to/image.jpg"

文字检测接口

MethodPOST
Path/api/v1/text/analyze
Content-Typeapplication/json
消耗点数1 点 / 次
用途分析文本中的 AI 写作、辅助生成或机器改写特征。

请求示例

{
  "text": "这里放需要检测的文字内容,当前限制为 350 到 2000 个字符。"
}

请求字段

字段类型必填说明
textstring需要检测的文本。当前限制为 350 到 2000 个字符。

返回说明

文字接口为同步返回,字段结构与图片检测一致,会额外返回 textHashtextLengthbillingUnits

curl 示例

curl -X POST https://shanhaiyin.com/api/v1/text/analyze \
  -H "Authorization: Bearer shy_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"text":"这里放需要检测的文字内容,当前限制为 350 到 2000 个字符。"}'

音频检测接口

MethodPOST
Path/api/v1/audio/analyze
Content-Typemultipart/form-data
消耗点数3 点 / 开始分钟
用途上传音频并创建异步检测任务,随后用 jobId 查询结果。

请求字段

字段类型必填说明
audiofile需要检测的音频文件。当前支持 WAV / MP3 / AAC / FLAC / AMR / 3GP / M4A / WMA / OGG / APE,最大 100MB。

创建任务返回示例

{
  "ok": true,
  "status": "processing",
  "jobId": "9f1c4a2b3d4e5f60718293a4b5c6d7e8",
  "mediaKind": "audio",
  "durationSeconds": 73.42,
  "billingMinutes": 2,
  "retryAfter": 3,
  "billing": {
    "charged": true,
    "channel": "api",
    "units": 6
  }
}

curl 示例

curl -X POST https://shanhaiyin.com/api/v1/audio/analyze \
  -H "Authorization: Bearer shy_live_your_key" \
  -F "audio=@/path/to/audio.mp3"

视频检测接口

MethodPOST
Path/api/v1/video/analyze
Content-Typemultipart/form-data
消耗点数8 点 / 开始分钟
用途上传视频并创建异步检测任务,随后用 jobId 查询结果。

请求字段

字段类型必填说明
videofile需要检测的视频文件。当前支持 FLV / MKV / MP4 / RMVB / AVI / WMV / 3GP / TS / MOV / RM / MPEG / MPG,最大 200MB。

创建任务返回示例

{
  "ok": true,
  "status": "processing",
  "jobId": "9f1c4a2b3d4e5f60718293a4b5c6d7e8",
  "mediaKind": "video",
  "durationSeconds": 73.42,
  "billingMinutes": 2,
  "retryAfter": 3,
  "billing": {
    "charged": true,
    "channel": "api",
    "units": 16
  }
}

curl 示例

curl -X POST https://shanhaiyin.com/api/v1/video/analyze \
  -H "Authorization: Bearer shy_live_your_key" \
  -F "video=@/path/to/video.mp4"

查询音视频任务

MethodGET
Path/api/v1/media-status/{jobId}
认证请求头携带 API Key
消耗点数不重复扣点
用途查询音频或视频任务进度;任务完成后返回正式检测结果。

路径参数

字段类型必填说明
jobIdstring创建音频或视频检测任务时返回的任务编号。

处理中返回示例

{
  "ok": true,
  "status": "processing",
  "jobId": "9f1c4a2b3d4e5f60718293a4b5c6d7e8",
  "mediaKind": "video",
  "retryAfter": 3
}

完成后返回示例

{
  "ok": true,
  "provider": "shanhaiyin",
  "service": "video-aigc-detector",
  "requestId": "SHY-20260819-DEF67890",
  "providerTaskId": "w-video-aigc-xxx",
  "riskLevel": "high",
  "modelScore": 99,
  "detected": true,
  "modelDecision": "Block",
  "fileHash": "4f15e6d23d...87eaf894",
  "fileName": "video.mp4",
  "results": [
    {
      "label": "video_aigc",
      "confidence": 99,
      "description": "模型发现较强的 AI 生成视频画面特征",
      "riskLevel": "high"
    }
  ],
  "billing": {
    "charged": true,
    "channel": "api",
    "units": 16
  }
}

curl 示例

curl https://shanhaiyin.com/api/v1/media-status/9f1c4a2b3d4e5f60718293a4b5c6d7e8 \
  -H "Authorization: Bearer shy_live_your_key"

通用返回字段

字段类型说明
okboolean请求是否成功。成功为 true,失败为 false。
providerstring固定为 shanhaiyin,表示由山海印统一返回。
servicestring检测服务类型,例如 image-aigc-detector、text-aigc-detector、audio-aigc-detector、video-aigc-detector。
requestIdstring本次检测请求编号,可用于客服核对和报告留档。
riskLevelstring风险等级,可能为 low、medium、high。
modelScorenumber模型返回或归一化后的 AI 可能性分数,范围 0 到 100。
detectedboolean是否检测到 AI 生成、合成或明显辅助编辑特征。
modelDecisionstring模型判断状态,通常为 Pass、Review 或 Block。
resultsarray主要检测依据列表,每项包含 label、confidence、description 和 riskLevel。
fileHash / textHashstring文件或文本的 SHA-256 指纹,用于确认报告对应的原始内容。
billingobject本次调用的扣点信息,包含 charged、channel、units 等字段。

错误格式与常见错误码

错误格式

{
  "ok": false,
  "code": "INSUFFICIENT_POINTS",
  "message": "点数不足,请充值后再进行图片鉴别。"
}
HTTPcode说明
400IMAGE_REQUIRED / MEDIA_REQUIRED / TEXT_TOO_SHORT缺少必要字段,或文本长度低于当前限制。
401API_AUTH_REQUIREDAPI Key 缺失、错误、已作废,或账户不可用。
402INSUFFICIENT_POINTS账户点数不足,请先充值。
413IMAGE_TOO_LARGE / MEDIA_TOO_LARGE / TEXT_TOO_LONG上传文件或文本超过当前限制。
415UNSUPPORTED_IMAGE_TYPE / UNSUPPORTED_MEDIA_TYPE文件格式暂不支持。
422MEDIA_DURATION_UNREADABLE服务器无法读取音频或视频时长,请确认文件完整且可播放。
429GLOBAL_HOURLY_POINT_LIMIT触发全站安全闸门,请稍后重试。
502 / 503DETECTOR_REQUEST_FAILED / DETECTOR_NOT_CONFIGURED检测服务、云端任务或上游模型暂时不可用。

API 返回结果是技术参考,不应单独作为司法、行政或平台最终认定。重要场景请结合原文件、 订单记录、传播记录和人工复核。

开始使用

先创建 API Key,再确认账户点数充足。需要补充点数时可前往 点数充值

进入账户中心申请 API Key