Recognition task

Image to text captcha API

Send a distorted text captcha as a base64 image and get the characters back as a plain string, typically in about a second.

Price / 1,000
—
Typical speed
—
Success
—

Pay only for solved tasks. Failed tasks are refunded automatically.

What you send, what you get

What is Image to text?

Text captchas show a short string of letters and digits that has been warped, rotated, crossed out or covered in noise. bypass.so returns the characters it reads so your script can type them into the answer field.

Recognition tasks usually finish inside the createTask call, so the first response already carries the answer. Typical time to a result is about a second.

POST/createTask
GET/getTaskResult/{taskId}
POST/reportBad?task_id={taskId}
Every request needs your API key. Create an account to get one, top up any amount, and you are ready to send tasks.

Request parameters

FieldDescription
clientKeystringrequiredYour API key. You can also send it as Authorization: Bearer <key> instead.
typestringrequiredAlways ImageToTextTask for this task.
imageBase64stringrequiredThe captcha image as base64, PNG or JPG. Send the raw base64 data, without a data: prefix. Crop it to the captcha itself for the best results.
Request · POST /createTask


Response fields

FieldMeaning
errorId0 on success, 1 on error. Errors also carry errorCode and errorDescription.
statusprocessing while the task runs, then ready or failed.
taskIdReturned by createTask. Use it to poll and to report a wrong answer.
solution.textThe characters read from the image, in order.

Integration

Copy, paste, solve

Plain HTTPS and JSON. No SDK to install.

  1. Create the taskSend your key, ImageToTextTask and its fields.
  2. Poll for the resultCheck every second while status is processing.
  3. Use the textRead solution.text and continue your flow.
  4. Wrong answer? Report itPOST /reportBad?task_id=<taskId> with your key as Bearer returns that task's price once.

Errors and limits

errorCodeWhen it happens
ERROR_KEY_INVALIDThe API key is missing or not recognised (HTTP 403).
ERROR_INSUFFICIENT_CREDITSYour balance does not cover the task price. Top up and resend (HTTP 402).
ERROR_TASK_NOT_SUPPORTEDThe type value is unknown or not live yet (coming soon). Nothing is charged.
ERROR_BAD_REQUESTThe body is not valid JSON or a field has the wrong type (HTTP 400).
ERROR_CAPTCHA_UNSOLVABLEThe task could not be completed. The held price is refunded automatically.
ERROR_RATE_LIMITToo many requests in a short time. Back off and retry (HTTP 429).
ERROR_NOT_FOUNDUnknown taskId, or the task belongs to another key (HTTP 404).

Check your balance any time with GET /balance and Authorization: Bearer <key>. Full list in the error reference.

Using the result

From text to submitted form

What your own script does with the recognised text once the task is ready.

  1. Capture the image

    Save the captcha element as PNG or JPG from your test run, or download it from its image URL in the same session.

  2. Send it as base64

    Create an ImageToTextTask with the encoded image in imageBase64. Most results arrive in the createTask response.

  3. Type the answer

    Enter solution.text into the captcha input and submit the form. Keep the same session that loaded the image.

Result fieldsolution.textSome sites treat answers as case-sensitive. Submit the text exactly as returned.

Use cases

Where teams use Image to text tasks

Built for testing, accessibility and data work on sites you own or are allowed to automate.

  • QA on legacy forms

    Run automated tests against older sign-in and checkout flows that still rely on text images.

  • Accessibility support

    Give people who cannot read distorted text a way through forms that offer no other option.

  • Document and data workflows

    Process permitted public records portals that put a text image in front of each lookup.

Use bypass.so only where you have permission. Respect each site's terms and rate limits, and never use results to access accounts or data that are not yours. See our acceptable use policy.

Pricing

Image to text pricing

—per 1,000 solved tasks

That is — per task, or — tasks for $100.

  • No subscription, no minimum volume
  • Failed tasks are refunded automatically
  • Bigger top-ups get bonus credit

Volume bonus on a single top-up

TierTop-upBonusEffective / 1kTasks covered

Related types

Same key, more task types

All 7 types

FAQ

Image to text questions

More answers in the general FAQ and the API reference.

Which image formats can I send?
PNG and JPG, as base64 in imageBase64. Keep the file small and cropped to the captcha; a whole-page screenshot lowers accuracy and slows the task down.
Is the answer case-sensitive?
The text is returned exactly as read, including letter case. If the target form ignores case you can normalise it yourself before submitting.
How long does a task take?
Typically about a second. Most tasks finish inside the createTask call, so you get status: "ready" straight away. Otherwise poll GET /getTaskResult/{taskId} every second or two.
What if the answer is wrong?
Report it with POST /reportBad and the taskId. That task's price is returned to your balance once, and you can send a fresh image as a new task.
Do I pay for images that cannot be read?
No. If a task fails, the held price is refunded automatically. You pay only for tasks that return an answer.

Send your first Image to text task

Create an account, top up from a few dollars and get your key. You only pay for tasks that return a result.