Skip to main content
Google Gemini är ett mycket kraftfullt AI-konversationssystem som kan generera flytande och naturliga svar på några sekunder genom att mata in en prompt. Detta dokument beskriver främst hur Gemini Generate Content API används. Detta är Googles officiella inbyggda API-format och stöder de två ändpunkterna generateContent och streamGenerateContent.

Skillnader jämfört med Chat Completions API

Gemini Generate Content API använder Googles officiella inbyggda begärandeformat (fältet contents), i stället för det OpenAI-kompatibla formatet (fältet messages). Om du redan använder Google Gemini SDK eller är bekant med det officiella API-formatet kan du använda detta API direkt utan att ändra begärandeformatet.

Aktuellt stödomfång

Gränssnittet accepterar text-, bild-, video- och ljudindata (inlineData eller fileData), tankekonfiguration och deklarationer av anpassade funktioner. Det finns ännu ingen garanti för enhetlig tillgänglighet för inbyggda fält såsom ljudutdata, inbyggda verktyg och explicit kontextcache; utgå från den faktiska responsen för den specifika modellen. När du använder fileData.fileUri för att skicka filer som ljud, säkerställ att filen kan nås direkt via HTTPS, inte är beroende av inloggningsstatus och att den signerade länkens giltighetstid täcker hela tiden för begärandebearbetningen. Icke-strömmande ljudanalys returnerar resultat först efter att modellen har slutfört bearbetningen, vilket kan ta över 90 sekunder; klienten bör ställa in en tillräckligt lång total timeout utifrån filstorlek och verksamhetsscenario för att undvika att anslutningen bryts medan servern fortfarande bearbetar.

Ansökningsprocess

Innan du använder Gemini Generate Content API, besök först sidan Gemini Generate Content API och klicka på knappen “Hämta” för att få de autentiseringsuppgifter som krävs för begäran. Om du ännu inte har loggat in eller registrerat dig omdirigeras du automatiskt till inloggningssidan. Den första ansökan har en kostnadsfri kvot.

Grundläggande användning

Non-Streaming (icke-strömmande)

Skicka en POST-begäran till /v1beta/models/{model}:generateContent:
Tips: flash i serien gemini-3.x är en tänkande modell och förbrukar först reasoning tokens; ange generationConfig.maxOutputTokens till över 512, annars kan endast tomt innehåll returneras.
Exempel på returresultat:
Token-fälten i usageMetadata debiteras enligt den inbyggda Gemini-semantiken:
  • promptTokenCount innehåller cachedContentTokenCount; delar som träffar cachen beräknas enligt priset för cacheläsning och räknas inte igen som vanlig indata.
  • promptTokensDetails och cacheTokensDetails normaliseras till text_tokens, image_tokens, video_tokens, audio_tokens och motsvarande cached_*-detaljer under usage.prompt_tokens_details. Dessa värden ingår respektive i prompt_tokens och cached_tokens; olika modaliteter beräknas endast om enligt sina egna priser och debiteras inte dubbelt.
  • Både candidatesTokenCount och thoughtsTokenCount beräknas enligt priset för utdata-token.
  • toolUsePromptTokenCount är en separat token för verktygsindata och beräknas enligt priset för indata-token.
Ace Data Cloud returnerar dessutom ett normaliserat usage-objekt; läs kostnaden för detta anrop från usage.cost enhetligt mellan modellprotokoll. cost är en valfri kostnadsförhandsvisning; när prisförhandsvisningen tillfälligt inte är tillgänglig returneras modellsvaret fortfarande normalt, men fältet kan saknas. Den slutliga fakturan baseras på användningsregistreringen.

Streaming (strömmande)

Skicka en POST-begäran till /v1beta/models/{model}:streamGenerateContent?alt=sse:
Det strömmande svaret returnerar stegvis innehåll i SSE-format (Server-Sent Events). Mellanhändelser innehåller vanligtvis endast inkrementellt innehåll; den slutliga händelsen med auktoritativ användning innehåller usageMetadata och normaliserad usage, och kostnaden finns fortfarande i usage.cost:
När anslutningen stängs innebär det att strömmen har avslutats; den inbyggda Gemini-strömmen skickar inte data: [DONE]. Om den slutliga prisförhandsvisningen tillfälligt inte är tillgänglig returneras fortfarande tokenanvändningen i usage, men cost utelämnas.

Modeller som stöds

Avancerade funktioner

Systeminstruktioner

Genereringskonfiguration

JSON-läge

Tankeläge (Thinking)

Modeller som stöder tankefunktionen (såsom gemini-2.5-flash och gemini-2.5-pro) kan aktivera tankeläget:

Funktionsanrop

Fleromgångsdialog

Bildförståelse

Säkerhetsinställningar

Innehållsfiltrering kan styras via safetySettings:

Felhantering