
Adélia Cruz
MCP Integration Engineer
Publicado Oct 13, 2026
Atualizado Oct 13, 2026 · minutos de leitura

ImageToTextTask do CapSolver quando um CAPTCHA pedir para ler caracteres de uma imagem.Um script em Python pode acessar um formulário permitido e parar em uma pequena imagem com letras ou números distorcidos. O próximo passo é simples: capturar a imagem atual, pedir a um solucionador de CAPTCHA de imagem para reconhecer seus caracteres e submeter o texto retornado ao formulário correspondente.
CapSolver fornece o ImageToTextTask para esse passo de reconhecimento. Este guia usa o exemplo oficial da SDK Python do CapSolver e explica como preparar a entrada, ler o resultado e diagnosticar os erros comuns que ocorrem em torno da chamada. Use o fluxo de trabalho em formulários que você possui ou que é permitido automatizar; a resposta de reconhecimento não altera as regras de acesso do destino.
O ImageToTextTask reconhece texto em uma imagem e retorna caracteres que sua aplicação Python pode usar.
Este é uma tarefa de reconhecimento óptico de caracteres. A entrada é uma imagem; a saída útil é o texto mostrado nessa imagem. Ele se adequa a um formulário que pede para inserir caracteres exibidos em um campo de resposta.
Um checkbox de reCAPTCHA ou um widget de Turnstile é uma integração diferente. Não envie uma captura de tela de todo o widget ao ImageToTextTask e espere um token de verificação do navegador. Use a tarefa documentada correspondente quando a aplicação precisar de um token em vez de texto reconhecido.
Comece verificando o que o formulário pede. Se ele exibir uma imagem de caractere ao lado de um campo de texto, o reconhecimento de imagem pode ser apropriado. Se ele pedir uma interação de grade, uma verificação invisível ou outro formato de desafio, identifique esse formato antes de selecionar a API.
Você precisa de uma imagem CAPTCHA atual, Python, o pacote CapSolver e uma chave de conta do CapSolver com acesso ao serviço necessário.
Salve a imagem do seu teste aprovado ou aplicativo como captcha.png. Mantenha a área completa de caracteres visível. Não inclua texto não relacionado, controles do navegador ou outro CAPTCHA ao lado dela. O objetivo é enviar a imagem que o usuário leria para aquele tentativa específica do formulário.
Instale o pacote oficial no seu ambiente Python:
python -m pip install capsolver==1.0.7
Isso fixa a versão da SDK usada para as verificações do pacote atrás deste guia. A orientação de instalação de pacotes do Python explica por que um ambiente isolado é útil quando projetos diferentes precisam de dependências diferentes.
A chamada da SDK ao vivo mais adiante neste guia requer sua chave de conta real e a string Base64 completa da imagem. Esses são entradas necessárias, não valores que podem ser substituídos pelos marcadores de posição abreviados mostrados na documentação. O exemplo é proveniente da documentação oficial do CapSolver; um resultado de reconhecimento ao vivo não é demonstrado aqui.
Mantenha a chave da conta longe de capturas de tela compartilhadas, repositórios de código-fonte e tickets de suporte. O site público da chave, quando outro tipo de CAPTCHA tiver uma, não substitui a chave da conta do CapSolver.
Converta os conteúdos binários do arquivo em uma string Base64 simples antes de colocá-los no campo body da tarefa.
Salve o seguinte trecho de preparação como prepare_image.py no mesmo diretório de captcha.png:
from pathlib import Path
import base64
image_bytes = Path("captcha.png").read_bytes()
image_base64 = base64.b64encode(image_bytes).decode("ascii")
Path("captcha-base64.txt").write_text(image_base64, encoding="ascii")
print("Salvo imagem Base64 em captcha-base64.txt")
Execute-o com python prepare_image.py. O arquivo de texto contém o valor completo a ser usado para body na próxima etapa.
O trecho usa a leitura de arquivos binários documentada do Python e a codificação Base64. Ele prepara a entrada localmente; não chama o CapSolver ou reconhece os caracteres.
Abra a imagem de origem antes de continuar. Um arquivo chamado captcha.png ainda pode conter dados incorretos se um download anterior salvou uma página de erro HTML. Confirme que ele exibe a imagem esperada e que o arquivo de texto foi criado a partir desse arquivo.
Não envie um caminho local como captcha.png como o corpo da tarefa. Não codifique a URL da imagem como texto. A API precisa dos bytes reais da imagem representados como Base64.
Chame capsolver.solve com a tarefa ImageToText documentada após substituir os marcadores de posição necessários.
O seguinte exemplo da SDK é da documentação oficial do ImageToTextTask. Salve-o como solve_image.py. Substitua ... pela sua chave de conta e substitua a string abreviada body inteira pelo conteúdo de captcha-base64.txt antes de executar python solve_image.py.
import capsolver
capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ImageToTextTask",
"module": "common",
"body": "/9j/4AAQSkZJRgABA......"
})
print(solution)
As chaves e strings de imagem mostradas são marcadores de posição da documentação. Executá-las sem alterações não pode produzir um resultado de reconhecimento útil. A etapa de preparação separada acima fornece um valor de imagem real; sua conta fornece a chave.
Os campos da tarefa têm uma pequena, finalidade específica:
| Campo | O que fornecer |
|---|---|
type |
ImageToTextTask |
module |
common para o exemplo geral mostrado aqui |
body |
Conteúdo da imagem codificado em Base64 completo |
websiteURL |
URL da página de origem opcional, conforme documentado para esta tarefa |
A documentação oficial também descreve um módulo number para imagens numéricas. Selecione-o apenas quando a imagem contiver números e esse modo documentado corresponder ao seu caso. Não chute nomes adicionais de módulo ou copie módulos de uma tarefa de reconhecimento não relacionada.
Se você preferir uma integração HTTP posterior, a mesma tarefa de reconhecimento é enviada através de createTask. A SDK Python é uma maneira conveniente de fazer essa chamada sem escrever o tratamento da solicitação HTTP você mesmo.
Resgate seu código promocional do CapSolver
Aumente seu orçamento de automação instantaneamente!
Use o código promocional CAP26 ao recarregar sua conta do CapSolver para obter um bônus adicional de 5% em cada recarga — sem limites.
Resgate-o agora no seu Painel do CapSolver
O ImageToTextTask retorna a saída de reconhecimento diretamente, em vez de exigir um ciclo separado de getTaskResult.
A documentação da resposta HTTP coloca os caracteres reconhecidos sob solution.text. O exemplo da SDK retorna o objeto solução; o guia oficial de CAPTCHA de imagem em Python lê seu texto com solution.get("text").
Inspeção a resposta real antes de usá-la. Um resultado bem-sucedido deve conter os caracteres reconhecidos para a imagem que você enviou. Um erro, resultado ausente ou valor vazio não é uma resposta a inserir no formulário.
Não adicione um loop de polling genérico copiado de um tutorial de token reCAPTCHA. Essas tarefas podem ter comportamento de resposta diferente. O polling extra não melhora um resultado de imagem que já foi retornado diretamente.
Também distinga reconhecimento da submissão do formulário. Imprimir a solução confirma que seu script obteve um resultado da etapa de resolução. O aplicativo ao redor ainda precisa inserir esse texto no campo apropriado e inspecionar a resposta do formulário.
Use o texto reconhecido apenas para a tentativa do formulário que forneceu a imagem.
Suponha que seu formulário aprovado exiba a imagem A. Seu script captura A, envia para o CapSolver e recebe uma resposta. Se a página foi atualizada para a imagem B enquanto a solicitação estava em andamento, a resposta para A não é mais uma entrada confiável para o formulário atual.
Mantenha clara a associação entre a página e a imagem. Conclua a tentativa atual antes de solicitar intencionalmente um novo desafio. Se uma atualização ocorrer, capture a imagem substituta e a trate como uma nova tentativa, em vez de submeter novamente a resposta anterior.
Preserve os caracteres retornados pelo solucionador. Não converta automaticamente letras para minúsculas, remova zeros à esquerda ou converta a resposta em número, a menos que o formulário de destino exija explicitamente essa transformação. Um valor de texto e um valor numérico podem representar entradas diferentes.
Após a submissão, verifique o resultado esperado. Para um formulário de pesquisa que você possui, pode ser o painel de resultados solicitado. Para um teste de QA, pode ser o estado específico de sucesso da aplicação. A desaparição de um CAPTCHA é evidência útil, mas não é sempre o resultado comercial completo.
A reparação mais rápida vem de verificar a imagem, a solicitação e o formulário na ordem.
Verifique se body contém bytes de imagem codificados em Base64. Remova o prefixo data:image/...;base64, se a fonte da imagem adicionou um, e evite quebras de linha. Confirme se o arquivo é uma imagem em vez de uma página HTML ou download vazio.
Use a referência de erro do CapSolver para o código retornado. Um problema de chave de conta, uma tarefa não suportada e uma solicitação de imagem inválida exigem soluções diferentes. Não continue enviando a mesma entrada rejeitada sem examinar o erro.
Inspeção a imagem exata enviada para a API. Procure caracteres cortados, uma imagem antiga ou texto não relacionado na captura. Verifique se o módulo selecionado corresponde ao conteúdo dos caracteres.
Mantenha um exemplo limitado de diagnóstico do seu próprio teste, com conteúdo de página sensível excluído. Isso é mais útil para investigar a qualidade do reconhecimento do que uma captura de tela de todo o navegador após o desafio ter mudado.
Verifique se a imagem foi atualizada, se a resposta foi inserida no campo correto e se a aplicação relata um erro de validação de formulário separado. Um campo obrigatório ou estado de formulário expirado pode impedir a submissão mesmo quando os caracteres reconhecidos parecem corretos.
Use uma política de repetição limitada. Se o mesmo falha repetir, pare e inspecione a causa em vez de gerar uma nova imagem e comprar outro resultado indefinidamente.
Mantenha o tratamento de CAPTCHA de imagem em Python pequeno: prepare a imagem atual, envie o ImageToTextTask, leia o texto retornado e verifique a tentativa de formulário correspondente.
CapSolver lida com o passo de reconhecimento. Seu script fornece uma imagem válida e mantém a resposta associada à operação correta, o que torna o resultado útil em um fluxo de trabalho de automação real.
Q: O ImageToTextTask requer polling de resultados?
Não. Esta tarefa retorna o resultado do reconhecimento da imagem diretamente. Siga seu comportamento de resposta documentado em vez de adicionar um loop de polling destinado a tarefas assíncronas de token.
Q: Posso passar uma URL de imagem como body?
Não. A entrada documentada body é o conteúdo da imagem codificado em Base64. Obtenha os bytes da imagem permitida primeiro, depois os encode.
Q: Qual valor contém o texto reconhecido?
O resultado HTTP usa solution.text. No padrão da SDK Python oficial, leia o texto do objeto solução retornado.
Q: Este exemplo pode resolver um checkbox de reCAPTCHA?
Não. O ImageToTextTask é uma tarefa de reconhecimento de texto. Um widget de reCAPTCHA precisa da integração documentada correspondente de reCAPTCHA em vez de uma captura de tela passada para este exemplo.
Q: Por que o formulário rejeita uma resposta aparentemente correta?
A resposta pode pertencer a uma imagem anterior, estar no campo errado ou acompanhar outro valor inválido do formulário. Inspeção o formulário atual e sua resposta real antes de culpar o reconhecimento de imagem.

Adélia Cruz
MCP Integration Engineer
Making CapSolver tools accessible through MCP.
SOBRE O AUTOR
Entender tarefas CAPTCHA sem proxy, quando um proxy fornecido é necessário e como escolher a tarefa correta do CapSolver para o seu navegador ou fluxo de trabalho da API.

Entenda tokens de CAPTCHA, cookies e resultados do solver, incluindo reCAPTCHA, Turnstile, expiração, contexto do navegador e as verificações que confirmam a conclusão.
