
Ethan Collins
AI Agent Workflow Engineer
已发表 Oct 22, 2026
已更新 Oct 22, 2026 · 最小阅读量

ImageToTextTask 接收图像数据并直接返回识别出的文本;reCAPTCHA 令牌任务使用网站参数,且有不同的返回约定。在图像验证码识别与令牌求解之间做选择,要从一个实际问题开始:你的应用下一步需要什么?一个文本框可能需要输入图像中显示的字符;一个 reCAPTCHA 集成则需要一个响应令牌。把第一种结果送到第二种接口是行不通的,即使这两种操作都被描述为“破解验证码”。
CapSolver 把识别任务和令牌任务分开文档化。本指南对比它们的输入、输出以及集成责任,帮助你在授权测试或自动化中选择合适的起点。它不会给服务商排座次,也不会假设所有 CAPTCHA 都能通过同一种请求来处理。
图像识别会产生关于图像内容的答案,而令牌求解会产生一个用于受支持验证系统的响应值。
这些是 API 层面的区分,并不说明服务在底层使用哪种模型,或者是否在内部使用浏览器。对集成工作来说,有用的区别是你提交了什么信息,以及你收到了什么结果。
一种 CAPTCHA 可以有多种可见形式。有些要求人读扭曲的字符;有些显示图像选择题;还有些根本没有图像谜题。仅仅出现图片,并不能告诉你应用会接受什么作为完成。
| 决策点 | 图像识别 | 令牌求解 |
|---|---|---|
| 典型输入 | 以文本编码的图像字节,加上任务特定说明 | 网站 URL、站点 key 以及任务特定参数 |
| 典型输出 | 识别出的字符或分类结果 | CAPTCHA 响应令牌 |
| 调用方必须提供的内容 | 当前挑战对应的正确图像 | 正确的 CAPTCHA 类型和当前页面参数 |
| 之后仍需完成的事项 | 在目标应用步骤中使用答案并检查是否被接受 | 通过预期的集成方式提交令牌并检查是否被接受 |
| 常见不匹配 | 把分类输出当作验证令牌使用 | 把令牌发到需要图像字符的字段中 |
以上对比描述的是常见任务约定,而非通用模式。在为结果写统一解析器之前,请阅读具体任务文档。
当你的流程手上有一张图像,并且需要对其内容给出明确答案时,应选择图像识别。
例如,在对带文本验证码的应用进行授权测试时,可能已经能访问到显示出来的图片。下一步需要的是图片中的字符。OCR 任务可以提供这段文本,而应用测试仍然需要负责输入这些字符并检查结果。
官方的 ImageToText 任务参考 要求在 body 字段中提供图像的 Base64 编码内容。网站 URL 对这个任务来说是可选项。只提供 site key 而不提供图像,并不能满足这个输入要求。
Base64 用文本字符来表示二进制数据。它是一种编码方式,不是图像增强步骤。一张裁剪不当或已过期的验证码,在编码之后仍然是不合格的输入。
对于 ImageToTextTask,按照任务文档要求使用图像内容本身,不要包含换行,也不要带上 data:image/...;base64, 前缀。务必将无关页面内容和个人信息排除在提交给服务的图像之外。
下面的请求体遵循官方 schema,并用占位符明确标出图像位置。它只是一个 schema 示例,而不是一次实际求解:在用它配合 POST https://api.capsolver.com/createTask 前,请替换 key 和图像值。
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ImageToTextTask",
"body": "BASE64_IMAGE_CONTENT"
}
}
这个任务会直接返回识别结果。在读取 solution.text 之前,先检查错误字段;不要因为另一个 CAPTCHA 任务需要轮询,就给这个任务也加上轮询循环。
图像分类回答的是关于图像的问题,而不是抄写字符。CapSolver 将 reCAPTCHA 图像分类 记录为一个单独的任务,需要图像和问题作为输入。
分类响应并不是完成的 reCAPTCHA 验证。如果你选择了识别接口,你的应用仍然需要有兼容的挑战流程。不要假设一组被选中的图像区域列表,能直接插入到任何期望响应令牌的应用中。
在进行首次集成时,先写下你期望的输出,再选择任务名称。“读出字符”与“获得 reCAPTCHA 响应”是不同的需求,即便它们都可能从工单中的截图开始。
当应用使用受支持的 CAPTCHA 集成,并且所需输出是其响应令牌时,应选择令牌求解。
reCAPTCHA v2 任务参考 描述了 websiteURL 和 websiteKey 等网站参数。这些参数用来标识页面和 CAPTCHA 集成。它们不能互相替代,并且公共 site key 不是你的 CapSolver API key。
下面这个第二个 schema 示例展示了一个 reCAPTCHA v2 无代理任务的大致结构。它不是一次实际请求,也没有包含某些特定集成可能需要的全部可选参数。
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.yourwebsite.com",
"websiteKey": "YOUR_RECAPTCHA_SITE_KEY"
}
}
对你被允许访问的页面,请使用其真实的参数值,并使用该 CAPTCHA 版本文档中记录的任务类型。v2、v3 或 Enterprise 集成不应通过随意尝试不相关的任务名称来选择。
对异步的 createTask 流程,保存返回的 task ID,并通过 getTaskResult 获取该任务结果。阅读所选任务文档中指定的 solution 字段。避免写一个解析器,假定所有成功响应都包含相同字段。
领取 CapSolver 奖励码
立刻提升你的自动化预算!
在为 CapSolver 账号充值时使用奖励码 CAP26,每笔充值可额外获得 5% 奖励 —— 无次数上限。
现在就在你的 CapSolver 控制面板 中兑换
两种流程在求解器返回结果后,都还需要应用级别的检查。
对于文本验证码,这通常意味着确认目标表单是否接受了对应挑战的字符。如果在请求运行期间图像刷新了,那么上一张图像的答案不再是当前表单需要的结果。
对于令牌集成,一个非空字符串并不能证明应用已经接受该请求。Google 的 reCAPTCHA 验证文档描述了网站服务器端对令牌进行验证的步骤。网站的私有验证密钥应只存在于其服务器上;求解器用户不应需要获取他人的密钥。
Cloudflare 同样要求对 Turnstile 响应进行 服务器端验证。这些服务商的检查与求解器报告任务已就绪是两回事。如果你运营该应用,请检查其验证结果。如果你在测试另一条被允许的流程,请根据文档检查其成功结果,而不是声称对其私有后端有可见性。
这一区分在调试时也有帮助。记录失败发生在图像捕获、任务创建、结果获取、结果提交,还是应用接受阶段。只保留最后错误的截图,往往无法定位需要关注的步骤。
关于返回值的更多细节,可参考 CAPTCHA 令牌与 Cookie 的说明。无论是 OCR 答案还是响应令牌,都不会自动建立持久浏览器会话。
选择能提供你的现有流程可消费结果的、最小化且受支持的接口。
当挑战是一张文本验证码图片,并且你能合法获取当前图片时,请使用文本识别任务。将图像捕获、编码、返回文本以及表单响应视为独立步骤逐一确认。这是与 OCR 直接匹配的场景;额外添加网站令牌任务,并不能满足输入字段对字符的要求。
当你拥有文档化参数以及合法的集成路径时,请使用对应的令牌任务。不要因为出现了图像谜题,就强行要求维护一条单独的图像分类流程。从 CAPTCHA 产品和其响应约定出发来选择。
让代理在请求求解器动作前,先识别受支持的挑战类型以及可用的集成上下文。仅一张截图,并不能证明代理拥有正确的图像输入、site key、回调或结果投递路径。对缺失的信息要停止并报错,而不是让模型凭空编造值。
对于已经建立好的浏览器流程,一个有文档的浏览器集成可能会处理更多交互。本指南的对比并不能替代你打算使用的具体客户端或浏览器的集成测试。
在比较单次任务的标价之前,请先比较兼容性、实现工作量以及已经验证的应用结果。
兼容性优先:如果输出格式对应用来说不正确,再便宜的响应也没用。接下来要计算团队需要维护的工作量,例如图像捕获、挑战状态、结果获取以及最终接受检查。即使都使用 HTTP API,这些责任在两种工作流里也不同。
用一个小规模、授权的样本进行评估,该样本应真实反映你实际需要的 CAPTCHA 类型。保持来源条件足够一致,以便理解失败原因。分别记录任务错误与应用拒绝,不要把服务商的“就绪”状态当作你的端到端成功率。
不要仅凭“图像”或“令牌”这两个词,就推断速度、识别准确率或成本上的优劣。这些都是针对特定任务和集成的测量结果,而不是分类名称的必然后果。
期望的答案能为你提供最清晰的起点:图像字符、分类输出,或验证响应令牌。
将这一答案与当前任务文档进行对照,提供对应输入,并明确你的应用如何确认完成。CapSolver 为这些需求提供了不同接口;有意识地选择可以减少可避免的输入和输出不匹配。
在授权的工作流中,使用受支持的 CAPTCHA 类型来试用 CapSolver。先从一个经过确认的任务约定开始,再逐步扩展实现。
问:CAPTCHA 图像识别和令牌求解是同一回事吗?
不是。识别返回的是关于图像的信息,例如文本或分类结果;令牌求解返回的是受支持 CAPTCHA 集成的响应。应根据应用下一步期望什么来选择接口。
问:OCR 结果可以当作 reCAPTCHA 令牌使用吗?
不可以。识别出的字符不是 reCAPTCHA 响应令牌。它们属于不同的输入和验证约定。
问:每个 CAPTCHA 任务都需要轮询吗?
不需要。CapSolver 文档说明 ImageToTextTask 是直接返回结果,而异步令牌任务才使用 task ID 再获取结果。请按所选任务的文档流程来做,而不要对所有响应都套用一个轮询循环。
问:哪种方法更适合 AI 代理?
更适合的方法是与挑战类型以及代理实际集成相匹配的那一种。一个能截取图像的代理,并不代表就能完成基于令牌的工作流。请确认所需输入以及结果投递步骤。
问:求解器响应成功是否意味着我的应用也成功了?
不是。应用仍然需要接受该答案或令牌并完成预期动作。要单独检查这一结果,并确保自动化始终在你被允许使用的访问范围内进行。

Ethan Collins
AI Agent Workflow Engineer
Building clearer handoffs between AI agents and tools.
关于作者
