Skip to main content
Den här artikeln introducerar anslutningsinstruktionerna för Gemini Videos Generation API, som kan generera Google Gemini-videor (omni-flash) genom att mata in textpromptar (samt valfria referensbilder).

Ansökningsprocess

För att använda Gemini Videos Generation API, gå först till Ace Data Cloud-konsolen för att hämta din API Token och spara den för senare användning. Om du ännu inte är inloggad eller registrerad omdirigeras du automatiskt till inloggningssidan där du uppmanas att registrera dig och logga in. När det är klart återgår du automatiskt till den aktuella sidan. En API Token kan anropa alla plattformstjänster, utan att behöva ansöka separat för varje tjänst. Vid första ansökan får du gratis kvot för att kunna testa kostnadsfritt; om kvoten är otillräcklig kan du fylla på det gemensamma saldot i konsolen.
📘 Fullständig dokumentation: Gemini Videos Generation API →

Grundläggande användning

Låt oss först titta på det grundläggande användningssättet. Genom att ange prompten prompt, modellen model och bildförhållandet aspect_ratio kan du generera motsvarande video. Här kan vi se att Request Headers har angetts, inklusive:
  • accept: vilket format du vill ta emot svarsresultatet i; här anges application/json, alltså JSON-format.
  • authorization: nyckeln för att anropa API:et, som kan väljas direkt från rullgardinsmenyn efter ansökan.
Dessutom har Request Body angetts, inklusive:
  • prompt: textprompten som beskriver videoinnehållet som ska genereras, obligatorisk.
  • model: modellen för att generera videon; för närvarande stöds endast omni-flash, och standardvärdet är omni-flash.
  • aspect_ratio: bildförhållandet för den genererade videon; du kan välja 16:9 (liggande) eller 9:16 (stående), och standardvärdet är 16:9.
  • resolution: valfri utdatupplösning; du kan välja 720p eller 1080p, och standardvärdet är 720p.
  • image_urls: valfri array med länkar till referensbilder, som används för att styra videogenereringen; tomma poster ignoreras. När video_urls används för videoredigering är denna parameter obligatorisk (minst en bild).
  • video_urls: valfri array med länkar till referensvideor (högst 1), som används för videoredigering / videoreferens; när den anges måste minst en image_urls samtidigt anges.
  • callback_url: asynkron callback-adress; efter inställning returnerar API:et omedelbart task_id och POST:ar resultatet till denna adress när uppgiften är klar.
  • async: valfri; när den sätts till true returnerar gränssnittet omedelbart task_id, utan behov av att ange callback_url; resultatet hämtas sedan genom polling via motsvarande gränssnitt för uppgiftsförfrågan.
Klicka på knappen ”Try” för att testa. Resultatet ser ungefär ut så här:
Svarsresultatet innehåller flera fält, som beskrivs nedan:
  • success: om denna begäran om videogenerering lyckades.
  • task_id: ID:t för denna uppgift för videogenerering.
  • trace_id: spårnings-ID:t för denna begäran, som används för felsökning.
  • data: listan över genererade videoresultat.
    • id: den unika identifieraren för den genererade videon.
    • video_url: länkadressen till den genererade videon (null när state är pending).
    • state: statusen för uppgiften för videogenerering; möjliga värden är pending / succeeded / failed.
    • aspect_ratio: bildförhållandet för denna video, vilket överensstämmer med begärandeparametern.
    • prompt: prompten som användes för att generera denna video.
Vid synkront svar inkluderas även fälten started_at, finished_at, elapsed (tidsåtgång, sekunder) samt cost (denna debitering, enhet Credit) på toppnivå. Vi behöver bara hämta den genererade videon via länkadressen video_url i resultatets data. Motsvarande CURL-kod är följande:
Motsvarande Python-kod är följande:

Bild-till-video

Om du vill generera en video baserat på referensbilder kan du skicka in en eller flera bildlänkar i image_urls för att styra videogenereringen:

Videoredigering / referensvideo (inmatningsvideo, genererad video)

Det stöds att direkt ”mata in en video och generera en ny video”: skicka in en referensvideolänk (högst 1) i video_urls och tillhandahåll samtidigt minst en referensbild i image_urls (uppströms hårt krav), och använd sedan prompt för att beskriva önskad redigeringseffekt (ändra stil, byta scen, lägga till eller ta bort element osv.). Nedan är ett komplett verkligt exempel — en video av en solig strand ändras till en vinterscen med kraftigt snöfall, samtidigt som layouten för stranden, palmerna och båten behålls. Videoredigering tar längre tid (cirka 6,5 minuter i detta exempel), därför skickas den asynkront med async: true:
Efter inskickning returnerar API:et omedelbart task_id:
Använd sedan denna task_id som id för att polla Gemini Tasks API. När uppgiften är slutförd kan du hämta den nya genererade videon (detta är det verkliga retursvaret för exemplet):
För resultat med högre upplösning kan du ställa in resolution till 1080p (övriga parametrar förblir oförändrade).
Tips: In-/utmedialänkarna i exemplet är alla verkliga genererade resultat. Videor och bildlänkar som genereras av plattformen har en lagringstid och blir ogiltiga efter att den har löpt ut, så ladda ner och spara dem i din egen lagring i tid efter att du har fått resultatet.
Observera: Högst 1 referensvideo tillåts; och när video_urls anges måste minst en image_urls tillhandahållas, annars returneras följande parameterfel:

Asynkron återuppringning

Videogenerering kräver en viss bearbetningstid. Om du inte vill behålla en lång anslutning och vänta kan du ange callback_url. API:et returnerar då omedelbart task_id, och när uppgiften är slutförd POST:as slutresultatet till denna adress:
Det omedelbart returnerade resultatet är följande:

Fråga efter uppgiftsresultat

Om du använder asynkron återuppringning eller vill fråga efter uppgiftsstatus aktivt kan du använda Gemini Tasks API (POST https://api.acedata.cloud/gemini/tasks) för att fråga efter den senaste uppgiftsstatusen och resultaten baserat på task_id. Skicka in task_id som returneras när videon skapas som id i begärandekroppen:
Resultatet som returneras när uppgiften är slutförd liknar följande. Strukturen för response.data är densamma som vid synkron generering (state är pending och video_url är null medan generering pågår):

Felhantering

När ett problem uppstår med begäran returnerar API:et motsvarande felkod och beskrivning. Vanliga är följande:
  • 400: Begärandeparametrarna är felaktiga, till exempel saknas prompt eller så är aspect_ratio ogiltig.
  • 401: Autentiseringen misslyckades, token är ogiltig eller matchar inte API:et.
  • 403: Otillräckligt saldo, eller så avvisades prompten eftersom den träffade innehållsgranskningen.
  • 500: Internt serverfel eller uppströmsgenereringen misslyckades.