SolveHub

验证码类型 · ocr

图片验证码 OCR 识别 API:REST 接口识别文字验证码

使用 SolveHub OCR API 识别图片文字验证码:将 Base64 图片提交到 POST /v1/tasks,返回识别文本。字段限制、cURL 示例、结果格式与错误码。

适用于授权自动化测试、风控 QA 与浏览器集成。请仅在有权测试的站点和业务流程中使用。

创建此类任务:向 POST /v1/tasks 发送下方 JSON,附带 Authorization: Bearer <API_KEY>、Content-Type: application/json 与 Idempotency-Key。先在实时价格确认该类型可用;完整创建与查询流程见快速开始。

适用于图片文字验证码。将实际图片字节编码成 Base64 后传入 base64,也可使用 data:image/...;base64, 前缀;不需要网址或代理。字符串上限 5,242,880 字节,图片必须可解码。示例是一张极小的占位 PNG,接入时换成待识别图片。

请求字段

外层 type 和 task 必填;以下 task.* 路径均位于 task 对象内。字段名区分大小写。长度限制按 UTF-8 字节计算。

字段 类型 必填 限制 说明
type 字符串 是 固定为 ocr 平台任务类型。
task JSON 对象 是 ≤ 7 MiB 此类型的任务参数。
task.type 字符串 否 如提供必须为 ocr 兼容旧请求格式;新接入可省略。
task.base64 Base64 字符串 是 ≤ 5,242,880 字节 原始图片 Base64,可带 data:image/...;base64, 前缀;内容必须能解码。

创建请求示例

{
  "type": "ocr",
  "task": {
    "base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+aK9sAAAAASUVORK5CYII="
  }
}

cURL 调用

把示例中的 Key、站点信息与代理替换为你的实际值;Idempotency-Key 对同一次业务请求保持不变。

curl -sS -X POST 'https://www.tiam.codes/v1/tasks' \
  -H 'Authorization: Bearer sh_REPLACE_ME' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: example-ocr-0001' \
  --data-binary @- <<'JSON'
{
  "type": "ocr",
  "task": {
    "base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+aK9sAAAAASUVORK5CYII="
  }
}
JSON

创建响应与查询

创建成功返回 HTTP 202,status 初始通常为 queued。保存 taskId,每约 2–3 秒调用 GET /v1/tasks/{taskId} 查询。本类型处理软时限为 90 秒;超过软时限可能进入 uncertain,有已受理任务的结果可继续核对,客户端不要用新幂等键盲目重建。

结果字段

只在 status=completed 时读取 solution;下表列出常用字段,实际字段以该任务响应为准。

字段 类型 读取方式
solution.value 字符串 识别得到的文字;实际值可能为空或需要业务侧再校验。

任务 completed 后从 solution.value 读取识别出的文本。结果示意:{"value":"EXTRACTED_TEXT"}。若图片过大、不是 Base64 或无法解码,创建时返回 400 INVALID_TASK。

失败与排查

图片过大、Base64 无效或无法解码时,创建请求返回 400 INVALID_TASK;处理失败后的任务返回 TASK_FAILED。

创建请求常见错误为 400 INVALID_TASK、402 INSUFFICIENT_BALANCE、429 TASK_LIMIT_EXCEEDED 和 503 TYPE_UNAVAILABLE。已创建任务失败时公开错误码为 TASK_FAILED 或 TASK_TIMEOUT;uncertain 对应 TASK_UNCERTAIN。详见 平台 API 参考。

处理窗口从任务确认受理后起算,不扣除已花费的排队时间。解题节点当前约 30 秒超时;平台保留 90 秒软时限以等待网络和轮询结果。

相关文档

从 cURL 开始接入注册账户

最近更新: