怎么传图
POST /v1/image/classify,两个字段二选一。 同时接受 camelCase 写法,从上游文档直接迁移过来的代码不必改写字段名。
| 字段 | 等价写法 | 说明 |
|---|---|---|
image_url | imageUrl | 图片的公网可访问地址(http / https)。上游需要能直接下载到图片,内网地址、需要登录或带防盗链的地址都取不到。 |
image_base64 | imageBase64 | 图片内容的 Base64 编码。适合本地文件、需要鉴权的图床,或不希望图片被上游直接回源的场景。 |
输入限制
以下约束来自上游检测模型的输入要求,不是本站额外加的限制——不符合时会在调用上游之前就被拒绝, 不会产生扣费。
| 图片格式 | jpg / png / webp |
| 图片尺寸 | 需大于 300×300 像素 |
| 单张大小 | 解码后不超过 10MB |
| 请求体大小 | 整体不超过 16MB |
图片过小时可用于判别的细节不足,模型输出的置信度会明显失真(常见表现是无论内容如何都给出接近中性的分数)。 需要检测缩略图时,建议取原图或更大的版本。
返回字段
任务成功后,result 的结构是 { status, data: { confidence } }:
status:上游返回的执行状态,success表示本次检测有效。data.confidence:AI 生成置信度, 0~1 之间的小数,越接近 1 表示模型越倾向于判定为 AI 生成。
图片结果没有 segment_labels——分段与波形图是文本检测独有的,图片只有这一个整体分数。
调用示例
请求示例 · cURL
# 1. 提交检测任务(提交即扣费,务必携带 Idempotency-Key)
curl -X POST https://your-domain.com/v1/image/classify \
-H "Authorization: Bearer sk-zq-你的密钥" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(cat /proc/sys/kernel/random/uuid)" \
-d '{"image_url":"https://example.com/photo.jpg"}'
# 2. 用返回的 task_id 轮询结果(pending / running / succeeded / failed)
curl https://your-domain.com/v1/tasks/<task_id> \
-H "Authorization: Bearer sk-zq-你的密钥"请求示例 · Python
import base64, time, uuid, requests
BASE = "https://your-domain.com"
KEY = "sk-zq-你的密钥"
HEAD = {"Authorization": "Bearer " + KEY, "Content-Type": "application/json"}
# 方式一:公网可访问的图片地址
payload = {"image_url": "https://example.com/photo.jpg"}
# 方式二:本地文件转 Base64(与 image_url 二选一)
# with open("photo.jpg", "rb") as f:
# payload = {"image_base64": base64.b64encode(f.read()).decode()}
task = requests.post(
BASE + "/v1/image/classify",
headers=dict(HEAD, **{"Idempotency-Key": str(uuid.uuid4())}),
json=payload,
).json()["data"]
# 异步任务:提交后不会立刻出结果,需要轮询
while task["status"] in ("pending", "running"):
time.sleep(1)
task = requests.get(BASE + "/v1/tasks/" + task["task_id"], headers=HEAD).json()["data"]
print(task["status"], task["result"]["data"]["confidence"])响应示例
{
"code": "ok",
"data": {
"task_id": "01J8Z9K3M7X2Q4R6T8V0W1Y5BC",
"provider": "zhuque-image",
"status": "succeeded",
"cost": "0.0500",
"result": {
"status": "success",
"data": { "confidence": 0.9312 }
}
}
}典型场景
- AI 绘图识别。判断投稿、商品图或素材图是否由绘图模型生成,作为人工复核的初筛依据。
- UGC 平台的图片合规。用户上传图片时同步提交检测,高置信度结果进入人工队列,其余直接放行。
- 素材来源核查。在采购或入库流程中对图片来源做批量核验,逐张提交、逐张计费。
更完整的错误码、退款规则与用量上限见 接口文档。
常见问题
图片用 URL 还是 Base64 传?+
两种都支持,二选一:image_url 传公网可访问的 http/https 地址(上游需要能直接下载到图片,内网地址、需要登录的地址都取不到);image_base64 传图片内容的 Base64 编码,适合本地文件、需要鉴权的图床。字段同时接受 camelCase 写法 imageUrl / imageBase64。
支持哪些图片格式和尺寸?+
jpg、png、webp 三种格式;图片需大于 300×300 像素,单张解码后不超过 10MB,整个请求体不超过 16MB。这三个限制来自上游模型的输入要求,本站只是如实转达——尺寸或格式不符时会在调用上游前就被拒绝。
为什么要求图片大于 300×300 像素?+
这是上游检测模型的输入约束,不是本站额外加的限制。图片过小时可用于判别的细节不足,模型输出的置信度会明显失真(常见表现是无论内容如何都给出接近中性的分数)。需要检测缩略图或小图时,建议先取原图或更大的版本。
图片检测结果里有什么?+
result 里是 { status, data: { confidence } }:data.confidence 是 AI 生成置信度(0 到 1 之间的小数),越接近 1 表示模型越倾向于判定为 AI 生成。图片检测没有分段数据,因此不像文本那样有 segment_labels 与波形图。
能批量检测图片吗?+
接口按单张提交,批量需要循环调用,每张独立计费、独立扣费。因为是异步任务模型,可以并发提交多张后统一轮询,但受账号的每秒提交上限约束(默认 2 次/秒),批量场景建议在客户端做限速与重试。
相关页面
注册即赠体验金,先把全流程跑通再充值