> ## 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.

# Integrazione e utilizzo dell'API Hailuo Tasks

> Hailuo Video Generation 集成指南 - XHuoAPI

La principale funzionalità dell'API Hailuo Tasks è quella di interrogare lo stato di esecuzione di un'attività fornendo l'ID dell'attività generato dall'API Hailuo Videos Generation.

Questo documento fornirà una descrizione dettagliata dell'integrazione dell'API Hailuo Tasks, aiutandoti a integrare facilmente e sfruttare appieno le potenti funzionalità di questa API. Attraverso l'API Hailuo Tasks, puoi facilmente interrogare lo stato di esecuzione delle attività dell'API Hailuo Videos Generation.

## Processo di richiesta

Per utilizzare l'API Hailuo Tasks, è necessario prima andare alla pagina di richiesta [Hailuo Videos Generation API](https://api.xhuoapi.ai/documents/ee06377b-9185-438f-ac84-3376bcb1275e) per richiedere il servizio corrispondente, quindi copiare l'ID dell'attività dell'API Hailuo Videos Generation, come mostrato nell'immagine:

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

Infine, accedi alla pagina dell'API Tasks [Hailuo Tasks API](https://api.xhuoapi.ai/documents/4b1ccdbc-b8ed-4171-9a14-48e10970ba04) per richiedere il servizio corrispondente. Una volta entrato nella pagina, fai clic sul pulsante "Acquire", come mostrato nell'immagine:

![Pagina di richiesta](https://cdn.xhuoapi.ai/rci31i.png)

Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla [pagina di login](https://api.xhuoapi.ai) che ti invita a registrarti e accedere. Dopo aver effettuato il login o la registrazione, verrai automaticamente riportato alla pagina corrente.

Alla prima richiesta, verrà offerto un credito gratuito, che ti consente di utilizzare gratuitamente questa API.

## Esempio di richiesta

L'API Hailuo Tasks può essere utilizzata per interrogare i risultati dell'API Hailuo Videos Generation. Per informazioni su come utilizzare l'API Hailuo Videos Generation, fare riferimento al documento [Hailuo Videos Generation API](https://api.xhuoapi.ai/documents/d2fc9087-2996-4573-bfe5-8b1c828fdfc7).

Prendiamo come esempio un ID di attività restituito dal servizio Hailuo Videos Generation API, per dimostrare come utilizzare questa API. Supponiamo di avere un ID di attività: 58cc618b-9639-4ee7-add2-d2fcf260d9a3, e ora dimostriamo come passare un ID di attività.

### Esempio di attività

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

### Impostazione dell'intestazione della richiesta e del corpo della richiesta

**Request Headers** includono:

* `accept`: specifica di ricevere la risposta in formato JSON, qui impostato su `application/json`.
* `authorization`: la chiave per chiamare l'API, che può essere selezionata direttamente dopo la richiesta.

**Request Body** include:

* `id`: l'ID dell'attività caricata.
* `action`: il modo di operare sull'attività.

Impostato come mostrato nell'immagine:

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

### Esempio di codice

Si può notare che, sul lato destro della pagina, sono già stati generati automaticamente vari codici in diverse lingue, come mostrato nell'immagine:

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

Alcuni esempi di codice sono i seguenti:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/hailuo/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

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

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

payload = {
    "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
    "action": "retrieve"
}

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

### Esempio di risposta

Dopo una richiesta riuscita, l'API restituirà i dettagli di questa attività video. Ad esempio:

```json theme={null}
{
  "_id": "67866dff550a4144a5867aa7",
  "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
  "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
  "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
  "created_at": 1736863231.588,
  "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
  "request": {
    "action": "generate",
    "prompt": "Internal heat"
  },
  "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
    "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
    "data": [
      {
        "id": "2a1tbgnjdxrg80cmcmes19s33r",
        "model": "minimax-t2v",
        "prompt": "Internal heat",
        "first_image_url": null,
        "video_url": "https://file.aigpai.com/czjl/tjU3QYKgU96IJFgpL0eMfBFhmy0qXz9Y05P2IBhShCYaDCFUA/tmp5uligw3a.output.mp4",
        "state": "succeeded"
      }
    ]
  }
}
```

Il risultato restituito contiene diversi campi, il campo request è il corpo della richiesta inviato per avviare l'attività, mentre il campo response è il corpo della risposta restituito dopo il completamento dell'attività. La descrizione dei campi è la seguente.

* `id`, l'ID dell'attività video generata, utilizzato per identificare univocamente questa attività di generazione video.
* `request`, informazioni sulla richiesta nell'attività video.
* `response`, informazioni sulla risposta nell'attività video.

## Operazione di query in batch

Questa è per interrogare i dettagli delle attività video per più ID di attività, a differenza di quanto sopra, è necessario selezionare l'azione come retrieve\_batch.

**Request Body** include:

* `ids`: array degli ID delle attività caricate.
* `action`: il modo di operare sull'attività.

Impostato come mostrato nell'immagine:

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

### Esempio di codice

Si può notare che, sul lato destro della pagina, sono già stati generati automaticamente vari codici in diverse lingue, come mostrato nell'immagine:

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

Alcuni esempi di codice sono i seguenti:

### Esempio di risposta

Dopo una richiesta riuscita, l'API restituirà i dettagli specifici di tutte le attività video in batch. Ad esempio:

```json theme={null}
{
  "items": [
    {
      "_id": "67866fad550a4144a587053c",
      "id": "09d4a93e-d5c8-4778-bdf2-711773d71c59",
      "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
      "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
      "created_at": 1736863661.511,
      "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
      "request": {
        "action": "generate",
        "prompt": "Calore interno"
      },
      "trace_id": "0edc94c6-4938-4bff-bb16-20364c254e40",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "09d4a93e-d5c8-4778-bdf2-711773d71c59",
        "trace_id": "0edc94c6-4938-4bff-bb16-20364c254e40",
        "data": [
          {
            "id": "24zdgea0s1rge0cmcmjbsfj2m8",
            "model": "minimax-t2v",
            "prompt": "Calore interno",
            "first_image_url": null,
            "video_url": "https://file.aigpai.com/czjl/6cTYBRBDVJIQANzG7GaPwPblbeIiFe4yUDcVoMkkXttqJCFUA/tmpm4ke45c5.output.mp4",
            "state": "succeeded"
          }
        ]
      }
    },
    {
      "_id": "67866dff550a4144a5867aa7",
      "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
      "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
      "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
      "created_at": 1736863231.588,
      "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
      "request": {
        "action": "generate",
        "prompt": "Calore interno"
      },
      "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
        "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
        "data": [
          {
            "id": "2a1tbgnjdxrg80cmcmes19s33r",
            "model": "minimax-t2v",
            "prompt": "Calore interno",
            "first_image_url": null,
            "video_url": "https://file.aigpai.com/czjl/tjU3QYKgU96IJFgpL0eMfBFhmy0qXz9Y05P2IBhShCYaDCFUA/tmp5uligw3a.output.mp4",
            "state": "succeeded"
          }
        ]
      }
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/hailuo/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["09d4a93e-d5c8-4778-bdf2-711773d71c59","58cc618b-9639-4ee7-add2-d2fcf260d9a3"],
  "action": "retrieve_batch"
}'
```

#### Python

```python theme={null}
import requests

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

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

payload = {
    "ids": ["09d4a93e-d5c8-4778-bdf2-711773d71c59","58cc618b-9639-4ee7-add2-d2fcf260d9a3"],
    "action": "retrieve_batch"
}

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

## Errore di gestione

In caso di errore durante la chiamata all'API, l'API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:

* `400 token_mismatched`：Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
* `400 api_not_implemented`：Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
* `401 invalid_token`：Non autorizzato, token di autorizzazione non valido o mancante.
* `429 too_many_requests`：Troppe richieste, hai superato il limite di frequenza.
* `500 api_error`：Errore interno del server, qualcosa è andato storto sul server.

### Esempio di risposta di errore

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

## Conclusione

Attraverso questo documento, hai compreso come utilizzare l'API Hailuo Tasks per interrogare i dettagli specifici di singoli o batch di video. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.
