Generowanie filmu za pomocą Veo

Veo to model Google do generowania filmów o wysokiej jakości, który umożliwia tworzenie filmów w różnych stylach filmowych i wizualnych. Veo uwzględnia niuanse Twoich promptów, aby renderować złożone szczegóły w spójny sposób w różnych klatkach.

Z tego przewodnika dowiesz się, jak generować filmy za pomocą Veo. Wskazówki dotyczące pisania promptów do filmów znajdziesz w przewodniku po promptach do Veo.

Wersje Veo

Gemini API oferuje 2 modele generowania filmów: Veo 3 i Veo 2. Zalecamy korzystanie z Veo 3, najnowszego modelu, ze względu na jego doskonałą jakość i możliwość generowania dźwięku.

Model Veo 3 jest dostępny w wersji testowej, co może wiązać się z ograniczeniami w przypadku używania go na dużą skalę w środowisku produkcyjnym. Veo 2 jest stabilna i zapewnia lepsze wrażenia podczas produkcji.

Szczegółowe wskazówki dotyczące najważniejszych różnic między wersjami modeli znajdziesz w sekcji Porównanie wersji modeli.

Generowanie filmów na podstawie tekstu

Przykładowy kod w tej sekcji wykorzystuje Veo 3 do generowania filmów ze zintegrowanym dźwiękiem.

Python

import time
from google import genai
from google.genai import types

client = genai.Client()

operation = client.models.generate_videos(
    model="veo-3.0-generate-preview",
    prompt="Panning wide shot of a purring kitten sleeping in the sunshine",
    config=types.GenerateVideosConfig(
        person_generation="allow_all",  # "allow_adult" and "dont_allow" for Veo 2 only
        aspect_ratio="16:9",  # "16:9", and "9:16" for Veo 2 only
    ),
)

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")

JavaScript

import { GoogleGenAI } from "@google/genai";
import { createWriteStream } from "fs";
import { Readable } from "stream";

const ai = new GoogleGenAI({});

async function main() {
  let operation = await ai.models.generateVideos({
    model: "veo-3.0-generate-preview",
    prompt: "Panning wide shot of a purring kitten sleeping in the sunshine",
    config: {
      personGeneration: "allow_all",
      aspectRatio: "16:9",
    },
  });

  while (!operation.done) {
    await new Promise((resolve) => setTimeout(resolve, 10000));
    operation = await ai.operations.getVideosOperation({
      operation: operation,
    });
  }

  operation.response?.generatedVideos?.forEach(async (generatedVideo, n) => {
    const resp = await fetch(`${generatedVideo.video?.uri}&key=GEMINI_API_KEY`); // append your API key
    const writer = createWriteStream(`video${n}.mp4`);
    Readable.fromWeb(resp.body).pipe(writer);
  });
}

main();

Przeczytaj

package main

import (
  "context"
  "fmt"
  "os"
  "time"
  "google.golang.org/genai"
)

func main() {

  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  videoConfig := &genai.GenerateVideosConfig{
      AspectRatio:      "16:9",
      PersonGeneration: "allow_all",
  }

  operation, _ := client.Models.GenerateVideos(
      ctx,
      "veo-3.0-generate-preview",
      "Panning wide shot of a purring kitten sleeping in the sunshine",
      nil,
      videoConfig,
  )

  for !operation.Done {
      time.Sleep(20 * time.Second)
      operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
  }

  for n, video := range operation.Response.GeneratedVideos {
      client.Files.Download(ctx, video.Video, nil)
      fname := fmt.Sprintf("video_%d.mp4", n)
      _ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
  }
}

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-3.0-generate-preview:predictLongRunning" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -X "POST" \
  -d '{
    "instances": [{
        "prompt": "Panning wide shot of a purring kitten sleeping in the sunshine"
      }
    ],
    "parameters": {
      "aspectRatio": "16:9",
      "personGeneration": "allow_all",
    }
  }' | tee result.json | jq .name | sed 's/"//g' > op_name

# Obtain operation name to download video.
op_name=$(cat op_name)

# Check against status of operation.
while true; do
  is_done=$(curl -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${op_name}" | tee op_check.json | jq .done)

  if [ "${is_done}" = "true" ]; then
    cat op_check.json
    echo "** Attach API_KEY to download video, or examine error message."
    break
  fi

  echo "** Video ${op_name} has not downloaded yet!  Check again after 5 seconds..."

  # Wait for 5 seoncds to check again.
  sleep 5

done

Kociak śpiący w słońcu.

Wykonanie tego kodu zajmuje około minuty, ale może potrwać dłużej, jeśli zasoby są ograniczone. Po zakończeniu działania zobaczysz film z śpiącym kociakiem, taki jak ten.

Jeśli zamiast filmu zobaczysz komunikat o błędzie, oznacza to, że zasoby są ograniczone i nie można zrealizować Twojej prośby. W takim przypadku uruchom kod ponownie.

Wygenerowane filmy są przechowywane na serwerze przez 2 dni, a potem są usuwane. Jeśli chcesz zapisać lokalną kopię wygenerowanego filmu, musisz uruchomić polecenia result()save() w ciągu 2 dni od wygenerowania.

Generowanie filmów na podstawie obrazów

Poniższy kod generuje obraz za pomocą Imagen, a następnie używa go jako klatki początkowej 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

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});
const response = await ai.models.generateImages({
  model: "imagen-3.0-generate-002",
  prompt: "Panning wide shot of a calico kitten sleeping in the sunshine",
  config: {
    numberOfImages: 1,
  },
});

// you'll pass response.generatedImages[0].image.imageBytes to Veo

Przeczytaj

package main

import (
    "context"
    "fmt"
    "os"
    "time"
    "google.golang.org/genai"
)

func main() {

    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

    config := &genai.GenerateImagesConfig{
        AspectRatio:    "16:9",
        NumberOfImages: 1,
    }

    response, _ := client.Models.GenerateImages(
        ctx,
        "imagen-3.0-generate-002",
        "Panning wide shot of a calico kitten sleeping in the sunshine",
        config,
    )

    // you'll pass response.GeneratedImages[0].Image to Veo
}

Następnie wygeneruj film, używając powstałego 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="dont_allow",  # "dont_allow" or "allow_adult"
      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)

JavaScript

import { GoogleGenAI } from "@google/genai";
import { createWriteStream } from "fs";
import { Readable } from "stream";

const ai = new GoogleGenAI({});

async function main() {
  // get image bytes from Imagen, as shown above

  let operation = await ai.models.generateVideos({
    model: "veo-2.0-generate-001",
    prompt: "Panning wide shot of a calico kitten sleeping in the sunshine",
    image: {
      imageBytes: response.generatedImages[0].image.imageBytes, // response from Imagen
      mimeType: "image/png",
    },
    config: {
      aspectRatio: "16:9",
      numberOfVideos: 2,
    },
  });

  while (!operation.done) {
    await new Promise((resolve) => setTimeout(resolve, 10000));
    operation = await ai.operations.getVideosOperation({
      operation: operation,
    });
  }

  operation.response?.generatedVideos?.forEach(async (generatedVideo, n) => {
    const resp = await fetch(
      `${generatedVideo.video?.uri}&key=GEMINI_API_KEY`, // append your API key
    );
    const writer = createWriteStream(`video${n}.mp4`);
    Readable.fromWeb(resp.body).pipe(writer);
  });
}

main();

Przeczytaj

    image := response.GeneratedImages[0].Image

    videoConfig := &genai.GenerateVideosConfig{
      AspectRatio:    "16:9",
      NumberOfVideos: 2,
    }

    operation, _ := client.Models.GenerateVideos(
        ctx,
        "veo-2.0-generate-001",
        "A dramatic scene based on the input image",
        image,
        videoConfig,
    )

    for !operation.Done {
        time.Sleep(20 * time.Second)
        operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
    }

    for n, video := range operation.Response.GeneratedVideos {
        client.Files.Download(ctx, video.Video, nil)
        fname := fmt.Sprintf("video_with_image_input_%d.mp4", n)
        _ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
    }

Parametry modelu Veo

(Konwencje nazewnictwa różnią się w zależności od języka programowania).

  • prompt: tekstowy prompt do filmu. Parametr image jest opcjonalny.
  • image: obraz, który ma być używany jako pierwsza klatka filmu. Parametr prompt jest opcjonalny.
  • negativePrompt: ciąg tekstowy opisujący wszystko, co chcesz zniechęcić model do generowania.
  • aspectRatio: zmienia współczynnik proporcji wygenerowanego filmu.
    • "16:9": obsługiwane w modelach Veo 3 i Veo 2.
    • "9:16": obsługiwane tylko w Veo 2 (domyślnie "16:9").
  • personGeneration: zezwól modelowi na generowanie filmów z udziałem osób. Dostępne wartości:
    • Generowanie filmów na podstawie tekstu:
      • "allow_all": generować filmy, w których występują dorośli i dzieci; Obecnie jedyna dostępna wartość personGeneration dla Veo 3.
      • "dont_allow": tylko Veo 2. Nie zezwalaj na uwzględnianie osób ani twarzy.
      • "allow_adult": tylko Veo 2. generować filmy, w których występują dorośli, ale nie dzieci;
    • Generowanie filmów z obrazów: tylko Veo 2
      • "dont_allow": nie zezwalaj na uwzględnianie osób ani twarzy.
      • "allow_adult": generowanie filmów, w których występują dorośli, ale nie dzieci.
    • Zobacz Ograniczenia.
  • numberOfVideos: Wygenerowane filmy
    • 1: obsługiwane w modelach Veo 3 i Veo 2
    • 2: obsługiwane tylko w przypadku Veo 2.
  • durationSeconds: tylko Veo 2. Długość każdego filmu wyjściowego w sekundach, od 5 do 8.
    • Nie można skonfigurować w przypadku Veo 3, domyślne ustawienie to 8 sekund.
  • enhancePrompt: tylko Veo 2. Włącz lub wyłącz funkcję zmiany promptu. Ta opcja jest domyślnie włączona.
    • Nie można skonfigurować w przypadku Veo 3. Wzmacniacz promptów jest zawsze włączony.

W tabeli Porównanie wersji modeli znajdziesz zestawienie różnic w parametrach między kamerami Veo 3 i Veo 2.

Specyfikacja

Rodzaje
  • Generowanie filmów na podstawie tekstu
  • Generowanie filmów z obrazów (tylko Veo 2)
Opóźnienie żądania
  • Min: 11 sekund
  • Maksymalnie 6 minut (w godzinach szczytu)
Generowanie o zmiennej długości
  • Veo 2: 5–8 sekund
  • Veo 3: 8 sekund
Rozdzielczość 720p
Liczba klatek 24 kl./s
Format obrazu
  • 16:9 – orientacja pozioma
  • 9:16 – pionowo (tylko Veo 2)
Języki wejściowe (tekst na wideo) angielski
Ograniczenia
  • Funkcja przekształcania obrazu w filmpersonGeneration jest niedozwolona w UE, Wielkiej Brytanii, Szwajcarii i regionie MENA.
  • Tekst na wideopersonGeneration: "allow_all" jest niedozwolony w UE, Wielkiej Brytanii, Szwajcarii i regionie MENA.

Filmy utworzone przez Veo są oznaczane znakiem wodnym za pomocą SynthID, naszego narzędzia do oznaczania znakami wodnymi i identyfikowania treści generowanych przez AI. Są one też poddawane filtrom bezpieczeństwa i procesom sprawdzania zapamiętywania, które pomagają ograniczać ryzyko związane z prywatnością, prawami autorskimi i tendencyjnością.

Przewodnik po promptach w 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 w Gemini filtry bezpieczeństwa, aby mieć pewność, że wygenerowane filmy i przesłane zdjęcia nie zawierają obraźliwych treści. Prompty, które naruszają nasze warunki i wytyczne, są blokowane.

Podstawowe informacje o pisaniu promptów

Dobre prompty są opisowe i jasne. Aby w pełni wykorzystać możliwości Veo, zacznij od określenia głównego pomysłu, dopracuj go, dodając słowa kluczowe i modyfikatory, a także włącz do promptów terminologię związaną z wideo.

W prompcie powinny się znaleźć te elementy:

  • Temat: obiekt, osoba, zwierzę lub sceneria, które chcesz umieścić w filmie, np. pejzaż miejski, przyroda, pojazdy lub szczenięta.
  • Działanie: co robi osoba (np. idzie, biegnie lub obraca głowę).
  • Styl: określ kierunek kreatywny, używając słów kluczowych związanych z określonym stylem filmowym, np. science fiction, horror, film noir lub stylem animacji, np. kreskówka.
  • Położenie i ruch kamery: [opcjonalnie] steruj położeniem i ruchem kamery za pomocą określeń takich jak widok z lotu ptaka, na poziomie oczu, zdjęcie z góry, zdjęcie z ruchu lub z perspektywy żabiej.
  • Kompozycja: [opcjonalnie] sposób kadrowania ujęcia, np. szerokie ujęcie, zbliżenie, jedno ujęcie lub dwa ujęcia.
  • Ostrość i efekty obiektywu: [opcjonalnie] użyj terminów takich jak płytka ostrość, głęboka ostrość, miękka ostrość, obiektyw makro i obiektyw szerokokątny, aby uzyskać określone efekty wizualne.
  • Ambiance: [Opcjonalnie] Jak kolor i światło wpływają na scenę, np. niebieskie odcienie, noc lub ciepłe odcienie.
  • Niejawne lub jawne wskazówki audio: [tylko Veo 3] W przypadku Veo 3 możesz podawać wskazówki dotyczące efektów dźwiękowych, odgłosów otoczenia i dialogów.

Więcej wskazówek dotyczących pisania promptów

Te wskazówki pomogą Ci pisać prompty, które generują filmy:

  • Używaj opisowego języka: używaj przymiotników i przysłówków, aby przedstawić Veo jasny obraz.
  • Podaj kontekst: w razie potrzeby dodaj informacje, które pomogą modelowi zrozumieć, czego oczekujesz.
  • Odwołuj się do konkretnych stylów artystycznych: jeśli masz na myśli konkretny styl, odwołuj się do konkretnych stylów artystycznych lub ruchów artystycznych.
  • Korzystaj z narzędzi do tworzenia promptów: możesz używać narzędzi lub zasobów do tworzenia promptów, aby ulepszać prompty i uzyskiwać 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 główny element zdjęcia, np. używając w prompcie słowa portret.

Przykładowe prompty i dane wyjściowe

W tej sekcji znajdziesz kilka promptów, które pokazują, jak szczegółowe opisy mogą poprawić jakość każdego filmu.

Zintegrowany dźwięk

Te filmy pokazują, jak za pomocą coraz bardziej szczegółowych promptów możesz generować dźwięk za pomocą Veo 3.

Prompt Wygenerowane dane wyjściowe
Więcej szczegółów
 Zbliżenie na dwie osoby wpatrujące się w tajemniczy rysunek na ścianie, przy migoczącym świetle latarki. – To musi być klucz – mruknął, odrysowując wzór. „Ale co to znaczy?” zapytała z zaciekawieniem, przechylając głowę. Wilgotny kamień, misternie rzeźbione detale, ukryte symbole. W tle słychać cichy, niesamowity szum.
Poszukiwacze skarbów w jaskini.
Mniej szczegółów
Kemping (animacja poklatkowa): Camper: „Teraz jestem jednością z naturą!” Miś: „Natura wolałaby trochę przestrzeni osobistej”.
Poszukiwacze skarbów w jaskini.

Wypróbuj te prompty, aby usłyszeć dźwięk. Wypróbuj Veo 3

Sople

Z tego filmu dowiesz się, jak w prompcie wykorzystać elementy podstaw pisania promptów.

Prompt Wygenerowane dane wyjściowe
Zbliżenie (kompozycja) topniejących sopli (obiekt) na zamarzniętej (kontekst) skalnej ścianie (kontekst) w chłodnych, niebieskich odcieniach (atmosfera), z przybliżeniem (ruch kamery) zachowującym szczegóły kropel wody (działanie). Kapiące sople na niebieskim tle.

Mężczyzna rozmawia przez telefon

Te filmy pokazują, jak możesz poprawiać prompt, dodając coraz bardziej szczegółowe informacje, aby Veo dostosował wynik do Twoich potrzeb.

Prompt Wygenerowane dane wyjściowe
Mniej szczegółów
 Kamera przesuwa się, aby pokazać zbliżenie na zdesperowanego mężczyznę w zielonym prochowcu. Dzwoni z telefonu ściennego z tarczą, który jest oświetlony zielonym neonem. Wygląda to jak scena z filmu.
Mężczyzna rozmawia przez telefon.
Więcej szczegółów
Zbliżenie w stylu filmowym przedstawia zdesperowanego mężczyznę w spranym zielonym prochowcu, który wybiera numer na telefonie z tarczą zamontowanym na szorstkiej ceglanej ścianie, oświetlonej upiornym blaskiem zielonego neonu. Kamera zbliża się do niego, ukazując napięcie w jego szczęce i rozpacz na twarzy, gdy próbuje wykonać połączenie. Płytka głębia ostrości skupia się na jego zmarszczonym czole i czarnym telefonie obrotowym, rozmywając tło w morze neonowych kolorów i niewyraźnych cieni, co tworzy poczucie pilności i izolacji.
Mężczyzna rozmawia przez telefon

Irbis śnieżny

Ten przykład pokazuje dane wyjściowe, które Veo może wygenerować w odpowiedzi na prosty prompt.

Prompt Wygenerowane dane wyjściowe
Urocze stworzenie z futrem podobnym do futra irbisa śnieżnego spaceruje po zimowym lesie, render w stylu kreskówki 3D. Irbis śnieżny jest ospały.

Biegnący irbis śnieżny

Ten prompt zawiera więcej szczegółów i przykładowe dane wyjściowe, które mogą być bliższe temu, co chcesz uzyskać w swoim filmie.

Prompt Wygenerowane dane wyjściowe
Utwórz krótką animowaną scenę 3D w radosnym stylu kreskówkowym. Urocze stworzenie z futrem podobnym do futra pantery śnieżnej, dużymi, wyrazistymi oczami i przyjazną, zaokrągloną sylwetką radośnie kroczy przez fantastyczny zimowy las. Scena powinna przedstawiać zaokrąglone, pokryte śniegiem drzewa, delikatnie padające płatki śniegu i ciepłe światło słoneczne przebijające się przez gałęzie. Skoczne ruchy i szeroki uśmiech stworzenia powinny wyrażać czystą radość. Postaw na optymistyczny, ciepły ton, jasne, wesołe kolory i zabawne animacje. Irbis śnieżny biegnie szybciej.

Przykłady według elementów tekstu

Te przykłady pokazują, jak doprecyzować prompty za pomocą poszczególnych elementów podstawowych.

Temat

Ten przykład pokazuje, jak określić opis tematu. Opis może zawierać temat lub wiele tematów i działań. W tym przypadku tematem jest „biały betonowy blok mieszkalny”.

Prompt Wygenerowane dane wyjściowe
Render architektoniczny białego betonowego budynku mieszkalnego o płynnych, organicznych kształtach, płynnie łączącego się z bujną zielenią i futurystycznymi elementami. Obiekt zastępczy.

Kontekst

Ten przykład pokazuje, jak określić kontekst. Tło lub kontekst, w którym umieszczony będzie obiekt, jest bardzo ważny. Spróbuj umieścić obiekt na różnych tłach, np. na ruchliwej ulicy lub w kosmosie.

Prompt Wygenerowane dane wyjściowe
Satelita unoszący się w kosmosie z księżycem i gwiazdami w tle. Satelita unoszący się w atmosferze.

Działanie

Ten przykład pokazuje, jak określić działanie: co robi osoba, np. chodzi, biegnie lub obraca głowę.

Prompt Wygenerowane dane wyjściowe
Szeroki kadr przedstawiający kobietę spacerującą po plaży. Jest zadowolona i zrelaksowana, patrzy w stronę horyzontu o zachodzie słońca. Zachód słońca jest absolutnie piękny.

Styl

Ten przykład pokazuje, jak określić styl. Możesz dodawać słowa kluczowe, aby poprawić jakość generowania i skierować je w stronę zamierzonego stylu, np. małej głębi ostrości, kadru z filmu, minimalizmu, surrealizmu, stylu vintage, futurystycznego lub podwójnej ekspozycji.

Prompt Wygenerowane dane wyjściowe
Film noir, mężczyzna i kobieta idą ulicą, tajemnica, filmowy, czarno-biały. Styl film noir jest absolutnie piękny.

Ruch kamery

Ten przykład pokazuje, jak określić ruch kamery. Opcje ruchu kamery obejmują ujęcie z perspektywy pierwszej osoby, widok z lotu ptaka, ujęcie z drona śledzącego lub ujęcie śledzące.

Prompt Wygenerowane dane wyjściowe
Zdjęcie z perspektywy pierwszej osoby przedstawiające zabytkowy samochód jadący w deszczu w Kanadzie w nocy, w stylu filmowym. Zachód słońca jest absolutnie piękny.

Kompozycja

Ten przykład pokazuje, jak określić kompozycję: sposób kadrowania ujęcia (szeroki plan, zbliżenie, ujęcie z dołu itp.).

Prompt Wygenerowane dane wyjściowe
Ekstremalne zbliżenie oka, w którym odbija się miasto. Zachód słońca jest absolutnie piękny.
Utwórz film przedstawiający szeroki kadr surfera idącego po plaży z deską surfingową, piękny zachód słońca, kinowy. Zachód słońca jest absolutnie piękny.

Atmosfera

Ten przykład pokazuje, jak określić otoczenie. Palety kolorów odgrywają kluczową rolę w fotografii, wpływając na nastrój i przekazując zamierzone emocje. Spróbuj użyć takich określeń jak „stonowane pomarańczowe ciepłe odcienie”, „naturalne światło”, „wschód słońca” lub „zachód słońca”. Na przykład ciepła, złota paleta może nadać zdjęciu romantyczny i nastrojowy charakter.

Prompt Wygenerowane dane wyjściowe
Zbliżenie na dziewczynkę trzymającą uroczego szczeniaka golden retrievera w parku, w promieniach słońca. Szczeniak w ramionach dziewczynki.
Filmowe zbliżenie na smutną kobietę jadącą autobusem w deszczu, chłodne niebieskie odcienie, smutny nastrój. Kobieta jadąca autobusem, która jest smutna.

Używanie obrazów referencyjnych do generowania filmów

Możesz ożywiać obrazy, korzystając z funkcji przekształcania obrazów w filmy w Veo. Możesz użyć istniejących komponentów lub wypróbować Imagen, aby wygenerować coś nowego.

Prompt Wygenerowane dane wyjściowe
Królik z batonem czekoladowym. Królik ucieka.
Królik ucieka. Królik ucieka.

Negatywne prompty

Wykluczające prompty mogą być przydatnym narzędziem, które pozwala określić elementy, których nie chcesz w filmie. Opisz, czego model nie powinien generować po frazie „Negative prompt”. Wypróbuj te wskazówki:

  • ❌ Nie używaj języka pouczającego 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 „ściana, ramka”, co oznacza, że nie chcesz, aby w filmie pojawiła się ściana ani ramka.

Prompt Wygenerowane dane wyjściowe
Wygeneruj krótką, stylizowaną animację przedstawiającą duże, samotne drzewo dębu, którego liście są silnie poruszane przez wiatr. Drzewo powinno mieć nieco przesadzoną, fantazyjną formę z dynamicznymi, płynnymi gałęziami. Liście powinny mieć różne jesienne kolory, wirować i tańczyć na wietrze. Animacja powinna wykorzystywać ciepłą, zachęcającą paletę kolorów. Drzewo z użyciem słów.
Wygeneruj krótką, stylizowaną animację przedstawiającą duże, samotne drzewo dębu, którego liście są silnie poruszane przez wiatr. Drzewo powinno mieć nieco przesadzoną, fantazyjną formę z dynamicznymi, płynnymi gałęziami. Liście powinny mieć różne jesienne kolory, wirować i tańczyć na wietrze. Animacja powinna wykorzystywać ciepłą, zachęcającą paletę kolorów.

Z negatywnym promptem – tło miejskie, struktury stworzone przez człowieka, ciemna, burzliwa lub groźna atmosfera.
Drzewo bez wykluczających słów.

Formaty obrazu

Generowanie filmów w Gemini Veo obsługuje te 2 formaty obrazu:

Format obrazu Opis
Panoramiczny lub 16:9 Najpopularniejszy format obrazu w przypadku telewizorów, monitorów i ekranów telefonów komórkowych (w orientacji poziomej). Używaj tej opcji, gdy chcesz uchwycić większą część tła, np. w przypadku malowniczych krajobrazów.
Pionowa lub 9:16
(tylko Veo 2)
Obrócony ekran panoramiczny. Ten format obrazu został spopularyzowany przez aplikacje do tworzenia krótkich filmów, takie jak YouTube Shorts. Używaj tego trybu w przypadku portretów lub wysokich obiektów o wyraźnej orientacji pionowej, takich jak budynki, drzewa, wodospady czy budowle.

Panoramiczny

Ten prompt jest przykładem formatu szerokoekranowego 16:9.

Prompt Wygenerowane dane wyjściowe
Utwórz film z widokiem z drona śledzącego mężczyznę jadącego czerwonym kabrioletem w Palm Springs w latach 70. XX wieku. Ciepłe światło słoneczne, długie cienie. Wodospad jest przepiękny.

Pionowo

Ten prompt jest przykładem formatu pionowego 9:16. Ten współczynnik jest dostępny tylko w przypadku Veo 2.

Prompt Wygenerowane dane wyjściowe
Utwórz film przedstawiający płynny ruch majestatycznego hawajskiego wodospadu w bujnym lesie deszczowym. Skup się na realistycznym przepływie wody, szczegółowych liściach i naturalnym oświetleniu, aby przekazać spokój. Uchwyć szumiącą wodę, mglistą atmosferę i plamki światła słonecznego przenikające przez gęste korony drzew. Użyj płynnych, filmowych ruchów kamery, aby pokazać wodospad i jego otoczenie. Staraj się zachować spokojny, realistyczny ton, który przeniesie widza w spokojne piękno hawajskiego lasu deszczowego. Wodospad jest przepiękny.

Porównanie wersji modelu

Aby uzyskać najlepszą wydajność, wierność i jakość, zalecamy korzystanie z Veo 3.

W tabeli poniżej opisano różnice w funkcjach, specyfikacjach i parametrach między Veo 2 a obecną wersją podglądową Veo 3:

Model Veo 3 Veo 2
Dostępność Podgląd Stabilna
Dźwięk Dźwięk z wideo (zawsze włączony) Brak dźwięku
Generowanie Tekst na film Zamiana tekstu i obrazu na film
Filmy na żądanie 1 1 lub 2
aspectRatio Tylko 16:9 16:9 lub 19:6
personGeneration allow_all (nie można konfigurować) allow_adult, dont_allow lub allow_all (tylko w przypadku funkcji tekst na film)
durationSeconds Nie można skonfigurować, tylko 8 sekund 5–8 sekund
enhancePrompt Nie można skonfigurować, zawsze włączona Włącz (domyślnie) lub wyłącz

Możesz przejść z Veo 2 na Veo 3, aktualizując nazwę modelu, aby używać kodu modelu Veo 3, przy minimalnych zmianach parametrów.

Co dalej?