> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# 数字英文验证码識別 API 接続説明

> Recognition of English numerical verification codes API guide - Ace Data Cloud

本文では、数字英文验证码識別 API 接続説明を紹介します。これは深層学習技術に基づいており、可変長の英文数字验证码を識別するために使用できます。入力された验证码画像の内容に基づいて、验证码の結果を出力します。

## 申請プロセス

数字英文验证码識別 API を使用するには、まず [Ace Data Cloud コントロールパネル](https://platform.acedata.cloud/console/applications) にアクセスして、API トークンを取得し、保管してください。

![](https://cdn.acedata.cloud/5hmkdg.jpg)

まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。

**1つの API トークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。** 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、[コントロールパネル](https://platform.acedata.cloud/console/coin) で一般残高をチャージできます。

> 📘 完全なドキュメント：[数字英文验证码識別 API →](https://platform.acedata.cloud/documents/captcha-recognition-image2text)

## 基本使用

まず、基本的な使用方法を理解します。これは、処理する必要がある可変長の英文数字验证码画像を入力することで、処理された結果を得ることができます。最初に、`image` フィールドを単純に渡す必要があります。これが具体的な英文数字验证码画像です。以下のように示されています：

<p>
  <img src="https://cdn.acedata.cloud/c50hi9.png" width="500" className="m-auto" />
</p>

次に、验证码画像をBase64エンコードされた验证码画像に変換する必要があります。Base64エンコードの変換には、Google Chromeの拡張機能FeHelperを使用することをお勧めします。具体的な使用方法は以下の図を参照してください：

<p>
  <img src="https://cdn.acedata.cloud/zy2jwh.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.acedata.cloud/pr73gn.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.acedata.cloud/ic4dbw.png" width="500" className="m-auto" />
</p>

その後、Google Chromeの拡張機能FeHelperで取得したBase64エンコードをコピーできます。`data:image/png;base64`のプレフィックスは含まれないことに注意してください。具体的な内容は以下の通りです：

<p>
  <img src="https://cdn.acedata.cloud/5h4x4w.png" width="500" className="m-auto" />
</p>

ここで、リクエストヘッダーを設定しました。これには以下が含まれます：

* `accept`：受け取りたいレスポンス結果の形式。ここでは `application/json`、つまりJSON形式を記入します。
* `authorization`：APIを呼び出すためのキー。申請後、直接ドロップダウンから選択できます。

さらに、リクエストボディを設定しました。これには以下が含まれます：

* `image`：Base64エンコードされた验证码画像（`data:image/png;base64`のプレフィックスは含まれません）。

選択後、右側にも対応するコードが生成されていることがわかります。以下のように示されています：

<p>
  <img src="https://cdn.acedata.cloud/202y3d.png" width="500" className="m-auto" />
</p>

「Try」ボタンをクリックするとテストが実行され、上の図のように以下の結果が得られます：

```json theme={null}
{
  "text": "7364"
}
```

返された結果には複数のフィールドがあり、以下のように説明されます：

* `text`：今回の可変長英文数字验证码画像タスク処理後の文字内容。

処理された可変長英文数字验证码画像の検証結果が得られたことがわかります。結果の中の `text` の文字内容に基づいて検証を通過できます。

また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/recognition/image2text' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}'
```

Pythonの接続コードは以下の通りです：

```python theme={null}
import requests

url = "https://api.acedata.cloud/captcha/recognition/image2text"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## 非同期モード（async）

デフォルトでは、APIは同期ブロッキングです：1回のリクエストは、識別結果の処理が完了するまで待機します。複数の打码器のローテーション（multi-solver rotation）を行っている場合、「タスクを提出した後、すぐに task\_id を取得し、他の打码器を調整し、後で結果を取得する」ことを希望する場合は、リクエストボディに `async: true` を渡すことができます。

`async: true` を渡すと、インターフェースはすぐに `task_id` を返し、ブロックして待機しません：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/recognition/image2text' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX...",
  "async": true
}'
```

```json theme={null}
{
  "success": true,
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002",
  "trace_id": "2efa9340-b21b-4e26-9e14-4aac95f343ab",
  "status": "processing"
}
```

その後、この `task_id` を使用して `POST /captcha/tasks` をポーリングします（推奨は3〜5秒ごと）して結果を取得します：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002"
}'
```

処理中は `status: processing` が返されます：

```json theme={null}
{ "success": true, "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002", "status": "processing" }
```

処理が完了すると、`status: ready` と識別結果 `text` が返されます（フィールド構造は同期モードと完全に一致します）：

```json theme={null}
{
  "success": true,
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002",
  "status": "ready",
  "text": "7364"
}
```

請求の説明：非同期モードでは、タスクの作成と「処理中」のポーリングは課金されません；**識別結果を正常に取得したときにのみ1回課金されます**（同期モードの価格と一致します）。したがって、ローテーション中に未完了のタスクをキャンセルしても費用は発生しません。`/captcha/tasks` はすべての验证码インターフェース（トークンと認識シリーズ）に共通で、同じ `task_id` でポーリングできます。

## エラー処理

APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードと情報を返します。例えば：

* `400 token_mismatched`：不正なリクエスト、パラメータが不足または無効である可能性があります。
* `400 api_not_implemented`：不正なリクエスト、パラメータが不足または無効である可能性があります。
* `401 invalid_token`：未認証、無効または不足している認証トークン。
* `429 too_many_requests`：リクエストが多すぎます、レート制限を超えました。
* `500 api_error`：内部サーバーエラー、サーバーで何かがうまくいきませんでした。

### エラー応答の例

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "取得に失敗しました"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## 結論

この文書を通じて、デジタル英数字認識APIを使用して可変長の英数字認証コードを認識する方法を理解しました。認証コード画像の内容を入力し、認証コードの結果を出力します。この文書がAPIの接続と使用に役立つことを願っています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。
