通用验证码在线识别服务
所有 API 请求需在 Header 中携带 API Key:
Authorization: Bearer dk_xxxxxxxxxxxx
API Key 通过管理后台(/admin)创建获取。每个 Key 可独立配置额度和 IP 白名单。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | File | 必填 | 验证码图片(支持 jpg/png/bmp) |
enhanced | Boolean | 可选 | true 启用自动预处理(去噪点、增强对比度等),适合带噪点/低对比度验证码 |
charset | String | 可选 | 字符集裁剪:digits(纯数字) / lower(小写) / upper(大写) / alpha(纯字母) / lower_digits(小写+数字) / upper_digits(大写+数字) / alnum(字母+数字)。缩小候选范围可显著提升准确率 |
length | Integer | 可选 | 期望识别位数。传入后若结果位数不一致会返回提示 |
# 基础识别 curl -X POST http(s)://your-address/api/ocr \ -H "Authorization: Bearer *** \ -F "file=@captcha.png" # 增强识别 + 位数校验(期望4位) curl -X POST http(s)://your-address/api/ocr \ -H "Authorization: Bearer *** \ -F "file=@captcha.png" \ -F "enhanced=true" \ -F "length=4"
响应示例(成功):
响应示例(智能重试后):
响应示例(字符集裁剪):
响应示例(位数不一致):
智能识别机制(v2.3):
| 识别阶段 | 触发条件 | 说明 |
|---|---|---|
| 默认模型 | 始终执行 | ddddocr 默认 OCR 模型直识别 |
| Beta 模型 | 置信度 < 0.5 | 使用 ddddocr beta 新模型交叉验证 |
| 颜色过滤 | 置信度 < 0.7 + 彩色图片 | 自动检测彩色验证码,按颜色(红/蓝/绿)过滤干扰 |
| 预处理策略 | 置信度 < 0.7 或位数不匹配 | 自适应阈值 / Otsu / 降噪 / 锐化 / 反色 / CLAHE |
| 投票机制 | 多候选结果 | 相同识别结果累计置信度加分,投票选最佳 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | File | 必填 | 待检测图片 |
curl -X POST http(s)://your-address/api/det \ -H "Authorization: Bearer dk_xxxxx" \ -F "file=@image.png"
响应示例:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
target | File | 必填 | 滑块缺口图片 |
bg | File | 必填 | 完整背景图片 |
curl -X POST http(s)://your-address/api/slide/match \ -H "Authorization: Bearer dk_xxxxx" \ -F "target=@slider.png" \ -F "bg=@background.png"
响应示例:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
target | File | 必填 | 滑块图片 |
bg | File | 必填 | 背景图片 |
curl -X POST http(s)://your-address/api/slide/compare \ -H "Authorization: Bearer dk_xxxxx" \ -F "target=@slider.png" \ -F "bg=@background.png"
响应示例:
无需鉴权,返回服务状态和已加载的模型。
| 状态码 | 说明 |
|---|---|
400 | 请求参数错误(图片过大等) |
401 | API Key 缺失或无效 |
403 | API Key 已禁用,或当前 IP 不在白名单中 |
429 | 请求过于频繁,或 API Key 额度已用完 |
500 | 服务内部错误(识别失败等) |
文件大小限制:8MB · 频率限制:30次/分钟/IP · 图片格式:JPG / PNG / BMP