Gemini API zapewnia dostęp do Veo 2, najnowocześniejszego modelu Google do generowania filmów. Veo zostało zaprojektowane, aby pomóc Ci w tworzeniu aplikacji AI nowej generacji, które przekształcają prompty i obrazy użytkownika w wysokiej jakości komponenty wideo.
Z tego przewodnika dowiesz się, jak zacząć korzystać z Veo za pomocą interfejsu Gemini API.
Informacje o Veo
Veo to najbardziej zaawansowany model Google do generowania filmów. Generuje filmy w różnych stylach filmowych i wizualnych, uwzględniając subtelności promptu, aby konsekwentnie renderować szczegółowe elementy w ramach poszczególnych klatek.
Aby dowiedzieć się więcej i zobaczyć przykładowe dane wyjściowe, zapoznaj się z omówieniem Veo od Google DeepMind.
Specyfikacja
Formy |
|
Opóźnienie prośby |
|
Generowanie zmiennej długości | 5–8 sekund |
Rozwiązanie | 720p |
Liczba klatek | 24 kl./s |
Format obrazu |
|
Języki wejściowe (tekst na film) | angielski |
Filmy tworzone przez Veo są oznaczane znakami wodnymi za pomocą SynthID, naszego narzędzia do oznaczania znakami wodnymi i identyfikowania treści generowanych przez AI. Przechodzą też przez filtry bezpieczeństwa i procesy sprawdzania zapamiętywania, które pomagają ograniczać ryzyko związane z prywatnością, prawami autorskimi i uprzedzeniami.
Zanim zaczniesz
Zanim wywołasz interfejs Gemini API, upewnij się, że masz zainstalowany wybrany pakiet SDK oraz skonfigurowany i gotowy do użycia klucz interfejsu Gemini API.
Aby korzystać z Veo z pakietami SDK Google Gen AI, musisz mieć zainstalowaną jedną z tych wersji:
- Python w wersji 1.10.0 lub nowszej
- TypeScript i JavaScript v0.8.0 lub nowsza wersja
- Go w wersji 1.0.0 lub nowszej
Generuj filmy
W tej sekcji znajdziesz przykłady kodu do generowania filmów za pomocą promptów tekstowych i za pomocą obrazów.
Generowanie na podstawie tekstu
Aby wygenerować filmy za pomocą Veo, możesz użyć tego kodu:
Python
import time
from google import genai
from google.genai import types
client = genai.Client() # read API key from GOOGLE_API_KEY
operation = client.models.generate_videos(
model="veo-2.0-generate-001",
prompt="Panning wide shot of a calico kitten sleeping in the sunshine",
config=types.GenerateVideosConfig(
person_generation="dont_allow", # "dont_allow" or "allow_adult"
aspect_ratio="16:9", # "16:9" or "9:16"
),
)
while not operation.done:
time.sleep(20)
operation = client.operations.get(operation)
for n, generated_video in enumerate(operation.response.generated_videos):
client.files.download(file=generated_video.video)
generated_video.video.save(f"video{n}.mp4") # save the video
REST
# Use curl to send a POST request to the predictLongRunning endpoint
# The request body includes the prompt for video generation
curl "${BASE_URL}/models/veo-2.0-generate-001:predictLongRunning?key=${GOOGLE_API_KEY}" \
-H "Content-Type: application/json" \
-X "POST" \
-d '{
"instances": [{
"prompt": "Panning wide shot of a calico kitten sleeping in the sunshine"
}
],
"parameters": {
"aspectRatio": "16:9",
"personGeneration": "dont_allow",
}
}' | tee result.json | jq .name | sed 's/"//g' > op_name
Wykonanie tego kodu zajmuje 2–3 minuty, ale może potrwać dłużej, jeśli zasoby są ograniczone. Po zakończeniu procesu powinien wyświetlić się film podobny do tego:
Jeśli zamiast filmu zobaczysz komunikat o błędzie, oznacza to, że zasoby są ograniczone i nie udało się zrealizować Twojego żądania. W takim przypadku uruchom kod ponownie.
Wygenerowane filmy są przechowywane na serwerze przez 2 dni, a potem usuwane. Jeśli chcesz zapisać lokalną kopię wygenerowanego filmu, musisz uruchomić result()
i save()
w ciągu 2 dni od wygenerowania.
Generowanie na podstawie obrazów
Możesz też generować filmy za pomocą obrazów. Poniższy kod generuje obraz za pomocą Imagen, a potem używa go jako początkowego kadru wygenerowanego filmu.
Najpierw wygeneruj obraz za pomocą Imagen:
Python
prompt="Panning wide shot of a calico kitten sleeping in the sunshine",
imagen = client.models.generate_images(
model="imagen-3.0-generate-002",
prompt=prompt,
config=types.GenerateImagesConfig(
aspect_ratio="16:9",
number_of_images=1
)
)
imagen.generated_images[0].image
Następnie wygeneruj film, używając uzyskanego obrazu jako pierwszej klatki:
Python
operation = client.models.generate_videos(
model="veo-2.0-generate-001",
prompt=prompt,
image = imagen.generated_images[0].image,
config=types.GenerateVideosConfig(
# person_generation only accepts "dont_allow" for image-to-video
aspect_ratio="16:9", # "16:9" or "9:16"
number_of_videos=2
),
)
# Wait for videos to generate
while not operation.done:
time.sleep(20)
operation = client.operations.get(operation)
for n, video in enumerate(operation.response.generated_videos):
fname = f'with_image_input{n}.mp4'
print(fname)
client.files.download(file=video.video)
video.video.save(fname)
Parametry modelu Veo
(konwencje nazewnictwa różnią się w zależności od języka programowania).
prompt
– tekstowy prompt do filmu. Jeśli jest obecny, parametrimage
jest opcjonalny.image
: obraz, który ma być użyty jako pierwsza klatka filmu. Jeśli jest obecny, parametrprompt
jest opcjonalny.negativePrompt
: ciąg tekstowy opisujący wszystko, co chcesz zniechęcić model do generowania.aspectRatio
: zmienia współczynnik proporcji wygenerowanego filmu. Obsługiwane wartości to"16:9"
i"9:16"
. Wartość domyślna to"16:9"
.personGeneration
: zezwól modelowi na generowanie filmów z udziałem osób. Obsługiwane są te wartości:- Generowanie tekstu na film:
"dont_allow"
: nie zezwalaj na dodawanie zdjęć osób ani twarzy."allow_adult"
: generowanie filmów, w których występują dorośli, ale nie dzieci.
- Przekształcanie obrazu na film:
"dont_allow"
: domyślna i jedyna wartość do generowania obrazu na film.
- Generowanie tekstu na film:
numberOfVideos
: wyjściowe filmy, które mają być wygenerowane:1
lub2
.durationSeconds
: długość każdego filmu wyjściowego w sekundach, w zakresie od5
do8
.enhance_prompt
: włączanie i wyłączanie modyfikatora prompta. Ta opcja jest domyślnie włączona.
Do wypróbowania
Aby w pełni wykorzystać możliwości Veo, uwzględnij w promptach terminologię związaną z filmem. Veo rozumie wiele terminów związanych z:
- Kompozycja ujęcia: określ kadrowanie i liczbę obiektów w ujęciu (np. „single shot”, „two shot”, „over-the-shoulder shot”).
- Pozycja i ruch kamery: kontrolowanie położenia i ruchu kamery za pomocą takich terminów jak „poziom oczu”, „wysoki kąt”, „widok z poziomu robaka”, „ujęcie z kamery na kółkach”, „ujęcie z powiększeniem”, „ujęcie z przesunięciem” i „ujęcie z podążaniem”.
- Efekty ostrości i obiektywu: aby uzyskać określone efekty wizualne, używaj takich terminów jak „płytka ostrość”, „głębia ostrości”, „miękka ostrość”, „makro” i „szerokokątny obiektyw”.
- Ogólny styl i temat: kieruj twórców Veo, podając style takie jak „science fiction”, „komedia romantyczna”, „film akcji” lub „animacja”. Możesz też opisać żądane tematy i tła, np. „widok miasta”, „przyroda”, „pojazdy” lub „zwierzęta”.
Przewodnik po promptach Veo
Ta sekcja przewodnika po Veo zawiera przykłady filmów, które możesz utworzyć za pomocą Veo, oraz pokazuje, jak modyfikować prompty, aby uzyskać różne wyniki.
Filtry bezpieczeństwa
Veo stosuje filtry bezpieczeństwa w Gemini, aby generowane filmy i przesłane zdjęcia nie zawierały treści obraźliwych. Prompty, które naruszają nasze warunki korzystania z usługi i wytyczne, są blokowane.
Podstawy pisania promptów
Dobre prompty są precyzyjne i jasne. Aby wygenerowany film był jak najbardziej zbliżony do Twoich oczekiwań, zacznij od określenia głównej idei, a następnie doprecyzuj ją, dodając słowa kluczowe i modyfikatory.
Prompt powinien zawierać te elementy:
- Przedmiot: obiekt, osoba, zwierzę lub krajobraz, które chcesz umieścić w filmie.
- Kontekst: tło lub kontekst, w którym znajduje się obiekt.
- Działanie: co robi osoba na zdjęciu (np. chodzi, biega lub obraca głową).
- Styl: może być ogólny lub bardzo szczegółowy. Zastanów się nad użyciem słów kluczowych związanych z konkretnym stylem filmowym, takich jak film grozy, film noir czy style animowane, np. animacja.
- Ruch kamery: [opcjonalnie] co robi kamera, np. widok z lotu, widok z poziomu oczu, zdjęcie z góry lub zdjęcie z dołu.
- Kompozycja: [opcjonalnie] sposób kadrowania ujęcia, np. szeroki plan, zbliżenie lub superzbliżenie.
- Ambiance [opcjonalnie] sposób, w jaki kolor i światło wpływają na scenę, na przykład niebieskie tony, noc lub ciepłe tony.
Więcej wskazówek dotyczących pisania promptów
Te wskazówki pomogą Ci napisać prompty, które będą generować filmy:
- Używaj języka opisowego: używaj przymiotników i przysłów, aby przedstawić Veo jasny obraz.
- Podaj kontekst: w razie potrzeby podaj informacje ogólne, aby pomóc modelowi zrozumieć, czego oczekujesz.
- Użycie konkretnych stylów artystycznych: jeśli masz na myśli określony styl estetyczny, użyj konkretnych stylów artystycznych lub kierunków artystycznych.
- Używanie narzędzi do tworzenia promptów: zastanów się nad wykorzystaniem narzędzi lub zasobów do tworzenia promptów, które pomogą Ci je ulepszać i osiągać optymalne wyniki. Więcej informacji znajdziesz w artykule wprowadzającym do projektowania promptów.
- Popraw szczegóły twarzy na zdjęciach osobistych i grupowych: określ szczegóły twarzy jako punkt skupienia uwagi na zdjęciu, na przykład używając słowa portret w promptach.
Przykładowe prompty i dane wyjściowe
W tej sekcji znajdziesz kilka promptów, które pokazują, jak szczegółowe informacje mogą poprawić skuteczność każdego filmu.
Sople
Z tego filmu dowiesz się, jak używać elementów podstawy pisania promptów w promptach.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Zbliżenie (kompozycja) topniejących sopli (temat) na zamarzniętym odcinku skały (kontekst) z chłodnymi niebieskimi tonami (środowisko), zbliżenie (ruchy kamery) z zachowaniem szczegółów zbliżenia kropli wody (czynność). |
![]() |
Mężczyzna rozmawia przez telefon
Te filmy pokazują, jak poprawiać prompt, podając coraz więcej szczegółowych informacji, aby Veo mogło dostosować wyniki do Twoich potrzeb.
Prompt | Wygenerowane dane wyjściowe | Analiza |
---|---|---|
Kamera przesuwa się, aby pokazać zbliżenie mężczyzny w zielonym trenczu. Dzwoni z telefonu naściennego z obrotową tarczą i zielonym neonem. Wygląda jak scena z filmu. |
![]() |
To pierwszy film wygenerowany na podstawie prompta. |
Filmowy zbliżenie na zdesperowanego mężczyznę w wyblakłym zielonym trenczu, który wybiera numer na telefonie obrotowym zamontowanym na szorstkiej ceglanej ścianie, oświetlonej dziwnym światłem zielonej neonowej tablicy. Kamera zbliża się do twarzy, ukazując napięcie w żuchwie i desperację na twarzy bohatera, gdy ten próbuje wykonać połączenie. Płytka głębia ostrości skupia się na zmarszczonych brwiach i czarnym telefonie obrotowym, a tło staje się morzem neonowych kolorów i nieostrych cieni, co tworzy poczucie pilności i izolacji. |
![]() |
Bardziej szczegółowy prompt powoduje, że film jest bardziej skoncentrowany i zawiera bogatsze środowisko. |
Film z płynnym ruchem, który zbliża się do mężczyzny w zielonej trencze, który używa zabytkowego telefonu tarczowego przy ścianie oświetlonej dziwnym zielonym neonem. Kamera zaczyna się od średniej odległości, powoli zbliżając się do twarzy mężczyzny, ukazując jego zaniepokojoną minę i pot na czole, gdy nagle wybiera numer telefonu. Uwypuklenie rąk mężczyzny, który bezskutecznie próbuje połączyć się z telefonem. Zielone światło neonowe rzuca długie cienie na ścianie, co potęguje napiętą atmosferę. Scena jest ujęta w sposób, który podkreśla samotność i desperację mężczyzny, a także wyraźny kontrast między jaskrawym światłem neonu a poważnie nastawionym mężczyzną. |
![]() |
Dodanie więcej szczegółów nadaje obiektowi realistyczny wyraz i tworzy intensywną, żywą scenę. |
irbis śnieżny,
Ten przykład pokazuje dane wyjściowe, które Veo może wygenerować w przypadku prostego promptu.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Urocze stworzenie z futrem jak u śnieżnego lamparta spacerujące w zimowym lesie. Render w stylu kreskówki 3D. |
![]() |
Biegający irbis śnieżny
Ten prompt zawiera więcej szczegółów i pokazuje wygenerowany wynik, który może być bliższy temu, czego oczekujesz od filmu.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Utwórz krótką animowaną scenę 3D w wesołym stylu kreskówki. Urocze stworzenie z futrem jak u śnieżnego lamparta, dużymi, wyrazistymi oczami i przyjaznym, zaokrąglonym kształtem radośnie skacze w bajecznym zimowym lesie. Scena powinna przedstawiać zaokrąglone, ośnieżone drzewa, delikatnie spadające płatki śniegu i ciepłe światło słoneczne przebijające przez gałęzie. Jego ruchy i szeroki uśmiech powinny wyrażać czystą radość. Postaraj się, aby Twój film miał optymistyczny i ciepły ton, a także jasne, wesołe kolory i zabawne animacje. |
![]() |
Przykłady według elementów
Z tych przykładów dowiesz się, jak doprecyzować prompty za pomocą poszczególnych elementów podstawowych.
Temat
Ten przykład pokazuje, jak określić opis tematu.
Opis tematu | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Opis może zawierać jeden lub wiele tematów i działań. W tym przypadku tematem jest „biały betonowy budynek mieszkalny”. | Wizualizacja architektoniczna białego betonowego budynku z płynnymi, organicznymi kształtami, który płynnie przechodzi w bujną zieleń i futurystyczne elementy |
![]() |
Kontekst
Ten przykład pokazuje, jak określić kontekst.
Kontekst | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Tło lub kontekst, w którym będzie umieszczony temat, są bardzo ważne. Spróbuj umieścić obiekt na różnych tłach, np. na ruchliwej ulicy lub w kosmosie. | satelita unoszący się w kosmosie z księżycem i gwiazdami w tle |
![]() |
Działanie
Ten przykład pokazuje, jak określić działanie.
Działanie | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Co robi osoba na filmie, np. chodzi, biega lub obraca głowę. | Szeroki plan kobiety chodzącej po plaży, która zrelaksowana i zadowolona spogląda na horyzont o zachodzie słońca. |
![]() |
Styl
Ten przykład pokazuje, jak określić styl.
Styl | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Możesz dodać słowa kluczowe, aby poprawić jakość generowania i zbliżyć ją do wybranego stylu, np. płytka głębia ostrości, kadr z filmu, minimalizm, styl surrealistyczny, vintage, futurystyczny lub podwójna ekspozycja. | Styl film noir, mężczyzna i kobieta idący ulicą, tajemnica, filmowy, czarno-biały. |
![]() |
Ruch kamery
Ten przykład pokazuje, jak określić ruch kamery.
Ruch kamery | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Opcje ruchu kamery to m.in. ujęta z perspektywy, widok z lotu, widok z drona i ujęta z ruchomą kamerą. | Klip z perspektywy kierowcy starego samochodu jadącego w deszczu w Kanadzie w nocy. |
![]() |
Kompozycja
Ten przykład pokazuje, jak określić kompozycję.
Kompozycja | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Jak jest ujęta (ujęcie ogólne, zbliżenie, nisko nad ziemią). | Zbliżenie oka z odbiciem miasta. |
![]() |
Utwórz film z szerokim ujęciem surfera chodzącego po plaży z deską surfingową, piękny zachód słońca, film w stylu filmowym. |
![]() |
Atmosfera
Ten przykład pokazuje, jak określić nastrój.
Ambiance | Prompt | Wygenerowane dane wyjściowe |
---|---|---|
Palety kolorów odgrywają ważną rolę w fotografii, wpływając na nastrój i przekazywanie emocji. Spróbuj użyć słów takich jak „przytłumione ciepłe odcienie pomarańczowego”, „naturalne światło”, „słońce” lub „zachód słońca”. Na przykład ciepła, złota paleta może nadać zdjęciu romantycznego i klimatycznego charakteru. | Zbliżenie na dziewczynkę trzymającą uroczego szczeniaka golden retrievera w parku w słoneczny dzień. |
![]() |
Filmowy zbliżenie smutnej kobiety jadącej autobusem w deszczu. Chłodne niebieskie barwy, smutny nastrój. |
![]() |
Generowanie filmów za pomocą obrazów referencyjnych
Możesz ożywić obrazy, korzystając z funkcji konwersji obrazu na film w Veo. Możesz użyć dotychczasowych komponentów lub spróbować użyć narzędzia Imagen do wygenerowania czegoś nowego.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Królik z czekoladowym batonem. |
![]() |
Królik ucieka. |
![]() |
Prompty negatywne
Prompty negatywne to skuteczne narzędzie pozwalające określić elementy, których nie chcesz mieć w filmie. Po wyrażeniu „Negative prompt” opisz, czego chcesz zniechęcić model do generowania. Wykonaj te czynności:
❌ Nie używaj słów instruktywnych ani słów takich jak nie czy nie. Na przykład: „Bez ścian” lub „Nie pokazuj ścian”.
✅ Opisz, czego nie chcesz zobaczyć. Na przykład „wall, frame”, co oznacza, że nie chcesz, aby w filmie pojawiła się ściana lub ramka.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Wygeneruj krótką, stylizowaną animację przedstawiającą samotny dąb z liśćmi mocno kołysanym przez silny wiatr. Drzewo powinno mieć nieco wyolbrzymioną, dziwaczną formę z dynamicznymi, płynnymi gałęziami. Liście powinny mieć różne jesienne kolory i wirować oraz tańczyć na wietrze. Animacja powinna zawierać ciepłą, zachęcającą paletę kolorów. |
![]() |
Wygeneruj krótką, stylizowaną animację przedstawiającą samotny dąb z liśćmi mocno kołysanym przez silny wiatr. Drzewo powinno mieć nieco wyolbrzymioną, dziwaczną formę z dynamicznymi, płynnymi gałęziami. Liście powinny mieć różne jesienne kolory i wirować oraz tańczyć na wietrze. Animacja powinna zawierać ciepłą, zachęcającą paletę kolorów.
Z negatywnym promptem – tło miejskie, sztuczne struktury, ciemna, burzowa lub groźna atmosfera. |
![]() |
Formaty obrazu
Generowanie filmów Gemini Veo obsługuje te 2 formaty obrazu:
Format obrazu | Opis |
---|---|
Panoramiczny lub 16:9 | Najczęstszy format obrazu w przypadku telewizorów, monitorów i ekranów telefonów komórkowych (orientacja pozioma). Użyj tej opcji, gdy chcesz uchwycić więcej tła, np. w przypadku krajobrazów. |
Pionowo lub 9:16 | Obraz panoramiczny po obróbieniu. Ten format został spopularyzowany przez aplikacje do tworzenia krótkich filmów, takie jak YouTube Shorts. Używaj tego trybu do portretów lub wysokich obiektów o silnie pionowej orientacji, takich jak budynki, drzewa czy wodospady. |
Panoramiczny
Ten prompt jest przykładem formatu szerokoekranowego 16:9.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Utwórz film z widokiem z kamery drona na mężczyznę jadącego czerwonym kabrioletem w Palm Springs w latach 70. ciepłe słońce, długie cienie. |
![]() |
Pionowo
Ten prompt jest przykładem formatu obrazu w orientacji pionowej 9:16.
Prompt | Wygenerowane dane wyjściowe |
---|---|
Utwórz film przedstawiający płynne ruchy majestatycznego wodospadu na Hawajach wśród bujnej dżungli. Skup się na realistycznym przepływie wody, szczegółowej roślinności i naturalnym oświetleniu, aby przekazać spokój. Uchwyć spływającą wodę, mglistą atmosferę i promienie słońca przenikające przez gęste liście. Użyj płynnych, filmowych ruchów kamery, aby pokazać wodospad i otaczającą go scenerię. Postaraj się nadać filmowi spokojny, realistyczny ton, który przeniesie widza w świat piękna hawajskiego lasu deszczowego. |
![]() |
Co dalej?
- Zdobądź więcej doświadczenia w generowaniu filmów z wykorzystaniem AI za pomocą Veo Colab.