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

# Veo Videos Generation API Integracja Opis

> Veo Video Generation API guide - Ace Data Cloud

W tym artykule przedstawimy sposób integracji Veo Videos Generation API, które pozwala na generowanie oficjalnych filmów Veo poprzez wprowadzenie niestandardowych parametrów.

## Proces aplikacji

Aby korzystać z Veo Videos Generation API, najpierw przejdź do [Ace Data Cloud konsoli](https://platform.acedata.cloud/console/applications), aby uzyskać swój token API, który należy zachować na przyszłość.

![](https://cdn.acedata.cloud/5hmkdg.jpg)

Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.

**Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi.** Przy pierwszym wniosku otrzymasz darmowy limit, aby móc skorzystać z usługi; gdy limit się wyczerpie, możesz doładować saldo ogólne w [konsoli](https://platform.acedata.cloud/console/coin).

> 📘 Pełna dokumentacja: [Veo Videos Generation API →](https://platform.acedata.cloud/documents/veo-videos)

## Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadzeniem słowa kluczowego `prompt`, działania `action`, tablicy referencyjnych obrazów `image_urls` oraz modelu `model`, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole `action`, którego wartość to `text2video`, które głównie zawiera trzy działania: generowanie wideo z tekstu (`text2video`), generowanie wideo z obrazu (`image2video`), pobieranie wideo w 1080p (`get1080p`). Następnie musimy również wprowadzić model `model`, który obecnie obejmuje głównie modele `veo31-fast`, `veo3`, `veo31`, `veo3-fast` i `veo31-fast-ingredients`, szczegóły są następujące:

<p>
  <img src="https://cdn.acedata.cloud/vv5pe8.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, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.

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

* `model`: model do generowania wideo, głównie `veo31-fast`, `veo3`, `veo31`, `veo3-fast` i `veo31-fast-ingredients`.
* `action`: działanie tego zadania generowania wideo, które głównie obejmuje trzy działania: generowanie wideo z tekstu (`text2video`), generowanie wideo z obrazu (`image2video`), pobieranie wideo w 1080p (`get1080p`).
* `image_urls`: gdy wybierzesz działanie generowania wideo z obrazu `image2video`, musisz przesłać linki do referencyjnych obrazów. `veo31-fast-ingredients` obsługuje maksymalnie 3 obrazy (fuzja wielu obrazów), pozostałe modele obsługują maksymalnie 2 obrazy (tryb pierwszego i ostatniego obrazu).
* `resolution`: wybór rozdzielczości generowanego wideo, model veo31 obsługuje rozdzielczość 4k, inne modele nie obsługują, wszystkie modele obsługują rozdzielczości 1080p oraz gif, jeśli nie przekażesz tej wartości, domyślnie używana jest rozdzielczość 720p, głównie dzieli się na: `1080p`, `gif`, `4k`.
* `prompt`: słowo kluczowe.
* `callback_url`: URL, na który mają być zwracane wyniki.
* `async`: opcjonalne, ustaw na `true`, aby interfejs natychmiast zwrócił `task_id`, nie ma potrzeby podawania `callback_url`, a następnie za pomocą odpowiedniego interfejsu do zapytań o zadania można uzyskać wyniki.

### 📌 Podsumowanie opisu modelu

| **Nazwa modelu**           | **Obsługiwane tryby**                                                                                              | **Zasady dotyczące wejściowych obrazów**                                                     |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| **veo3-fast**              | Generowanie wideo z tekstu (bez obrazu)<br />Tryb generowania wideo z obrazu (z obrazem)                           | **1 obraz** → tryb pierwszego obrazu<br />**2 obrazy** → tryb pierwszego i ostatniego obrazu |
| **veo31-fast**             | Generowanie wideo z tekstu (bez obrazu)<br />Tryb generowania wideo z obrazu (z obrazem)                           | **1 obraz** → tryb pierwszego obrazu<br />**2 obrazy** → tryb pierwszego i ostatniego obrazu |
| **veo31-fast-ingredients** | ❌ Generowanie wideo z tekstu (nieobsługiwane)<br />✅ **Wymuszone łączenie wielu obrazów** (musisz przesłać obrazy) | **1-3 obrazy** → tryb łączenia wielu obrazów (maksymalnie 3 obrazy)                          |
| **veo3**                   | Generowanie wideo z tekstu (bez obrazu)<br />Tryb generowania wideo z obrazu (z obrazem)                           | **1 obraz** → tryb pierwszego obrazu<br />**2 obrazy** → tryb pierwszego i ostatniego obrazu |
| **veo31**                  | Generowanie wideo z tekstu (bez obrazu)<br />Tryb generowania wideo z obrazu (z obrazem)                           | **1 obraz** → tryb pierwszego obrazu<br />**2 obrazy** → tryb pierwszego i ostatniego obrazu |

***

### 🔑 Opis kluczowych zasad

1. **Ogólna logika**:
   * **Brak wejściowych obrazów** → automatycznie uruchamia tryb generowania wideo z tekstu.
   * **Obrazy wejściowe** → uruchamia tryb generowania wideo z obrazu (konkretne działanie zależy od liczby obrazów).
2. **Typy trybów generowania wideo z obrazu**:
   * **Tryb pierwszego obrazu** (1 obraz): pierwszy obraz jest stały jako obraz wejściowy.
   * **Tryb pierwszego i ostatniego obrazu** (2 obrazy): pierwszy i ostatni obraz są stałe jako obrazy wejściowe.
   * **Tryb łączenia wielu obrazów** (1-3 obrazy): tylko `veo31-fast-ingredients` obsługuje, łączy treści wielu obrazów w celu generowania wideo.
3. **Klasyfikacja trybów**:

* **Tryb Fast**: `veo3-fast`, `veo31-fast`, `veo31-fast-ingredients`.
* **Tryb Quality**: `veo3`, `veo31` (generuje wyższą jakość).

***

### ⚠️ Uwagi

* **Jedyny model wymagający przesłania obrazów**: `veo31-fast-ingredients` musi mieć przesłane obrazy (1-3 obrazy), w przeciwnym razie nie będzie działać.
* **Ograniczenia liczby obrazów**:
  * `veo31-fast-ingredients` obsługuje **1-3 obrazy** wejściowe (tryb łączenia wielu obrazów).
  * Inne modele obsługują maksymalnie **2 obrazy** wejściowe (tryb pierwszego i ostatniego obrazu).

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

<p>
  <img src="https://cdn.acedata.cloud/pmwh4y.png" width="500" className="m-auto" />
</p>

Kliknij przycisk „Spróbuj”, aby przeprowadzić test, jak pokazano na powyższym obrazku, a oto uzyskany wynik:

```json theme={null}
{
  "success": true,
  "task_id": "697ea2fc-58fd-48c8-8191-29041ff23c3c",
  "trace_id": "70e1cb12-c619-4292-a416-90191205996b",
  "data": [
    {
      "id": "24ac06a5-9cc7-448f-802e-0b4db19f6e96",
      "video_url": "https://platform2.cdn.acedata.cloud/veo/f5389ec0-2eb5-4212-b4a8-04b513b0129a.mp4",
      "created_at": "2026-06-30T04:01:50.364Z",
      "complete_at": "2026-06-30T04:03:20.495Z",
      "state": "succeeded"
    }
  ]
}
```

Wynik zwrotny zawiera wiele pól, które są opisane poniżej:

* `success`，aktualny stan zadania generowania wideo.
* `task_id`，aktualny identyfikator zadania generowania wideo.
* `data`，aktualny wynik zadania generowania wideo.
  * `id`，aktualny identyfikator wideo zadania generowania wideo.
  * `video_url`，aktualny link do wideo zadania generowania wideo.
  * `created_at`，aktualny czas utworzenia zadania generowania wideo.
  * `complete_at`，aktualny czas zakończenia zadania generowania wideo.
  * `state`，aktualny stan zadania generowania wideo.

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

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

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/veo/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "veo31-fast",
  "prompt": "Biały ceramiczny kubek do kawy na błyszczącej marmurowej blacie z porannym światłem z okna. Kamera powoli obraca się o 360 stopni wokół kubka, zatrzymując się na chwilę przy uchwycie."
}'
```

## Funkcja generowania wideo z obrazów

Jeśli chcesz wygenerować wideo na podstawie obrazów klatki początkowej i końcowej, możesz ustawić parametr `action` na `image2video` i wprowadzić tablicę linków do obrazów klatki początkowej i końcowej `image_urls`.

Następnie musimy wypełnić kolejne wymagane słowa kluczowe, aby dostosować generowane wideo, możemy określić następujące treści:

* `model`：model generowania wideo, głównie `veo31-fast`、`veo3`、`veo31`、`veo3-fast` i `veo31-fast-ingredients`.
* `image_urls`：gdy wybierzesz działanie generowania wideo `image2video`, musisz przesłać linki do referencyjnych obrazów.
* `prompt`：słowo kluczowe.

Przykład wypełnienia wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/8wvlqd.png" width="500" className="m-auto" />
</p>

Po wypełnieniu automatycznie wygenerowano kod, który wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/tgzfxi.png" width="500" className="m-auto" />
</p>

Odpowiedni kod Python:

```python theme={null}
import requests

url = "https://api.acedata.cloud/veo/videos"

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

payload = {
    "action": "image2video",
    "model": "veo31-fast",
    "prompt": "Niech tańczy",
    "image_urls": ["https://cdn.acedata.cloud/7p1jhy.png"]
}

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

Klikając uruchom, można zauważyć, że otrzymamy wynik, jak poniżej:

```json theme={null}
{
  "success": true,
  "task_id": "98e309f3-35bc-438d-8cb3-4015fc864b87",
  "trace_id": "8bc68066-36de-41ef-ae5e-b7d61ff6aee8",
  "data": [
    {
      "id": "59f12222b1fa4fbe9331ff2400ad1583",
      "video_url": "https://platform.cdn.acedata.cloud/veo/98e309f3-35bc-438d-8cb3-4015fc864b87.mp4",
      "created_at": "2025-07-25 16:13:07",
      "complete_at": "2025-07-25 16:16:12",
      "state": "succeeded"
    }
  ]
}
```

Można zauważyć, że treść wyniku jest zgodna z powyższym, co realizuje funkcję generowania wideo z obrazów.

## Funkcja uzyskiwania wideo 1080p

Jeśli chcesz uzyskać 1080p dla już wygenerowanego wideo Veo, możesz ustawić parametr `action` na `get1080p` i wprowadzić ID wideo, dla którego chcesz uzyskać 1080p. ID wideo można uzyskać na podstawie podstawowego użycia, jak pokazano na poniższym obrazku:

<p>
  <img src="https://cdn.acedata.cloud/hacabc.png" width="500" className="m-auto" />
</p>

W tym momencie można zobaczyć, że ID wideo to:

```json theme={null}
"id": "59f12222b1fa4fbe9331ff2400ad1583"
```

> Uwaga, tutaj `video_id` w wideo to ID wygenerowanego wideo, jeśli nie wiesz, jak wygenerować wideo, możesz odwołać się do powyższego podstawowego użycia, aby wygenerować wideo.

Następnie musimy wypełnić kolejne wymagane słowa kluczowe, aby dostosować generowane wideo, możemy określić następujące treści:

* `model`：model generowania wideo, głównie `veo31-fast`、`veo3`、`veo31`、`veo3-fast` i `veo31-fast-ingredients`.
* `video_id`：referencyjny identyfikator wideo, używany do uzyskania wideo 1080p.

Przykład wypełnienia wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/k56fhn.png" width="500" className="m-auto" />
</p>

Po wypełnieniu automatycznie wygenerowano kod, który wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/8gn4cr.png" width="500" className="m-auto" />
</p>

Klikając uruchom, można zauważyć, że otrzymamy wynik, jak poniżej:

```json theme={null}
{
  "success": true,
  "task_id": "47a51cfe-2e24-4aba-93b3-546c2dc52984",
  "trace_id": "a8922eec-6f50-4f77-8104-00ded071d59d",
  "data": [
    {
      "id": "59f12222b1fa4fbe9331ff2400ad1583",
      "video_url": "https://platform.cdn.acedata.cloud/veo/47a51cfe-2e24-4aba-93b3-546c2dc52984.mp4",
      "created_at": "2025-07-25 16:13:07",
      "complete_at": "2025-07-25 16:16:12",
      "state": "succeeded"
    }
  ]
}
```

Można zauważyć, że treść wyniku jest zgodna z powyższym, co realizuje funkcję uzyskiwania wideo 1080p.

## Generowanie wideo o określonych wymiarach

Jeśli chcesz określić wymiary generowanego wideo Veo, możesz ustawić parametr `aspect_ratio` na pożądany rozmiar, następnie musimy wypełnić kolejne wymagane słowa kluczowe, aby dostosować generowane wideo, możemy określić następujące treści:

* `model`：model generowania wideo, głównie `veo31-fast`、`veo3`、`veo31`、`veo3-fast` i `veo31-fast-ingredients`.
* `aspect_ratio`：rozmiar wideo, obecnie obsługiwane: `16:9`、`16:9`、`3:4`、`4:3`、`1:1`, domyślnie `16:9`.
* `translation`：czy włączyć automatyczne tłumaczenie słów kluczowych, domyślnie `false`.
  Przykład wypełnienia wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/xau4cm.png" width="500" className="m-auto" />
</p>

Po wypełnieniu automatycznie wygenerowano kod, który wygląda następująco:

<p>
  <img src="https://cdn.acedata.cloud/55r589.png" width="500" className="m-auto" />
</p>

Klikając uruchom, można zauważyć, że otrzymamy wynik, jak poniżej:

```json theme={null}
{
  "success": true,
  "task_id": "d2b93290-ab0e-4d20-ae45-60c062a32687",
  "trace_id": "9834e64d-c8fe-43ae-8114-ee2b5f93d886",
  "data": [
    {
      "id": "fc667e7d3b8f44beaa61a3c339af0e50",
      "video_url": "https://platform.cdn.acedata.cloud/veo/d2b93290-ab0e-4d20-ae45-60c062a32687.mp4",
      "created_at": "2025-08-24 20:09:06",
      "complete_at": "2025-08-24 20:10:45",
      "state": "succeeded"
    }
  ]
}
```

Można zauważyć, że treść wyniku jest zgodna z powyższym, co realizuje funkcję generowania wideo o określonych wymiarach.

## Asynchroniczny callback

Ponieważ czas generacji wideo przez API Veo Videos Generation 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 callbacków.

Cały proces wygląda następująco: gdy klient wysyła żądanie, dodatkowo określa pole `callback_url`, po wysłaniu żądania API natychmiast zwraca wynik, zawierający informacje o polu `task_id`, które reprezentuje bieżące ID zadania. Po zakończeniu zadania wynik generowania wideo zostanie wysłany do określonego przez klienta `callback_url` w formie POST JSON, w tym również zawierając pole `task_id`, dzięki czemu wyniki zadania można powiązać za pomocą ID.

Poniżej przyjrzymy się, jak dokładnie to działa na przykładzie.

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

![](https://cdn.acedata.cloud/tbcnai.png)

Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to `https://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dc`.

Następnie możemy ustawić pole `callback_url` na powyższy URL Webhook, jednocześnie wypełniając odpowiednie parametry, szczegóły jak na obrazku:

<p>
  <img src="https://cdn.acedata.cloud/rgivs2.png" width="500" className="m-auto" />
</p>

Klikając uruchom, można zauważyć, że natychmiast otrzymamy wynik, jak poniżej:

```json theme={null}
{
  "task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed"
}
```

Po chwili możemy na `https://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dc` zaobserwować wynik generowania wideo, jak pokazano na obrazku:

![](https://cdn.acedata.cloud/238i32.png)

Treść jest następująca:

```json theme={null}
{
  "success": true,
  "task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed",
  "trace_id": "d1d53c04-58c5-4c40-bb63-f00188540e56",
  "data": [
    {
      "id": "2f43ceed37944b4d836e1a1899dad0a1",
      "video_url": "https://platform.cdn.acedata.cloud/veo/1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed.mp4",
      "created_at": "2025-07-25 17:19:20",
      "complete_at": "2025-07-25 17:21:45",
      "state": "succeeded"
    }
  ]
}
```

Widać, że w wyniku znajduje się pole `task_id`, a pozostałe pola są podobne do powyższych, dzięki czemu można powiązać zadania za pomocą tego pola.

## Obsługa błędów

Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiednie kody błędów 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ń, przekroczono 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 zrozumieli Państwo, jak korzystać z API Veo Videos Generation, aby generować wideo na podstawie wprowadzonych słów kluczowych oraz referencyjnego obrazu pierwszej klatki. Mamy nadzieję, że ten dokument pomoże Państwu lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań prosimy o kontakt z naszym zespołem wsparcia technicznego.
