generateContent oraz streamGenerateContent.
Różnice względem Chat Completions API
Gemini Generate Content API używa oficjalnego natywnego formatu żądań Google (polecontents), zamiast formatu kompatybilnego z OpenAI (pole messages). Jeśli używasz już Google Gemini SDK lub znasz oficjalny format API, możesz bezpośrednio użyć tego API bez modyfikowania formatu żądania.
Aktualnie obsługiwany zakres
Interfejs przyjmuje wejście tekstowe, obrazy, wideo i audio (inlineData lub fileData), konfigurację myślenia oraz niestandardowe deklaracje funkcji. Nie ma jeszcze gwarancji jednolitej dostępności dla natywnych pól, takich jak wyjście audio, wbudowane narzędzia i jawne buforowanie kontekstu; należy kierować się rzeczywistą odpowiedzią konkretnego modelu.
Podczas przesyłania plików, takich jak audio, za pomocą fileData.fileUri, upewnij się, że plik jest bezpośrednio dostępny przez HTTPS, nie zależy od stanu logowania oraz że okres ważności podpisanego linku obejmuje cały czas przetwarzania żądania. Niestreamingowa analiza audio zwraca wynik dopiero po zakończeniu przetwarzania przez model i może trwać ponad 90 sekund; klient powinien ustawić wystarczająco długi całkowity limit czasu zgodnie z rozmiarem pliku i scenariuszem biznesowym, aby uniknąć rozłączenia, gdy serwer nadal przetwarza dane.
Proces aplikowania
Przed użyciem Gemini Generate Content API odwiedź najpierw stronę Gemini Generate Content API i kliknij przycisk „Uzyskaj”, aby otrzymać poświadczenia wymagane do żądania. Jeśli nie jesteś jeszcze zalogowany lub zarejestrowany, nastąpi automatyczne przekierowanie na stronę logowania. Pierwsza aplikacja obejmuje bezpłatny limit.Podstawowe użycie
Non-Streaming (niestreamingowe)
Wyślij żądanie POST do/v1beta/models/{model}:generateContent:
Wskazówka: flash z seriigemini-3.xto model rozumujący, który najpierw zużywa reasoning tokens; ustawgenerationConfig.maxOutputTokensna wartość powyżej 512, w przeciwnym razie może zostać zwrócona tylko pusta treść.
usageMetadata są rozliczane zgodnie z natywną semantyką Gemini:
promptTokenCountobejmujecachedContentTokenCount; część trafiająca do pamięci podręcznej jest obliczana według ceny odczytu z pamięci podręcznej i nie jest ponownie liczona jako zwykłe wejście.promptTokensDetailsorazcacheTokensDetailssą normalizowane jakotext_tokens,image_tokens,video_tokens,audio_tokensoraz odpowiadające im szczegółycached_*wusage.prompt_tokens_details. Wartości te są odpowiednio zawarte wprompt_tokensorazcached_tokens; różne modalności są przeliczane wyłącznie według własnych cen i nie są naliczane podwójnie.- Zarówno
candidatesTokenCount, jak ithoughtsTokenCountsą obliczane według ceny tokenów wyjściowych. toolUsePromptTokenCountto niezależne tokeny wejściowe narzędzia, obliczane według ceny tokenów wejściowych.
usage; niezależnie od protokołu modelu koszt tego wywołania jest jednolicie odczytywany z usage.cost. cost jest opcjonalnym podglądem kosztu; gdy podgląd ceny jest tymczasowo niedostępny, odpowiedź modelu nadal zostanie normalnie zwrócona, ale może nie zawierać tego pola. Ostateczne rozliczenie opiera się na rekordach użycia.
Streaming (strumieniowe)
Wyślij żądanie POST do/v1beta/models/{model}:streamGenerateContent?alt=sse:
usageMetadata oraz znormalizowane usage, a koszt nadal znajduje się w usage.cost:
data: [DONE]. Jeśli podgląd ceny końcowej jest tymczasowo niedostępny, usage nadal zwróci użycie tokenów, ale pominie cost.
Obsługiwane modele
Zaawansowane funkcje
Instrukcje systemowe
Konfiguracja generowania
Tryb JSON
Tryb myślenia (Thinking)
Modele obsługujące funkcję myślenia (takie jak gemini-2.5-flash, gemini-2.5-pro) mogą włączyć tryb myślenia:Wywoływanie funkcji
Rozmowy wieloturowe
Rozumienie obrazów
Ustawienia bezpieczeństwa
Filtrowanie treści można kontrolować za pomocąsafetySettings:

