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

# AI Passfoto Task API Integration and Usage

> AI ID Photo Production 集成指南 - XHuoAPI

Die Hauptfunktion der AI Passfoto Task API besteht darin, den Status der Ausführung eines Auftrags zu überprüfen, indem die von der AI Passfoto Erstellung API generierte Auftrags-ID eingegeben wird.

Dieses Dokument wird die Integrationsanleitung für die AI Passfoto Task API detailliert beschreiben, um Ihnen zu helfen, diese API einfach zu integrieren und ihre leistungsstarken Funktionen voll auszuschöpfen. Mit der AI Passfoto Task API können Sie den Status der Ausführung von Aufträgen der AI Passfoto Erstellung API einfach abfragen.

## Antragsprozess

Um die AI Passfoto Task API zu nutzen, müssen Sie zunächst auf die Anmeldeseite [AI Passfoto Erstellung API](https://api.xhuoapi.ai/documents/bf7214a3-8447-4157-8a75-f5bb39d5ed1b) gehen und den entsprechenden Dienst beantragen, dann kopieren Sie die Auftrags-ID der AI Passfoto Erstellung API, wie im Bild gezeigt:

<p>
  <img src="https://cdn.xhuoapi.ai/7ezmmn.png" width="500" className="m-auto" />
</p>

Gehen Sie schließlich zur Tasks API-Seite [AI Passfoto Task API](https://api.xhuoapi.ai/documents/3a23ee34-8689-406b-9042-7954224348ad), um den entsprechenden Dienst zu beantragen. Klicken Sie nach dem Betreten der Seite auf die Schaltfläche „Acquire“, wie im Bild gezeigt:

![Anmeldeseite](https://cdn.xhuoapi.ai/rci31i.png)

Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur [Anmeldeseite](https://api.xhuoapi.ai) weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet.

Bei der ersten Antragstellung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

## Anfragebeispiel

Die AI Passfoto Task API kann verwendet werden, um die Ergebnisse der AI Passfoto Erstellung API abzufragen. Informationen zur Nutzung der AI Passfoto Erstellung API finden Sie im Dokument [AI Passfoto Erstellung API](https://api.xhuoapi.ai/documents/d6ea75a4-836e-490a-aee5-7ca911a808fd).

Wir nehmen als Beispiel eine von der AI Passfoto Erstellung API zurückgegebene Auftrags-ID und demonstrieren, wie man diese API verwendet. Angenommen, wir haben eine Auftrags-ID: `16f96e95-d95c-46ef-b183-139b9bd1aebd`, im Folgenden zeigen wir, wie man durch Eingabe einer Auftrags-ID vorgeht.

### Aufgabenbeispielbild

<p>
  <img src="https://cdn.xhuoapi.ai/7ezmmn.png" width="500" className="m-auto" />
</p>

### Anfrageheader und Anfragekörper festlegen

**Request Headers** umfassen:

* `accept`: Gibt an, dass die Antwort im JSON-Format empfangen werden soll, hier eingetragen als `application/json`.
* `authorization`: Der Schlüssel zur API, der nach der Beantragung direkt ausgewählt werden kann.

**Request Body** umfasst:

* `id`: Die hochgeladene Auftrags-ID.
* `action`: Die Art der Operation für den Auftrag.

Einstellung wie im folgenden Bild gezeigt:

<p>
  <img src="https://cdn.xhuoapi.ai/ezsyyd.png" width="500" className="m-auto" />
</p>

### Codebeispiel

Es kann festgestellt werden, dass auf der rechten Seite der Seite bereits automatisch Code in verschiedenen Sprachen generiert wurde, wie im Bild gezeigt:

<p>
  <img src="https://cdn.xhuoapi.ai/x99wu2.png" width="500" className="m-auto" />
</p>

Einige Codebeispiele sind wie folgt:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/headshots/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/headshots/tasks"

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

payload = {
    "id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
    "action": "retrieve"
}

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

### Antwortbeispiel

Nach erfolgreicher Anfrage gibt die API die Detailinformationen zu diesem Passfotoauftrag zurück. Zum Beispiel:

```json theme={null}
{
  "_id": "67276ab6550a4144a53b6036",
  "id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
  "api_id": "53bcc3f7-12ec-4f04-8ca4-20f150dcde2a",
  "application_id": "1af53f80-c166-4f54-a8ea-0ffc24d8e2cd",
  "created_at": 1730636470.402,
  "credential_id": "3c253880-21ef-478a-9389-c09fa837ac7c",
  "request": {
    "mode": "relax",
    "template": "male_portrait",
    "image_urls": [
      "https://cdn.zhishuyun.com/2024-11-03-d23744954ca4819503469f04f2268aa0.jpg"
    ],
    "callback_url": "https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a"
  },
  "trace_id": "6eded0e2-274d-4cde-a567-d6b0decb9a97",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
    "data": [
      {
        "id": "202411032022077381",
        "image_url": "https://platform.cdn.xhuoapi.ai/headshots/16f96e95-d95c-46ef-b183-139b9bd1aebd.png",
        "template": "Männliches Porträt"
      },
      {
        "id": "202411032022079194",
        "image_url": "https://platform.cdn.xhuoapi.ai/headshots/16f96e95-d95c-46ef-b183-139b9bd1aebd.png",
        "template": "Männliches Porträt"
      }
    ]
  }
}
```

Die Rückgabe enthält mehrere Felder, das request-Feld ist der request body, der beim Starten des Auftrags gesendet wurde, während das response-Feld der response body ist, der nach Abschluss des Auftrags zurückgegeben wird. Die Feldbeschreibung ist wie folgt.

* `id`, die ID des generierten Passfotoauftrags, die zur eindeutigen Identifizierung dieses Passfotoerstellungsauftrags verwendet wird.
* `request`, die Anfrageinformationen im Passfotoauftrag.
* `response`, die Rückgabeinformationen im Passfotoauftrag.

## Batch-Abfrageoperation

Dies ist eine Abfrage der Details von Passfotoaufträgen für mehrere Auftrags-IDs. Im Gegensatz zu oben muss die Aktion auf retrieve\_batch eingestellt werden.

**Request Body** umfasst:

* `ids`: Ein Array der hochgeladenen Auftrags-IDs.
* `action`: Die Art der Operation für den Auftrag.

Einstellung wie im folgenden Bild gezeigt:

<p>
  <img src="https://cdn.xhuoapi.ai/8vynq9.png" width="500" className="m-auto" />
</p>

### Codebeispiel

Es kann festgestellt werden, dass auf der rechten Seite der Seite bereits automatisch Code in verschiedenen Sprachen generiert wurde, wie im Bild gezeigt:

<p>
  <img src="https://cdn.xhuoapi.ai/5jexyn.png" width="500" className="m-auto" />
</p>

Einige Codebeispiele sind wie folgt:

### Antwortbeispiel

Nach erfolgreicher Anfrage gibt die API die spezifischen Detailinformationen zu allen Batch-Passfotoaufträgen zurück. Zum Beispiel:

```json theme={null}
{
  "items": [
    {
      "_id": "67276ab6550a4144a53b6036",
      "id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
      "api_id": "53bcc3f7-12ec-4f04-8ca4-20f150dcde2a",
      "application_id": "1af53f80-c166-4f54-a8ea-0ffc24d8e2cd",
      "created_at": 1730636470.402,
      "credential_id": "3c253880-21ef-478a-9389-c09fa837ac7c",
      "request": {
        "mode": "relax",
        "template": "male_portrait",
        "image_urls": [
          "https://cdn.zhishuyun.com/2024-11-03-d23744954ca4819503469f04f2268aa0.jpg"
        ],
        "callback_url": "https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a"
      },
      "trace_id": "6eded0e2-274d-4cde-a567-d6b0decb9a97",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "16f96e95-d95c-46ef-b183-139b9bd1aebd",
        "data": [
          {
            "id": "202411032022077381",
            "image_url": "https://platform.cdn.xhuoapi.ai/headshots/16f96e95-d95c-46ef-b183-139b9bd1aebd.png",
            "template": "男形象照"
          },
          {
            "id": "202411032022079194",
            "image_url": "https://platform.cdn.xhuoapi.ai/headshots/16f96e95-d95c-46ef-b183-139b9bd1aebd.png",
            "template": "男形象照"
          }
        ]
      }
    },
    {
      "_id": "67276c52550a4144a53b995b",
      "id": "5213468b-6b96-4ad4-9c6a-657bd438d299",
      "api_id": "53bcc3f7-12ec-4f04-8ca4-20f150dcde2a",
      "application_id": "1af53f80-c166-4f54-a8ea-0ffc24d8e2cd",
      "created_at": 1730636882.359,
      "credential_id": "3c253880-21ef-478a-9389-c09fa837ac7c",
      "request": {
        "mode": "relax",
        "template": "male_portrait",
        "image_urls": [
          "https://cdn.zhishuyun.com/2024-11-03-d23744954ca4819503469f04f2268aa0.jpg"
        ],
        "callback_url": "https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a"
      },
      "trace_id": "50b2b4a8-6c1c-4b95-ac0b-46e5b97c7b18",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "task_id": "5213468b-6b96-4ad4-9c6a-657bd438d299",
        "status": "unknown",
        "data": []
      }
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/headshots/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["16f96e95-d95c-46ef-b183-139b9bd1aebd","5213468b-6b96-4ad4-9c6a-657bd438d299"],
  "action": "retrieve_batch"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/headshots/tasks"

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

payload = {
    "ids": ["16f96e95-d95c-46ef-b183-139b9bd1aebd","5213468b-6b96-4ad4-9c6a-657bd438d299"],
    "action": "retrieve_batch"
}

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

## Fehlerbehandlung

Bei der Verwendung der API, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:

* `400 token_mismatched`: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
* `400 api_not_implemented`: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
* `401 invalid_token`: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
* `429 too_many_requests`: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
* `500 api_error`: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

### Fehlerantwort Beispiel

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die AI Passfoto Task API verwenden, um die spezifischen Detailinformationen zu einzelnen oder mehreren Passfotoaufgaben abzufragen. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.
