
Sora Fujimoto
AI Solutions Architect
発行済み Oct 13, 2026
更新されました Oct 13, 2026 · 最小読み取り

ImageToTextTaskを使用してください。ImageToTextTaskは認識結果を直接返します。別途結果ポーリングループは必要ありません。Pythonスクリプトは許可されたフォームにアクセスし、歪んだ文字や数字を含む小さな画像で停止します。次のステップは簡単です: 現在の画像をキャプチャし、画像CAPTCHAソルバーにその文字を認識させ、返されたテキストを対応するフォームに入力します。
CapSolverはこの認識ステップにImageToTextTaskを提供しています。このガイドでは、公式Python SDKの例を使用し、入力の準備、結果の読み取り、呼び出しで一般的に発生するミスの診断について説明します。所有するフォームや自動化が許可されているフォームでこのワークフローを使用してください。認識応答は宛先のアクセスルールを変更しません。
ImageToTextTaskは画像内のテキストを認識し、Pythonアプリケーションが使用できる文字を返します。
これは光学文字認識タスクです。入力は画像であり、有用な出力はその画像に表示されているテキストです。このフォームは、表示された文字を入力フィールドに入力するように求めています。
reCAPTCHAチェックボックスやTurnstileウィジェットは別の統合です。画像全体のスクリーンショットをImageToTextTaskに送信しても、ブラウザ検証トークンは得られません。アプリケーションにトークンが必要な場合は、対応するドキュメント化されたタスクを使用してください。
まず、フォームが何を求めるかを確認してください。テキスト入力横にキャラクター画像が表示されている場合は、画像認識が適切です。グリッドの操作、非表示のチェック、または他のチャレンジ形式を求める場合は、APIを選択する前にその形式を特定してください。
現在のCAPTCHA画像、Python、CapSolverパッケージ、および必要なサービスにアクセスできるCapSolverアカウントキーが必要です。
許可されたテストまたはアプリケーションから画像を保存し、captcha.pngとして保存してください。完全な文字領域を表示してください。関係のないページのテキスト、ブラウザコントロール、または別のCAPTCHAを含めないでください。この目的は、その特定のフォーム試行でユーザーが読み取る画像を送信することです。
Python環境に公式パッケージをインストールしてください:
python -m pip install capsolver==1.0.7
これはこのガイドの背後にあるパッケージチェックで使用されるSDKバージョンをピン留めします。異なるプロジェクトが異なる依存関係を必要とする場合、隔離された環境が役立つ理由について、Pythonのパッケージインストールガイドが説明しています。
このガイドの後のライブSDKコールには、実際のアカウントキーと完全なBase64画像文字列が必要です。これらは置き換え可能な省略記号ではなく、ドキュメントに表示される値ではありません。例はCapSolverの公式ドキュメントから取得されています。ここではライブ認識結果は示されていません。
アカウントキーを共有スクリーンショット、ソースリポジトリ、サポートチケットから除外してください。別のCAPTCHAタイプにサイトキーがある場合、それはCapSolverアカウントキーの代用ではありません。
画像のバイナリコンテンツをプレーンなBase64文字列に変換し、タスクのbodyフィールドに配置してください。
captcha.pngと同じディレクトリにprepare_image.pyとして以下の準備スニペットを保存してください:
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("Saved Base64 image to captcha-base64.txt")
python prepare_image.pyで実行してください。テキストファイルには次のステップでbodyに使用する完全な値が含まれます。
このスニペットはPythonのドキュメント化されたバイナリファイルの読み込みとBase64エンコードを使用しています。これはローカルで入力を準備するものであり、CapSolverを呼び出すことや文字の認識は行いません。
続きの前に元の画像を開いてください。captcha.pngという名前のファイルは、以前のダウンロードでHTMLエラーページが保存されている場合、誤ったデータを含んでいる可能性があります。正しい画像が表示されていることを確認し、そのファイルからテキストファイルが作成されたことを確認してください。
タスクのbodyにローカルパスcaptcha.pngを送信しないでください。画像URLをテキストとしてエンコードしないでください。APIには、Base64で表された実際の画像バイトが必要です。
必要なプレースホルダーを置き換えた後、ドキュメント化されたImageToTextタスクでcapsolver.solveを呼び出してください。
以下のSDK例は公式ImageToTextTaskドキュメントから取得しています。solve_image.pyとして保存してください。...をあなたのアカウントキーに置き換え、captcha-base64.txtの内容で省略されたbody文字列全体を置き換えた後、python solve_image.pyを実行してください。
import capsolver
capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ImageToTextTask",
"module": "common",
"body": "/9j/4AAQSkZJRgABA......"
})
print(solution)
表示されているキーと画像文字列はドキュメントのプレースホルダーです。これらを変更せずに実行しても、有用な認識結果は得られません。上記の別途の準備ステップにより実際の画像値が供給され、アカウントがキーを提供します。
タスクフィールドには小さな特定の目的があります:
| フィールド | 提供する内容 |
|---|---|
type |
ImageToTextTask |
module |
この例ではcommonを使用 |
body |
完全なBase64エンコードされた画像コンテンツ |
websiteURL |
タスクのドキュメントに記載されているオプションのソースページURL |
公式ドキュメントでは、数値画像用のnumberモジュールも説明しています。画像に数字が含まれていて、ドキュメント化されたモードが使用ケースに合致する場合のみ選択してください。関連のない認識タスクからモジュール名を推測したりコピーしたりしないでください。
後でHTTP統合を希望する場合は、同じ認識タスクをcreateTaskを通じて送信できます。Python SDKはHTTPリクエストのハンドリングを自分で書かずにその呼び出しを行う便利な方法です。
CapSolverのボーナスコードを取得してください
自動化予算を即座に増やしましょう!
CapSolverアカウントにチャージする際にボーナスコードCAP26を使用すると、すべてのチャージで5%のボーナスが得られます — 制限なし。
今すぐCapSolverダッシュボードで取得してください
ImageToTextTaskは、別途getTaskResultのサイクルを必要とせず、認識出力を直接返します。
HTTPレスポンスドキュメントでは、認識された文字はsolution.textにあります。SDK例は解決策オブジェクトを返します。既存のPython画像CAPTCHAガイドでは、solution.get("text")でテキストを読み取ります。
実際のレスポンスを確認してください。成功した結果には、送信した画像の認識された文字が含まれます。エラー、結果が見つからない、または空の値はフォームに入力する答えではありません。
reCAPTCHAトークンチュートリアルから汎用的なポーリングループを追加しないでください。これらのタスクは異なる応答動作を持つ可能性があります。追加のポーリングは、すでに直接返された画像結果を改善しません。
認識とフォーム送信も区別してください。解決策を印刷することは、スクリプトが解決ステップから結果を取得したことを確認します。周囲のアプリケーションは、そのテキストを適切なフィールドに入力し、フォームの応答を確認する必要があります。
認識されたテキストは、その画像を提供したフォーム試行にのみ使用してください。
許可されたフォームが画像Aを表示したと仮定します。スクリプトはAをキャプチャし、CapSolverに送信し、答えを取得します。リクエスト中にページが画像Bに更新された場合、Aの答えは現在のフォームに信頼できる入力ではなくなってしまいます。
ページと画像の関連性を明確にしてください。新しいチャレンジを意図的に要求する前に、現在の試行を完了してください。更新が発生した場合、置き換えられた画像をキャプチャし、前の答えを再送信するのではなく、新しい試行として扱ってください。
ソルバーから返された文字を保持してください。ターゲットフォームが明示的に要件としている変換を除き、自動的に小文字にしたり、先頭のゼロを削除したり、答えを数値に変換したりしないでください。テキスト値と数値値は異なる入力を表す可能性があります。
送信後、期待される結果を確認してください。所有する検索フォームの場合、それは要求された結果パネルかもしれません。QAテストの場合、それはアプリケーションの特定の成功状態かもしれません。CAPTCHAが消えることは有益な証拠ですが、すべてのビジネス結果ではありません。
最も迅速な修正は、画像、リクエスト、フォームをこの順序で確認することです。
bodyにBase64エンコードされた画像バイトが含まれていることを確認してください。画像ソースが追加したdata:image/...;base64,プレフィックスを削除し、改行を避けてください。ファイルがHTMLページや空のダウンロードではなく画像であることを確認してください。
実際の返されたコードでCapSolverエラー参照を使用してください。アカウントキーの問題、サポートされていないタスク、無効な画像リクエストには異なる修正が必要です。エラーを調べずに同じ拒否された入力を送り続けないでください。
APIに送信した正確な画像を確認してください。切り取られた文字、古い画像、またはキャプチャ内の関係のないテキストがないか確認してください。選択したモジュールが文字の内容に合致しているか確認してください。
自身のテストから限られた診断例を保持してください。これはチャレンジが変更された後のブラウザ全体のスクリーンショットよりも、認識品質の調査に役立ちます。
画像が更新されたか、答えが正しいフィールドに入力されたか、アプリケーションが別のフォーム検証エラーを報告しているか確認してください。必須フィールドや期限切れのフォーム状態は、認識された文字が正しい場合でも送信を妨げる可能性があります。
バウンドされたリトライポリシーを使用してください。同じ失敗が繰り返される場合、原因を確認し、無限に新しい画像を取得し、別の結果を購入しないでください。
Python画像CAPTCHA処理を小さく保ちましょう: 現在の画像を準備し、ImageToTextTaskを送信し、返されたテキストを読み取り、対応するフォーム試行を確認してください。
CapSolverは認識ステップを処理します。スクリプトは有効な画像を提供し、正しい操作に答えを関連付けることで、実際の自動化ワークフローで結果が役立ちます。
Q: ImageToTextTaskは結果のポーリングを必要としますか?
いいえ。このタスクは画像認識結果を直接返します。非同期トークンタスク向けに意図されたポーリングループではなく、ドキュメント化された応答動作に従ってください。
Q: bodyに画像URLを渡すことはできますか?
いいえ。ドキュメント化されたbody入力はBase64エンコードされた画像コンテンツです。許可された画像バイトをまず取得し、それからエンコードしてください。
Q: 認識されたテキストが含まれる値はどの値ですか?
HTTP結果ではsolution.textを使用します。公式Python SDKパターンでは、返された解決策オブジェクトからテキストを読み取ります。
Q: この例はreCAPTCHAチェックボックスを解決できますか?
いいえ。ImageToTextTaskはテキスト認識タスクです。reCAPTCHAウィジェットには、この例にスクリーンショットを渡す代わりに、対応するドキュメント化されたreCAPTCHA統合が必要です。
Q: なぜ見かけ上正しい答えがフォームによって拒否されるのですか?
答えは以前の画像に属している可能性があり、間違ったフィールドに入力されているか、他の無効なフォーム値と併せられている可能性があります。画像認識を責める前に、現在のフォームとその実際の応答を確認してください。

Sora Fujimoto
AI Solutions Architect
Connecting agents, browsers, and APIs into one workflow.
著者について
プロキシ不要のCAPTCHAタスクを理解し、提供されたプロキシが必要な場合、ブラウザまたはAPIワークフローに正しいCapSolverタスクを選択する方法を学びます。

CAPTCHAトークン、クッキー、ソルバーの結果、reCAPTCHA、Turnstile、有効期限、ブラウザコンテキスト、および完了を確認するチェックを理解する。
