Przejdź do głównej treści
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 skorzystać z API, należy najpierw przejść do strony Veo Videos Generation API i złożyć wniosek o odpowiednią usługę. Po wejściu na stronę, kliknij przycisk „Acquire”, jak pokazano na obrazku: 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, tablicy referencyjnych obrazów image_urls oraz modelu model, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole action, którego wartość to text2video. Obejmuje ono trzy główne działania: generowanie wideo z tekstu (text2video), generowanie wideo z obrazu (image2video), pobieranie wideo w rozdzielczości 1080p (get1080p). Następnie musimy również wprowadzić model model, który obecnie obejmuje głównie modele veo2, veo2-fast, veo3, veo31, veo31-fast, veo31-fast-ingredients oraz veo3-fast, szczegóły są następujące:

Możemy zobaczyć, że ustawiliśmy nagłówki żądania, w tym:
  • accept: format odpowiedzi, który chcemy otrzymać, tutaj wpisujemy 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, które obejmuje:
  • model: model do generowania wideo, głównie veo2, veo2-fast, veo3, veo31, veo31-fast, veo31-fast-ingredients oraz veo3-fast.
  • action: działanie związane z zadaniem generowania wideo, które obejmuje trzy główne działania: generowanie wideo z tekstu (text2video), generowanie wideo z obrazu (image2video), pobieranie wideo w rozdzielczości 1080p (get1080p).
  • image_urls: gdy wybierzesz działanie generowania wideo z obrazu image2video, musisz przesłać linki do referencyjnych obrazów, maksymalnie trzy obrazy.
  • resolution: wybór rozdzielczości generowanego wideo, model veo31 obsługuje rozdzielczość 4k, inne modele jej nie obsługują, wszystkie modele obsługują rozdzielczości 1080p oraz gif, jeśli ta wartość nie jest podana, 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.

📌 Podsumowanie opisu modeli

Nazwa modeluObsługiwane trybyZasady dotyczące wejścia obrazów
veo2-fastGenerowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
Obsługuje tylko 1 obraz → tryb pierwszej klatki
veo3-fastGenerowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
1 obraz → tryb pierwszej klatki
3 obrazy → tryb pierwszej i ostatniej klatki
veo31-fastGenerowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
1 obraz → tryb pierwszej klatki
3 obrazy → tryb pierwszej i ostatniej klatki
veo31-fast-ingredients❌ Generowanie wideo z tekstu (nieobsługiwane)
Wymuszone łączenie wielu obrazów (musisz przesłać obrazy)
1-3 obrazy → tryb łączenia wielu obrazów (maksymalnie 3 obrazy)
veo2Generowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
1 obraz → tryb pierwszej klatki
3 obrazy → tryb pierwszej i ostatniej klatki
veo3Generowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
1 obraz → tryb pierwszej klatki
3 obrazy → tryb pierwszej i ostatniej klatki
veo31Generowanie wideo z tekstu (bez obrazu)
Generowanie wideo z obrazu (z obrazem)
1 obraz → tryb pierwszej klatki
3 obrazy → tryb pierwszej i ostatniej klatki

🔑 Opis kluczowych zasad

  1. Logika ogólna:
    • Brak wejścia obrazów → automatycznie uruchamia tryb generowania wideo z tekstu.
    • Wejście obrazów → uruchamia tryb generowania wideo z obrazu (konkretne działanie zależy od liczby obrazów).
  2. Typy trybów generowania wideo z obrazu:
    • Tryb pierwszej klatki (1 obraz): pierwsza klatka jest stała i odpowiada wprowadzonej grafice.
    • Tryb pierwszej i ostatniej klatki (2 obrazy): pierwsza i ostatnia klatka są stałe i odpowiadają wprowadzonym obrazom.
    • Tryb łączenia wielu obrazów (1-3 obrazy): tylko veo31-fast-ingredients obsługuje, łączy zawartość wielu obrazów w celu generowania wideo.
  3. Klasyfikacja trybów:
    • Tryb Fast: veo2-fast, veo3-fast, veo31-fast, veo31-fast-ingredients.
    • Tryb Quality: veo2, veo3, veo31 (wyższa jakość generowania).

⚠️ 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ć.
  • Ograniczenie liczby obrazów:
    • Z wyjątkiem veo31-fast-ingredients, inne modele obsługują maksymalnie 3 obrazy jako wejście.
Po dokonaniu wyboru, można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na obrazku:

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, a otrzymamy następujący wynik:
{
  "success": true,
  "task_id": "dd01fc69-e1f7-4b68-aa8c-463f6b748d11",
  "trace_id": "9906dac0-1516-41dc-9fe3-067ca1ba8269",
  "data": [
    {
      "id": "253eedc47f1c4eb2a370ed2312168f4b",
      "video_url": "https://platform.cdn.acedata.cloud/veo/dd01fc69-e1f7-4b68-aa8c-463f6b748d11.mp4",
      "created_at": "2025-07-25 16:07:43",
      "complete_at": "2025-07-25 16:10:28",
      "state": "succeeded"
    }
  ]
}
Zwrócony wynik zawiera wiele pól, które są opisane poniżej:
  • success,aktualny status 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 status zadania generowania wideo.
Możemy zobaczyć, że otrzymaliśmy satysfakcjonujące informacje o wideo, wystarczy, że na podstawie linku do wideo w data uzyskamy wygenerowane wideo Veo. Dodatkowo, jeśli chcesz wygenerować odpowiedni kod do integracji, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:
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": "veo2",
  "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 veo2veo2-fastveo3 i veo3-fast.
  • image_urls:gdy wybierzesz działanie generowania wideo image2video, musisz przesłać linki do obrazów klatki początkowej i końcowej.
  • prompt:słowa kluczowe.
Przykład wypełnienia wygląda następująco:

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

Odpowiedni kod Python:
import requests

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

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

payload = {
    "action": "image2video",
    "model": "veo2",
    "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:
{
  "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:

W tym momencie można zobaczyć, że ID wideo to:
"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 veo2veo2-fastveo3 i veo3-fast.
  • video_id:ID wideo do uzyskania 1080p.
Przykład wypełnienia wygląda następująco:

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

Klikając uruchom, można zauważyć, że otrzymamy wynik, jak poniżej:
{
  "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ć generowanie wideo Veo o niestandardowych wymiarach, 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 veo2veo2-fastveo3 i veo3-fast.
  • aspect_ratio:rozmiar wideo, obecnie obsługiwane: 16:916:93:44:31: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:

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

Klikając uruchom, można zauważyć, że otrzymamy wynik, jak poniżej:
{
  "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/, otwierając tę stronę, można uzyskać URL Webhook, jak pokazano na obrazku: 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:

Klikając uruchom, można zauważyć, że natychmiast otrzymamy wynik, jak poniżej:
{
  "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: Treść jest następująca:
{
  "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

{
  "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.