> ## 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 ID-foto skapande API integration beskrivning

> AI ID Photo Production 集成指南 - XHuoAPI

Denna artikel kommer att introducera en AI ID-foto skapande API integration beskrivning, som kan användas för att skapa olika stilar av ID-foton genom att ange en URL för porträttfoto samt en mall som man gillar.

## Ansökningsprocess

För att använda API:et måste du först gå till [AI ID-foto skapande API](https://api.xhuoapi.ai/documents/bf7214a3-8447-4157-8a75-f5bb39d5ed1b) motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på "Acquire"-knappen, som visas i bilden:

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

Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan för att registrera och logga in. Efter inloggning eller registrering kommer du automatiskt att återvända till den aktuella sidan.

Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda API:et gratis.

## Grundläggande användning

Först bör du förstå den grundläggande användningsmetoden, vilket innebär att du anger den porträttbild som behöver bearbetas samt den AI ID-foto mall som du gillar, så får du det bearbetade resultatet. Först behöver du enkelt överföra ett `image_urls` fält, vilket är en array av länkar till de porträttbilder som behöver bearbetas, som visas i bilden:

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

Sedan behöver vi också ange den mall som vi gillar. Denna artikel erbjuder åtta populära mallar, specifika mallar kan refereras till nedan:

```json theme={null}
{
   "male_portrait":  Manligt porträttfoto,
   "male_portrait2":  Manligt porträttfoto (en annan version),
   "kindergarten":  Förskolefoto,
   "logo_tshirt": Företagslogo T-shirt foto,
   "wedding":  Bröllopsregistreringsfoto,
   "business_photo":  Affärsfoto,
   "bob_suit": Svart kostym med bob-frisyr,
   "female_portrait":  Kvinna porträttfoto
}
```

Därefter kan vi också specificera hastighetsparametern `mode`, som vanligtvis delas in i två typer: långsam `relax` och snabb `fast`, specifikt innehåll visas nedan:

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

Här kan vi se att vi har ställt in Request Headers, inklusive:

* `accept`: vilket format av svar du vill ta emot, här anges som `application/json`, det vill säga JSON-format.
* `authorization`: nyckeln för att anropa API:et, som kan väljas direkt efter ansökan.

Dessutom har vi ställt in Request Body, inklusive:

* `mode`: kanalen för att generera ID-foton, huvudsakligen finns det två typer: fast snabb och relax långsam. När du använder relax rekommenderas starkt att använda nedanstående parameter `callback_url`.
* `template`: stilen på ID-foto mallen.
* `image_urls`: länkar till de ID-foton som behöver laddas upp.
* `callback_url`: URL för att få tillbaka resultatet.

När du har valt kan du se att det också har genererats motsvarande kod till höger, som visas i bilden:

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

Klicka på "Try"-knappen för att testa, som visas i bilden ovan, så får vi följande resultat:

```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": "Manligt porträttfoto"
    },
    {
      "id": "202411031951128490",
      "image_url": "https://platform.cdn.xhuoapi.ai/headshots/ae1e4948-dba1-4a6f-87af-67961b647428.png",
      "template": "Manligt porträttfoto"
    }
  ]
}
```

Det returnerade resultatet har flera fält, som beskrivs nedan:

* `success`, statusen för ID-foto skapande uppdraget.
* `task_id`, ID för ID-foto skapande uppdraget.
* `data`, resultatlistan för ID-foto skapande uppdraget.
  * `id`, foto-ID för ID-foto skapande uppdraget.
  * `image_url`, bildlänken för ID-foto skapande uppdraget.
  * `template`, namnet på ID-foto mallen för ID-foto skapande uppdraget.

Vi kan se att vi har fått tillfredsställande ID-foto information baserat på mallen och porträttbilden. Vi behöver bara hämta ID-fotot baserat på bildlänken i `data` resultatet.

Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:

```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"]
}'
```

## Asynkron callback

Eftersom tiden för AI ID-foto skapande är relativt lång, cirka 1-2 minuter, om API:et inte svarar under en längre tid, kommer HTTP-förfrågan att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning. Därför erbjuder detta API också stöd för asynkron callback.

Den övergripande processen är: när klienten initierar en begäran, specificerar den ett extra `callback_url` fält. Efter att klienten har initierat API-begäran kommer API:et omedelbart att returnera ett resultat som innehåller ett `task_id` fält, vilket representerar det aktuella uppdragets ID. När uppdraget är slutfört kommer resultatet av ID-foto skapandet att skickas till klientens angivna `callback_url` i POST JSON-format, vilket också inkluderar `task_id` fältet, så att uppdragets resultat kan kopplas ihop med ID.

Nedan kommer vi att förstå hur man gör detta genom ett exempel.

Först är Webhook callback en tjänst som kan ta emot HTTP-förfrågningar, utvecklare bör ersätta med URL:en till sin egen byggda HTTP-server. För att underlätta demonstration använder vi en offentlig Webhook exempelwebbplats [https://webhook.site/](https://webhook.site/), öppna denna webbplats för att få en Webhook URL, som visas i bilden:

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

Kopiera denna URL, så kan den användas som Webhook. Exemplet här är `https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a`.

Därefter kan vi ställa in fältet `callback_url` till ovanstående Webhook URL, samtidigt som vi fyller i länken till porträttbilden och mallen. Denna artikel rekommenderar att använda asynkron callback när parametern `mode` är `relax`, specifikt innehåll visas i bilden:

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

Klicka på kör, så kan vi omedelbart få ett resultat, som följer:

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

Vänta en stund, så kan vi observera resultatet av skapandet av låten på `https://webhook.site/00f38b26-4289-4899-83d6-0cea7308850a`, som visas i bilden:
![](https://cdn.xhuoapi.ai/ym6fw1.png)

Innehållet är som följer:

```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": "Manlig porträttbild"
        },
        {
            "id": "202411032010132420",
            "image_url": "https://platform.cdn.xhuoapi.ai/headshots/763b1450-8804-434f-acc7-d713be73a28f.png",
            "template": "Manlig porträttbild"
        }
    ]
}
```

Det går att se att resultatet innehåller ett `task_id` fält, de andra fälten är liknande som ovan, genom detta fält kan uppgiften kopplas.

## Felhantering

Vid anrop av API:et, om ett fel uppstår, kommer API:et att returnera motsvarande felkod och information. Till exempel:

* `400 token_mismatched`: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
* `400 api_not_implemented`: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
* `401 invalid_token`: Obemyndigad, ogiltig eller saknad auktoriseringstoken.
* `429 too_many_requests`: För många begärningar, du har överskridit hastighetsgränsen.
* `500 api_error`: Internt serverfel, något gick fel på servern.

### Exempel på felrespons

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

## Slutsats

Genom detta dokument har du fått en förståelse för hur AI-ID-fotografiapiet kan användas för att skapa olika stilar av ID-foton genom att ange URL:en till porträttfotot och den mall du föredrar. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.
