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

# Hailuo Videos Generation API Integracja Opis

> Hailuo Video Generation 集成指南 - XHuoAPI

W tym dokumencie przedstawiono sposób integracji z Hailuo Videos Generation API, które umożliwia generowanie oficjalnych filmów Hailuo poprzez wprowadzenie niestandardowych parametrów.

## Proces aplikacji

Aby skorzystać z API, należy najpierw przejść do strony [Hailuo Videos Generation API](https://api.xhuoapi.ai/documents/ee06377b-9185-438f-ac84-3376bcb1275e) i złożyć wniosek o odpowiednią usługę. Po wejściu na stronę, kliknij przycisk „Acquire”, jak pokazano na obrazku:

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

Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę.

Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

## Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadzeniem słowa kluczowego `prompt`, działania `action`, linku do pierwszego obrazu `first_image_url` oraz modelu `model`, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole `action`, którego wartość to `generate`, a następnie musimy wprowadzić model, który obecnie obejmuje model generujący wideo z obrazu `minimax-i2v` oraz model generujący wideo z tekstu `minimax-t2v`, szczegóły są następujące:

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

Możemy zobaczyć, że ustawiliśmy nagłówki żądania, w tym:

* `accept`: jakiego formatu odpowiedzi oczekujesz, tutaj wpisz `application/json`, czyli format JSON.
* `authorization`: klucz do wywołania API, który można wybrać z rozwijanej listy po złożeniu wniosku.

Dodatkowo ustawiono ciało żądania, w tym:

* `model`: model generujący wideo, głównie dwa modele: generujący wideo z obrazu `minimax-i2v` oraz generujący wideo z tekstu `minimax-t2v`.
* `action`: działanie związane z zadaniem generowania wideo.
* `first_image_url`: link do pierwszego obrazu referencyjnego, który musi być przesłany, gdy wybierzesz model generujący wideo z obrazu `minimax-i2v`, nie obsługuje kodowania Base64.
* `prompt`: słowo kluczowe.
* `callback_url`: URL, na który mają być zwracane wyniki.

Po dokonaniu wyboru, można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na obrazku:

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

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, otrzymujemy następujący wynik:

```json theme={null}
{
  "success": true,
  "task_id": "baf1034c-684c-46be-ae6d-89ebb89b690d",
  "trace_id": "3221eb74-1a25-447a-ba69-7d9b310e306c",
  "data": [
    {
      "id": "0pv8yhe4fdrge0cmckpv23pd2g",
      "model": "minimax-t2v",
      "prompt": "Internal heat",
      "video_url": "https://file.aigpai.com/czjl/qoueLWBokF3ud6tdVD6VJTZuXTnK5HaMO2qAOS46Ef8VSBFUA/tmp9e3u11c1.output.mp4",
      "state": "succeeded"
    }
  ]
}
```

Zwrócony wynik zawiera wiele pól, które są opisane poniżej:

* `success`, status zadania generowania wideo.
* `task_id`, ID zadania generowania wideo.
* `trace_id`, ID śledzenia generowania wideo.
* `data`, lista wyników zadania generowania wideo.
  * `id`, ID wideo zadania generowania wideo.
  * `prompt`, słowo kluczowe zadania generowania wideo.
  * `model`, link do okładki zadania generowania wideo.
  * `video_url`, link do wideo zadania generowania wideo.
  * `state`, status zadania generowania wideo.

Możemy zobaczyć, że otrzymaliśmy satysfakcjonujące informacje o wideo, wystarczy, że na podstawie adresu linku wideo w `data` uzyskamy wygenerowane wideo Hailuo.

Dodatkowo, jeśli chcesz wygenerować odpowiedni kod integracyjny, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/hailuo/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "prompt": "Internal heat"
}'
```

## Asynchroniczne wywołanie zwrotne

Ponieważ czas generowania Hailuo Videos Generation API jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych wywołań zwrotnych.

Cały proces wygląda następująco: klient inicjuje żądanie, dodatkowo określając pole `callback_url`. Po złożeniu żądania API natychmiast zwraca wynik, zawierający pole `task_id`, które reprezentuje aktualne ID zadania. Po zakończeniu zadania, wynik generowania wideo zostanie wysłany do określonego przez klienta `callback_url` w formie POST JSON, który również zawiera pole `task_id`, dzięki czemu wyniki zadania można powiązać za pomocą ID.

Poniżej przedstawiamy przykład, aby zrozumieć, jak to działa.

Najpierw, wywołanie zwrotne Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić to URL swojego serwera HTTP. W celu wygodnej demonstracji użyjemy publicznej strony przykładowej Webhook [https://webhook.site/](https://webhook.site/), otwierając tę stronę, otrzymasz URL Webhook, jak pokazano na obrazku:

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

Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to `https://webhook.site/580b81f5-596e-4321-b03f-606770b0bb83`.

Następnie możemy ustawić pole `callback_url` na powyższy URL Webhook, a także wprowadzić odpowiednie parametry, szczegóły są pokazane na obrazku:

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

Klikając „Uruchom”, można zauważyć, że natychmiast otrzymujemy wynik, jak poniżej:

```
{
  "task_id": "05aff65c-5e84-442b-8e29-3a5d27130840"
}
```

Po chwili możemy na stronie `https://webhook.site/580b81f5-596e-4321-b03f-606770b0bb83` zobaczyć wynik generowania wideo, jak pokazano na obrazku:

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

Zawartość jest następująca:

```json theme={null}
{
    "success": true,
    "task_id": "05aff65c-5e84-442b-8e29-3a5d27130840",
    "trace_id": "b9856b8a-725d-45c9-befe-e789d9fd9ffb",
    "data": [
        {
            "id": "t80jhsf96srg80cmcm6b0rk8gm",
            "model": "minimax-t2v",
            "prompt": "Internal heat",
            "video_url": "https://file.aigpai.com/czjl/YPaUz2DcwpJqItTXAG9XHAoEoj3dbF0XPU69LT5nefCMzBFUA/tmp8s_59jez.output.mp4",
            "state": "succeeded"
        }
    ]
}
```

Możemy zobaczyć, że wynik zawiera pole `task_id`, a inne pola są podobne do tych opisanych wcześniej, dzięki czemu można powiązać zadanie za pomocą tego pola.

## Obsługa błędów

Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:

* `400 token_mismatched`：Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `400 api_not_implemented`：Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `401 invalid_token`：Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
* `429 too_many_requests`：Zbyt wiele żądań, przekroczyłeś limit szybkości.
* `500 api_error`：Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

### Przykład odpowiedzi błędu

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

## Wnioski

Dzięki temu dokumentowi zrozumiałeś, jak korzystać z API Hailuo Videos Generation, które umożliwia generowanie wideo na podstawie wprowadzonych podpowiedzi oraz obrazu referencyjnego pierwszej klatki. Mamy nadzieję, że ten dokument pomoże Ci lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, skontaktuj się z naszym zespołem wsparcia technicznego.
