このページでは、最もシンプルなタスクタイプ ImageToTextTaskOcrBase(画像内の英数字を認識します)で最初のリクエストを送信します。同期タイプなので、createTask リクエスト 1 回で結果が返ります。料金は 1 回 2 ポイント(約 $0.30 / 1k) で、サードパーティのサイトに依存しないため、アカウントとコードに問題がないかの確認に適しています。
-
アカウントを登録する
yescaptcha.com を開き、登録してログインします。
-
clientKey をコピーする
ログイン後、ダッシュボード(yescaptcha.com/dashboard.html)で「クライアントキー」を探してコピーします。全体をコピーしてください。
-
チャージする
タスクを作成するには、残高が 10 ポイントを超えている必要があります。チャージ方法と VIP ボーナスについては チャージと VIP を参照してください。
-
clientKey が使えることを確認する
getBalanceで残高を確認します。ポイントは消費されません。curl -s https://api.yescaptcha.com/getBalance \-H 'Content-Type: application/json' \-d '{"clientKey": "YOUR_CLIENT_KEY"}'{"errorId": 0, "balance": 12345, ...}が返れば利用可能です。balanceは残りのポイント数です。ERROR_KEY_DOES_NOT_EXISTが返った場合は、キーのコピーが間違っています。 -
画像を認識する
サンプル画像 captcha.jpg をダウンロードし(自分のキャプチャ画像でも構いません)、clientKey を環境変数に設定してから実行します。
export YESCAPTCHA_CLIENT_KEY=你的clientKeyquickstart.sh #!/usr/bin/env bash# First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase (synchronous, 2 points per image)# Usage: YESCAPTCHA_CLIENT_KEY=your_client_key bash quickstart.sh captcha.pngset -euo pipefailIMAGE="${1:-captcha.png}"BODY=$(base64 < "$IMAGE" | tr -d '\n') # no "data:" prefix, no line breakscurl -s https://api.yescaptcha.com/createTask \-H 'Content-Type: application/json' \-d "{\"clientKey\": \"${YESCAPTCHA_CLIENT_KEY}\", \"task\": {\"type\": \"ImageToTextTaskOcrBase\", \"body\": \"${BODY}\"}}"echoquickstart.py """First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase(synchronous, 2 points per image).Usage:export YESCAPTCHA_CLIENT_KEY=your_client_keypython quickstart.py captcha.png"""import base64import osimport sysimport requestsCLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"]image_path = sys.argv[1] if len(sys.argv) > 1 else "captcha.png"with open(image_path, "rb") as f:body = base64.b64encode(f.read()).decode() # no "data:" prefixr = requests.post("https://api.yescaptcha.com/createTask",json={"clientKey": CLIENT_KEY,"task": {"type": "ImageToTextTaskOcrBase", "body": body},},timeout=30,)data = r.json()if data.get("errorId"):raise SystemExit(f"{data.get('errorCode')}: {data.get('errorDescription')}")print("text:", data["solution"]["text"])quickstart.mjs // First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase (synchronous, 2 points per image).// Usage: YESCAPTCHA_CLIENT_KEY=your_client_key node quickstart.mjs captcha.pngimport { readFileSync } from 'node:fs';const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY;const body = readFileSync(process.argv[2] ?? 'captcha.png').toString('base64'); // no "data:" prefixconst res = await fetch('https://api.yescaptcha.com/createTask', {method: 'POST',headers: { 'Content-Type': 'application/json' },body: JSON.stringify({ clientKey: CLIENT_KEY, task: { type: 'ImageToTextTaskOcrBase', body } }),});const data = await res.json();if (data.errorId) throw new Error(`${data.errorCode}: ${data.errorDescription}`);console.log('text:', data.solution.text);実行コマンドは
bash quickstart.sh captcha.jpg、python quickstart.py captcha.jpg、node quickstart.mjs captcha.jpgのいずれかです。Python は事前にpip install requestsが必要で、Node.js は 18 以上のバージョンが必要です。 -
結果を確認する
成功すると次のように返ります。
{"errorId": 0,"status": "ready","solution": {"text": "LMResm"},"taskId": "2376919c-1863-11ec-a012-94e6f7355a0b"}errorIdが 0 なら成功で、認識された文字はsolution.textに入っています。errorIdが 1 の場合はerrorCodeを確認してください。意味は エラーコード を参照してください。
次のステップ
Section titled “次のステップ”- reCAPTCHA や hCaptcha のように token を返すタスクは非同期です。
createTaskがまずtaskIdを返し、その後 5 秒ごとにgetTaskResultを呼び出します。全体の流れは リクエストとレスポンス、例は reCAPTCHA v2 を参照してください。 - タスクタイプを選ぶ:タスクタイプと料金。
- プロジェクトにそのままコピーして使えるクライアント:Python、Node.js。
- コードを書かない場合:ブラウザ拡張機能。