
Aloísio Vítor
Image Processing Expert
Publicado Oct 13, 2026
Actualizado Oct 13, 2026 · min de lectura

ImageToTextTask de CapSolver cuando un CAPTCHA te pida leer caracteres de una imagen.ImageToTextTask devuelve directamente el resultado de la reconocimiento; no necesita un bucle de sondeo separado.Un script de Python puede acceder a un formulario permitido y detenerse en una pequeña imagen que contiene letras o números distorsionados. El siguiente paso es sencillo: capturar la imagen actual, pedir a un solucionador de CAPTCHA de imagen que reconozca sus caracteres y enviar el texto devuelto al formulario correspondiente.
CapSolver proporciona ImageToTextTask para este paso de reconocimiento. Esta guía utiliza el ejemplo oficial de SDK de Python de CapSolver y explica cómo preparar la entrada, leer el resultado y diagnosticar los errores comunes alrededor de la llamada. Usa el flujo de trabajo en formularios que poseas o estés autorizado a automatizar; la respuesta de reconocimiento no cambia las reglas de acceso del destino.
ImageToTextTask reconoce texto en una imagen y devuelve caracteres que tu aplicación de Python puede usar.
Este es una tarea de reconocimiento óptico de caracteres. La entrada es una imagen; la salida útil es el texto mostrado en esa imagen. Ajusta un formulario que te pida ingresar caracteres mostrados en un campo de respuesta.
Un casillero de reCAPTCHA o un widget de Turnstile es una integración diferente. No envíes una captura de pantalla de un widget completo a ImageToTextTask y esperes un token de verificación del navegador. Usa la tarea documentada correspondiente cuando la aplicación necesite un token en lugar de texto reconocido.
Empieza verificando qué pide el formulario. Si muestra una imagen de caracteres junto a un campo de texto, el reconocimiento de imagen puede ser adecuado. Si pide una interacción de cuadrícula, una verificación invisible o un formato de desafío diferente, identifica ese formato antes de seleccionar la API.
Necesitas una imagen de CAPTCHA actual, Python, el paquete CapSolver y una clave de cuenta de CapSolver con acceso al servicio requerido.
Guarda la imagen de tu prueba o aplicación aprobada como captcha.png. Mantén visible el área completa con caracteres. No incluyas texto no relacionado, controles del navegador o otro CAPTCHA junto a ella. El objetivo es enviar la imagen que el usuario leería para ese intento específico del formulario.
Instala el paquete oficial en tu entorno de Python:
python -m pip install capsolver==1.0.7
Esto fija la versión del SDK usada para las verificaciones detrás de esta guía. La guía de instalación de paquetes de Python explica por qué un entorno aislado es útil cuando diferentes proyectos necesitan dependencias diferentes.
La llamada al SDK en vivo más adelante en esta guía requiere tu clave de cuenta real y la cadena Base64 completa de la imagen. Estos son entradas requeridas, no valores que puedan reemplazarse por los marcadores de posición abreviados mostrados en la documentación. El ejemplo proviene de la documentación oficial de CapSolver; no se muestra un resultado de reconocimiento en vivo aquí.
Mantén la clave de cuenta alejada de capturas de pantalla compartidas, repositorios de código fuente y tickets de soporte. El sitio público de la clave del sitio, cuando otro tipo de CAPTCHA tenga una, no sustituye la clave de cuenta de CapSolver.
Convierte el contenido binario del archivo a una cadena Base64 plana antes de colocarla en el campo body de la tarea.
Guarda el siguiente fragmento de preparación como prepare_image.py en el mismo directorio que 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("Guardado imagen Base64 en captcha-base64.txt")
Ejecútalo con python prepare_image.py. El archivo de texto contiene el valor completo para usar en el campo body en el siguiente paso.
El fragmento usa la lectura de archivos binarios documentada de Python y la codificación Base64. Prepara la entrada localmente; no llama a CapSolver ni reconoce los caracteres.
Abre la imagen de origen antes de continuar. Un archivo llamado captcha.png aún puede contener datos incorrectos si una descarga anterior guardó una página de error HTML. Confirma que muestra la imagen esperada y que el archivo de texto fue creado a partir de ese archivo.
No envíes una ruta local como captcha.png como cuerpo de la tarea. No codifiques la URL de la imagen como texto. La API necesita los bytes reales de la imagen representados como Base64.
Llama a capsolver.solve con la tarea ImageToText documentada después de reemplazar los marcadores de posición requeridos.
El siguiente ejemplo de SDK proviene de la documentación oficial de ImageToTextTask. Guárdalo como solve_image.py. Reemplaza ... con tu clave de cuenta y reemplaza la cadena abreviada body completa con el contenido de captcha-base64.txt antes de ejecutar python solve_image.py.
import capsolver
capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ImageToTextTask",
"module": "common",
"body": "/9j/4AAQSkZJRgABA......"
})
print(solution)
Las claves y cadenas de imagen mostradas son marcadores de posición de documentación. Ejecutarlos sin cambios no puede producir un resultado de reconocimiento útil. El paso de preparación separado anterior suministra un valor de imagen real; tu cuenta suministra la clave.
Los campos de la tarea tienen un propósito pequeño y específico:
| Campo | Qué proporcionar |
|---|---|
type |
ImageToTextTask |
module |
common para el ejemplo general mostrado aquí |
body |
Contenido de imagen codificado completamente en Base64 |
websiteURL |
URL de página opcional, según se documenta para esta tarea |
La documentación oficial también describe un módulo number para imágenes numéricas. Sólo lo selecciona cuando la imagen contiene números y ese modo documentado coincide con tu caso de uso. No adivines nombres adicionales de módulo o copies módulos de una tarea de reconocimiento no relacionada.
Si prefieres una integración HTTP más tarde, la misma tarea de reconocimiento se envía a través de createTask. El SDK de Python es una forma conveniente de hacer esa llamada sin escribir por ti mismo el manejo de la solicitud HTTP.
Redime tu código de bonificación de CapSolver
¡Aumenta tu presupuesto de automatización instantáneamente!
Usa el código de bonificación CAP26 al recargar tu cuenta de CapSolver para obtener un 5% adicional en cada recarga — sin límites.
Redímelo ahora en tu Panel de CapSolver
ImageToTextTask devuelve directamente la salida de reconocimiento en lugar de requerir un ciclo separado getTaskResult.
La documentación de la respuesta HTTP coloca los caracteres reconocidos bajo solution.text. El ejemplo del SDK devuelve el objeto solución; la guía oficial de Python para CAPTCHA de imagen lee su texto con solution.get("text").
Inspecciona la respuesta real antes de usarla. Un resultado exitoso debe contener los caracteres reconocidos para la imagen que enviaste. Un error, resultado faltante o valor vacío no es una respuesta para ingresar al formulario.
No añadas un bucle de sondeo genérico copiado de un tutorial de token de reCAPTCHA. Esas tareas pueden tener un comportamiento de respuesta diferente. El sondeo adicional no mejora un resultado de imagen que ya fue devuelto directamente.
También distingue el reconocimiento de la presentación del formulario. Imprimir una solución confirma que tu script obtuvo un resultado del paso de resolución. La aplicación circundante aún necesita ingresar ese texto en el campo correspondiente e inspeccionar la respuesta del formulario.
Usa el texto reconocido solo para el intento de formulario que proporcionó la imagen.
Supongamos que tu formulario aprobado muestra la imagen A. Tu script captura A, la envía a CapSolver y recibe una respuesta. Si la página se refrescó a la imagen B mientras la solicitud estaba en proceso, la respuesta para A ya no es un ingreso confiable para el formulario actual.
Mantén clara la asociación entre la página e imagen. Finaliza el intento actual antes de solicitar intencionalmente un nuevo desafío. Si ocurre un refresco, captura la imagen reemplazante y córtala como un nuevo intento en lugar de reenviar la respuesta anterior.
Preserva los caracteres devueltos por el solucionador. No conviertas automáticamente las letras a minúsculas, elimines ceros iniciales o conviertas la respuesta a un número a menos que el formulario de destino lo requiera explícitamente. Un valor de texto y un valor numérico pueden representar entradas diferentes.
Después de la presentación, verifica el resultado esperado. Para un formulario de búsqueda propio, podría ser el panel de resultados solicitado. Para una prueba de preguntas y respuestas, podría ser el estado de éxito específico de la aplicación. La desaparición de un CAPTCHA es evidencia útil, pero no siempre es el resultado comercial completo.
La reparación más rápida proviene de verificar la imagen, la solicitud y el formulario en ese orden.
Verifica que body contenga bytes de imagen codificados en Base64. Elimina el prefijo data:image/...;base64, si tu fuente de imagen lo añadió, y evita los saltos de línea. Confirma que el archivo es una imagen en lugar de una página HTML o descarga vacía.
Usa la referencia de errores de CapSolver para el código devuelto real. Un problema de clave de cuenta, una tarea no admitida y una solicitud de imagen no válida requieren soluciones diferentes. No sigas enviando la misma entrada rechazada sin examinar el error.
Inspecciona la imagen exacta enviada a la API. Busca caracteres recortados, una imagen antigua o texto no relacionado en la captura. Verifica si el módulo seleccionado coincide con el contenido de los caracteres.
Mantén un ejemplo limitado de tu prueba, excluyendo contenido sensible de la página. Eso es más útil para investigar la calidad de reconocimiento que una captura de pantalla de todo el navegador después de que el desafío haya cambiado.
Verifica si la imagen se refrescó, si la respuesta fue ingresada en el campo correcto y si la aplicación reporta un error de validación de formulario separado. Un campo requerido o un estado de formulario caducado puede impedir la presentación incluso cuando los caracteres reconocidos parecen correctos.
Usa una política de reintento acotada. Si el mismo fallo se repite, detente y examina la causa en lugar de generar una nueva imagen y comprar otro resultado indefinidamente.
Mantén el manejo de CAPTCHA de imagen en Python pequeño: prepara la imagen actual, envía ImageToTextTask, lee el texto devuelto y verifica el intento de formulario correspondiente.
CapSolver maneja el paso de reconocimiento. Tu script suministra una imagen válida y mantiene la respuesta asociada a la operación correcta, lo que hace que el resultado sea útil en un flujo de trabajo de automatización real.
P: ¿Requiere ImageToTextTask el sondeo de resultados?
No. Esta tarea devuelve directamente el resultado del reconocimiento de imagen. Sigue su comportamiento de respuesta documentado en lugar de agregar un bucle de sondeo diseñado para tareas de token asincrónicas.
P: ¿Puedo pasar una URL de imagen como body?
No. La entrada documentada body es el contenido codificado en Base64 de la imagen. Obtén primero los bytes de imagen permitidos, luego córtalos.
P: ¿Qué valor contiene el texto reconocido?
El resultado HTTP usa solution.text. En el patrón oficial del SDK de Python, lee el texto del objeto solución devuelto.
P: ¿Este ejemplo puede resolver un casillero de reCAPTCHA?
No. ImageToTextTask es una tarea de reconocimiento de texto. Un widget de reCAPTCHA necesita la integración documentada correspondiente de reCAPTCHA en lugar de una captura de pantalla pasada a este ejemplo.
P: ¿Por qué el formulario rechaza una respuesta aparentemente correcta?
La respuesta podría pertenecer a una imagen anterior, estar colocada en el campo equivocado o acompañarse de otro valor inválido del formulario. Inspecciona el formulario actual y su respuesta real antes de culpar al reconocimiento de imagen.

Aloísio Vítor
Image Processing Expert
Interpreting the visual signals behind web workflows.
SOBRE EL AUTOR
Entienda las tareas de CAPTCHA sin proxy, cuando se necesita un proxy proporcionado y cómo elegir la tarea correcta de CapSolver para su flujo de trabajo de navegador o API.

Entender tokens CAPTCHA, cookies y resultados del solucionador, incluyendo reCAPTCHA, Turnstile, vencimiento, contexto del navegador y las verificaciones que confirman la finalización.
