> ## 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 Erstellung API Integrationsanleitung

> AI ID Photo Production 集成指南 - XHuoAPI

Dieser Artikel beschreibt eine AI Passfoto Erstellung API Integrationsanleitung, die es ermöglicht, verschiedene Stile von Passfotos durch Eingabe der URL eines Porträtfotos und eines bevorzugten Templates zu erstellen.

## Antragsprozess

Um die API zu nutzen, müssen Sie zunächst auf die entsprechende Seite der [AI Passfoto Erstellung API](https://api.xhuoapi.ai/documents/bf7214a3-8447-4157-8a75-f5bb39d5ed1b) gehen und den entsprechenden Dienst beantragen. Nach dem Betreten der Seite klicken Sie auf die Schaltfläche „Acquire“, wie im Bild gezeigt:

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

Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite 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, das die kostenlose Nutzung der API ermöglicht.

## Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, bei der Sie das zu verarbeitende Porträtbild und das bevorzugte AI Passfoto-Template eingeben, um das bearbeitete Ergebnis zu erhalten. Zunächst müssen Sie einfach ein `image_urls` Feld übergeben, das ein Array von Links zu den zu verarbeitenden Porträtbildern enthält, wie im Bild gezeigt:

<p>
  <img src="https://cdn.zhishuyun.com/2024-11-03-d23744954ca4819503469f04f2268aa0.jpg" width="500" className="m-auto" />
</p>

Dann müssen wir auch unser bevorzugtes Template eingeben. In diesem Artikel werden acht beliebte Templates angeboten, die spezifischen Templates sind wie folgt:

```json theme={null}
{
   "male_portrait":  männliches Porträtfoto,
   "male_portrait2":  männliches Porträtfoto (eine andere Version),
   "kindergarten":  Kindergartenaufnahme,
   "logo_tshirt": Unternehmenslogo T-Shirt Foto,
   "wedding":  Hochzeitsregistrierungsfoto,
   "business_photo":  Business-Foto,
   "bob_suit": schwarzer Anzug mit Bob-Haarschnitt,
   "female_portrait":  weibliches Porträtfoto
}
```

Anschließend können wir auch den Geschwindigkeitsparameter `mode` angeben, der in der Regel in zwei Arten unterteilt ist: langsam `relax` und schnell `fast`, die spezifischen Inhalte sind wie folgt:

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

Hier sehen wir, dass wir die Request Headers festgelegt haben, einschließlich:

* `accept`: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als `application/json`, also im JSON-Format.
* `authorization`: Der Schlüssel zur Nutzung der API, der nach der Beantragung direkt ausgewählt werden kann.

Zusätzlich haben wir den Request Body festgelegt, einschließlich:

* `mode`: Der Kanal zur Erstellung des Passfotos, hauptsächlich gibt es fast schnell und relax langsam, bei Verwendung von relax wird dringend empfohlen, den untenstehenden Parameter `callback_url` zu verwenden.
* `template`: Der Stil des Passfoto-Templates.
* `image_urls`: Die Links zu den hochzuladenden Passfoto-Porträts.
* `callback_url`: Die URL, an die das Ergebnis zurückgerufen werden soll.

Nach der Auswahl können Sie feststellen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild gezeigt:

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

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen, wie im obigen Bild gezeigt, und wir erhalten folgendes Ergebnis:

```json theme={null}
{
  "success": true,
  "task_id": "ae1e4948-dba1-4a6f-87af-67961b647428",
  "data": [
    {
      "id": "202411031951124776",
      "image_url": "https://platform.cdn.xhuoapi.ai/headshots/ae1e4948-dba1-4a6f-87af-67961b647428.png",
      "template": "männliches Porträtfoto"
    },
    {
      "id": "202411031951128490",
      "image_url": "https://platform.cdn.xhuoapi.ai/headshots/ae1e4948-dba1-4a6f-87af-67961b647428.png",
      "template": "männliches Porträtfoto"
    }
  ]
}
```

Die Rückgabe enthält mehrere Felder, die wie folgt beschrieben werden:

* `success`, der Status des Passfoto-Erstellungsauftrags.
* `task_id`, die ID des Passfoto-Erstellungsauftrags.
* `data`, die Ergebnisliste des Passfoto-Erstellungsauftrags.
  * `id`, die Foto-ID des Passfoto-Erstellungsauftrags.
  * `image_url`, der Bildlink des Passfoto-Erstellungsauftrags.
  * `template`, der Name des Passfoto-Templates des Erstellungsauftrags.

Wir sehen, dass wir die gewünschten Passfoto-Informationen basierend auf dem Template und dem Porträtbild erhalten haben. Wir müssen nur den Bildlink aus dem `data`-Ergebnis abrufen, um das Passfoto zu erhalten.

Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel ist der CURL-Code wie folgt:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/headshots/generate' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "mode": "fast",
  "template": "male_portrait",
  "image_urls": ["https://cdn.zhishuyun.com/2024-11-03-d23744954ca4819503469f04f2268aa0.jpg"]
}'
```

## Asynchrone Rückrufe

Da die Erstellung von AI Passfotos relativ lange dauert, etwa 1-2 Minuten, wird die HTTP-Anfrage bei langer Nichtantwort weiterhin verbunden bleiben, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe.

Der gesamte Prozess ist: Wenn der Client die Anfrage stellt, gibt er zusätzlich ein `callback_url` Feld an. Nach der API-Anfrage gibt die API sofort ein Ergebnis zurück, das ein `task_id` Feld enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis der Passfoto-Erstellung in Form von POST JSON an die vom Client angegebene `callback_url` gesendet, wobei auch das `task_id` Feld enthalten ist, sodass die Aufgabenergebnisse über die ID verknüpft werden können.

Lassen Sie uns anhand eines Beispiels verstehen, wie dies konkret funktioniert.

Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten die URL ihres eigenen HTTP-Servers ersetzen. Zur Vereinfachung der Demonstration verwenden wir eine öffentliche Webhook-Beispielwebsite [https://webhook.site/](https://webhook.site/), auf der Sie eine Webhook-URL erhalten, wie im Bild gezeigt:

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

Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier lautet `https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a`.

Anschließend können wir das Feld `callback_url` auf die oben genannte Webhook-URL setzen und die Links zu den Porträtbildern sowie das Template eingeben. In diesem Artikel wird empfohlen, den Parameter `mode` auf `relax` zu setzen, wenn Sie asynchrone Rückrufe verwenden, die spezifischen Inhalte sind wie im Bild gezeigt:

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

Klicken Sie auf Ausführen, und Sie werden sofort ein Ergebnis erhalten, wie folgt:

```
{
  "task_id": "763b1450-8804-434f-acc7-d713be73a28f"
}
```

Nach kurzer Wartezeit können wir auf `https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a` das Ergebnis der Erstellung des Passfotos beobachten, wie im Bild gezeigt:
![](https://cdn.xhuoapi.ai/ym6fw1.png)

Inhalt wie folgt:

```json theme={null}
{
    "success": true,
    "task_id": "763b1450-8804-434f-acc7-d713be73a28f",
    "data": [
        {
            "id": "202411032010131366",
            "image_url": "https://platform.cdn.xhuoapi.ai/headshots/763b1450-8804-434f-acc7-d713be73a28f.png",
            "template": "Männliches Porträt"
        },
        {
            "id": "202411032010132420",
            "image_url": "https://platform.cdn.xhuoapi.ai/headshots/763b1450-8804-434f-acc7-d713be73a28f.png",
            "template": "Männliches Porträt"
        }
    ]
}
```

Es ist zu erkennen, dass im Ergebnis ein `task_id` Feld vorhanden ist, die anderen Felder sind ähnlich wie im vorherigen Text, über dieses Feld kann die Zuordnung der Aufgaben erfolgen.

## Fehlerbehandlung

Bei der API-Nutzung, 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 Kontingent überschritten.
* `500 api_error`: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

### Fehlerantwort Beispiel

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

## Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die AI-Porträtfoto API nutzen können, um verschiedene Stile von Ausweisfotos zu erstellen, indem Sie die URL des Porträtfotos und das gewünschte Template eingeben. 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.
