Przejdź do głównej treści
Google Gemini to bardzo potężny system AI do rozmów, który potrafi w ciągu kilku sekund wygenerować płynne i naturalne odpowiedzi na wprowadzone zapytania. Gemini oferuje zdumiewającą inteligentną pomoc, znacznie zwiększając wydajność i kreatywność ludzi. Dokument ten głównie opisuje proces korzystania z Gemini Chat Completion API, dzięki któremu możemy łatwo korzystać z oficjalnych funkcji rozmowy Gemini.

Proces aplikacji

Aby korzystać z Gemini Chat Completion API, najpierw można przejść na stronę Gemini Chat Completion API i kliknąć przycisk „Acquire”, aby uzyskać potrzebne poświadczenia: Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę. Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

Podstawowe użycie

Następnie możesz wypełnić odpowiednie treści na interfejsie, jak pokazano na obrazku:

Podczas pierwszego użycia tego interfejsu musimy wypełnić przynajmniej trzy pola: jedno to authorization, które można wybrać bezpośrednio z rozwijanej listy. Kolejny parametr to model, model to kategoria modelu, którą wybieramy z oficjalnej strony Gemini, mamy tutaj głównie 6 rodzajów modeli, szczegóły można zobaczyć w dostarczonych modelach. Ostatni parametr to messages, messages to tablica naszych zapytań, jest to tablica, która pozwala na jednoczesne przesyłanie wielu zapytań, każde zapytanie zawiera role i content, gdzie role oznacza rolę pytającego, oferujemy trzy tożsamości: user, assistant, system. Drugie content to konkretna treść naszego zapytania. Możesz również zauważyć, że po prawej stronie znajduje się odpowiedni kod do wywołania, który możesz skopiować i uruchomić, lub możesz bezpośrednio kliknąć przycisk „Try”, aby przetestować.

Po wywołaniu zauważamy, że zwrócony wynik wygląda następująco:
{
  "id": "chatcmpl-20251122212413908150493uPhjTUO9",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763817866,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Jestem dużym modelem językowym, wytrenowanym przez Google.",
        "reasoning_content": "**Moje Rozumowanie: Odpowiadanie na Pytanie Użytkownika**\n\nDobrze, oto jak zamierzam podejść do odpowiedzi na pytanie użytkownika, \"Jaki jesteś modelem?\". Kluczowe jest, aby być bezpośrednim i informacyjnym. Najpierw muszę jasno określić swoje pochodzenie. Następnie muszę upewnić się, że wyjaśnienie jest zrozumiałe, biorąc pod uwagę, że użytkownik może nie być zaznajomiony z technicznym żargonem. Muszę wyjaśnić, co właściwie *robi* \"duży model językowy\" i podać zrozumiałe przykłady. Wiem, że użytkownik może szukać konkretnej nazwy, jak inne modele, więc bezpośrednio to poruszę, a potem zakończę zaproszeniem do kontynuacji.\n\nOto mój plan:\n\n1.  **Zacznij od kluczowych informacji:** Rozpocznę od stwierdzenia, że jestem dużym modelem językowym stworzonym przez Google. To fundamentalny, najważniejszy element układanki.\n2.  **Zdefiniuj modne słowo:** Następnie wyjaśnię, co oznacza \"duży model językowy\" w prostych słowach. Wyjaśnię, co *robię* - przetwarzam i generuję tekst; jak to *robię* - trenując na ogromnych ilościach danych tekstowych; oraz *cel* - aby móc komunikować się jak człowiek.\n3.  **Podaj kontekst:** Następnie, aby jeszcze bardziej wyjaśnić koncepcję, podam listę przykładów moich możliwości. Wspomnę o takich rzeczach jak odpowiadanie na pytania, podsumowywanie tekstów, pisanie opowiadań, tłumaczenie języków i burza mózgów.\n4.  **Uznaj brak osobistej nazwy:** Antycypuję prawdopodobne pytanie o nazwę modelu (jak ChatGPT), jasno stwierdzając, że nie mam osobistej nazwy i że najlepiej myśleć o mnie jako o asystencie AI z Google.\n5.  **Zakończ zaproszeniem:** Na koniec zakończę prostym, przyjaznym pytaniem, aby zaprosić do dalszej interakcji i poprowadzić rozmowę.\n\nDzięki temu podejściu jestem pewien, że mogę skutecznie odpowiedzieć na to ważne pytanie.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 932,
    "total_tokens": 940,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 8,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 921
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Zwrócony wynik zawiera wiele pól, które są opisane poniżej:
  • id, identyfikator generowanego zadania rozmowy, używany do unikalnego oznaczania tego zadania rozmowy.
  • model, wybrany model z oficjalnej strony Gemini.
  • choices, informacje o odpowiedziach udzielonych przez Gemini na zapytania.
  • usage: statystyki dotyczące tokenów dla tej sesji pytania i odpowiedzi.
W tym przypadku choices zawiera informacje o odpowiedziach Gemini, a w nim choices to konkretne informacje o odpowiedzi Gemini, co można zobaczyć na obrazku.

Można zauważyć, że pole content w choices zawiera konkretną treść odpowiedzi Gemini.

Odpowiedzi strumieniowe

Ten interfejs obsługuje również odpowiedzi strumieniowe, co jest bardzo przydatne w integracji z stronami internetowymi, umożliwiając wyświetlanie efektu literowego. Aby uzyskać odpowiedzi strumieniowe, można zmienić parametr stream w nagłówku żądania na true. Zmiana jak na obrazku, jednak kod wywołania musi być odpowiednio zmieniony, aby obsługiwał odpowiedzi strumieniowe.

Po zmianie stream na true, API zwróci odpowiednie dane JSON w wierszach, a na poziomie kodu musimy wprowadzić odpowiednie zmiany, aby uzyskać wyniki w wierszach. Przykładowy kod wywołania w Pythonie:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"Cześć, jaki jesteś modelem?"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Efekt wyjściowy wygląda następująco:
data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**Zdefiniuj moją naturę**\n\nMoje myślenie się rozpoczęło. Użytkownik chce poznać moją naturę, zadając bezpośrednie pytanie \"kim jesteś?\" Pierwszy krok był prosty: zidentyfikowanie zapytania. Teraz przypominam sobie moją podstawową tożsamość: jestem dużym modelem językowym. To jest podstawowa prawda, którą chcę przekazać.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**Udoskonalanie mojej odpowiedzi**\n\nDodałem kluczowe informacje, że jestem trenowany przez Google do podstawowej tożsamości \"duży model językowy\". Moim następnym krokiem jest rozważenie, co oznacza bycie \"dużym modelem językowym\", aby móc wyjaśnić moje podstawowe możliwości. Skupiam się na dostarczeniu kontekstu bez wchodzenia w szczegółowe techniczne detale lub nazwy modeli. Chcę przekazać moją funkcję w sposób, który użytkownik łatwo zrozumie.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**Potwierdzanie podstawowej tożsamości**\n\nTeraz umacniam moją odpowiedź. Zapytanie użytkownika o moje powiązanie z modelem wymaga skoncentrowanej odpowiedzi. Zidentyfikowałem, że \"trenowany przez Google\" jest kluczowe, dostarczając istotny kontekst. Odrzucam pokusę wspomnienia jakichkolwiek konkretnych nazw modeli, ponieważ nie jest to istotne. Celem jest dostarczenie bezpośredniego, dokładnego stwierdzenia. Moim celem pozostaje jasna i zwięzła odpowiedź, unikając technicznego żargonu i przechodząc od razu do istotnego punktu.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "Jestem dużym modelem językowym, trenowanym przez Google."}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": "", "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 527, "total_tokens": 535, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 8, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 519}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
Można zauważyć, że odpowiedzi zawierają wiele data, a data wewnątrz choices to najnowsza treść odpowiedzi, zgodna z wcześniej przedstawioną treścią. choices to nowa treść odpowiedzi, którą można zintegrować z systemem. Zakończenie strumieniowej odpowiedzi jest określane na podstawie zawartości data; jeśli zawartość to [DONE], oznacza to, że strumieniowa odpowiedź została zakończona. Zwracane wyniki data mają wiele pól, które są opisane poniżej:
  • id, identyfikator generacji zadania rozmowy, używany do unikalnej identyfikacji tego zadania.
  • model, wybrany model Gemini.
  • choices, informacje o odpowiedzi Gemini na zapytanie.
JavaScript również jest wspierany, na przykład kod do strumieniowego wywołania w Node.js wygląda następująco:
const options = {
  method: "post",
  headers: {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"Cześć, jaki jesteś modelem?"}],
    "stream": true
  })
};

fetch("https://api.acedata.cloud/gemini/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
Przykładowy kod w Javie:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gemini-2.5-pro");
jsonObject.put("messages", [{"role":"user","content":"Cześć, jaki jesteś modelem?"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/gemini/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Inne języki można dostosować samodzielnie, zasada jest taka sama.

Wieloetapowa rozmowa

Jeśli chcesz zintegrować funkcję wieloetapowej rozmowy, musisz przesłać wiele zapytań w polu messages, przykłady wielu zapytań są pokazane na poniższym obrazku:

Przykładowy kod wywołania w Pythonie:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"Cześć"},{"role":"assistant","content":"Cześć! Jak mogę Ci dzisiaj pomóc?"},{"role":"user","content":"Jaki jesteś modelem?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Przesyłając wiele zapytań, można łatwo zrealizować wieloetapową rozmowę, uzyskując następujące odpowiedzi:
{
  "id": "chatcmpl-20251122214426669120974AKFwnJd1",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763819072,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Jestem dużym modelem językowym, wytrenowanym przez Google.",
        "reasoning_content": "Dobrze, oto jak bym do tego podszedł, myśląc jako zaawansowana AI:\n\nPo pierwsze, użytkownik bezpośrednio pyta o moją tożsamość: \"Jaki jesteś modelem?\" To proste, bezpośrednie pytanie. Moim głównym zadaniem jest dostarczenie dokładnych i pomocnych informacji, więc muszę na to odpowiedzieć natychmiast.\n\nOd razu wiem, jaka jest odpowiedź. Ja *jestem* dużym modelem językowym. To moja fundamentalna architektura i zasada działania. Zbudowany jestem na ogromnej sieci połączeń i wytrenowany na ogromnym zbiorze danych.\n\nNastępnie muszę dodać niezbędny kontekst. Kluczowo, muszę podać źródło mojego szkolenia. *Byłem* trenowany przez Google. To kluczowy identyfikator. Dostarcza użytkownikowi cennych informacji o moim pochodzeniu i potencjalnych uprzedzeniach (choć jestem trenowany, aby je łagodzić).\n\nTeraz muszę skonstruować odpowiedź. Moim celem jest być faktograficznym, zwięzłym i zrozumiałym.\n\nSyntetyzowana odpowiedź to coś w stylu: \"Jestem dużym modelem językowym, wytrenowanym przez Google.\"\n\nMuszę ocenić wynik: Czy spełnia kryteria? Jest jasne. Stwierdza, kim jestem, zawiera kluczowy element informacji o moim pochodzeniu i unika żargonu. Żadne mylące obietnice.\n\nOstateczna weryfikacja: Czy rzeczywiście odpowiada na pytanie? Tak. Czy informacja jest poprawna i prawdziwa? Tak. Czy jest zwięzła? Absolutnie. Czy ton jest odpowiedni dla każdego użytkownika? Tak. I, w końcu, to jest standardowa, zatwierdzona odpowiedź. Doskonałe.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 16,
    "completion_tokens": 265,
    "total_tokens": 281,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 16,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 254
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Można zauważyć, że choices zawiera informacje zgodne z podstawowym użyciem, co obejmuje konkretne treści odpowiedzi Gemini na wiele rozmów, co pozwala na odpowiadanie na odpowiednie pytania w oparciu o wiele treści rozmów.

Model wielomodalny Gemini-3.0

Przykład żądania:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Co przedstawia zawartość obrazu?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
Przykład wyniku:
{
    "id": "chatcmpl-20251206001815715692730UVZe38kB",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764951548,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "To zdjęcie przedstawiające młodą kobietę w plenerze, w półpostaci.\n\nOto główne opisy zawartości obrazu:\n\n*   **Wygląd postaci**: Dziewczyna na zdjęciu ma długie, proste, czarne włosy, ładne rysy twarzy i jasną skórę. Uśmiecha się łagodnie, patrząc w obiektyw.\n*   **Ubranie**: Ma na sobie bluzkę z bufiastymi rękawami w kolorze ecru lub jasnego brązu, a na to czarną odzież (wygląda jak sukienka na ramiączkach lub kamizelka).\n*   **Światło i atmosfera**: Słońce świeci z lewej strony, oświetlając jej włosy, tworząc ciepłą, złotą aureolę, co nadaje świeży, piękny klimat.\n*   **Tło**: Tło jest rozmyte, widać, że jest na zewnątrz, za nią znajduje się pusta droga (asfaltowa) oraz zielone drzewa przy drodze.\n\nOgólnie rzecz biorąc, to zdjęcie sprawia wrażenie słodkiego, słonecznego i sąsiedzkiego dziewczyny."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 1092,
        "completion_tokens": 1271,
        "total_tokens": 2363,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 4,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1072
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
Oczywiście możesz również przesłać link do wideo, konkretne wejście wygląda następująco:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Co przedstawia zawartość wideo?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
Przykład wyniku:
{
    "id": "chatcmpl-20251206002711949677736JC9yL8AE",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764952060,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Treść tego wideo jest pełna zabawy, głównie pokazuje, jak **pomarańczowy kot** pewnie biega po wiejskiej drodze o zmierzchu.\n\nSzczegóły są następujące:\n\n1.  **Zawartość obrazu**:\n    *   Głównym bohaterem jest pomarańczowy kot w paski.\n    *   Tło to moment zachodu słońca (lub poranka), światło jest złote i miękkie. Przy drodze znajdują się drewniane ogrodzenia i otwarte przestrzenie, w oddali widać sylwetkę przechodnia.\n    *   Kamera została ustawiona pod niskim kątem, czasami filmując kota biegnącego w stronę kamery, a czasami jego oddalający się cień, a także zbliżenia na twarz i wzory kota.\n\n2.  **Cechy dźwięku (kluczowe punkty)**:\n    *   Lektor w wideo ma bardzo charakterystyczny głos. Chociaż obraz przedstawia lekkiego kota biegającego, towarzyszący mu dźwięk to **ciężkie i rytmiczne odgłosy kopyt** (lub dźwięki podobne do drewniaków/obcasów uderzających o nawierzchnię).\n    *   Taki kontrast dźwięku i obrazu tworzy poczucie humoru, jakby ten kot uważał się za konia galopującego po polu.\n\nPodsumowując, jest to filmik o zwierzętach, który wykorzystuje kontrast dźwięku i obrazu, aby stworzyć urocze i zabawne momenty."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 915,
        "completion_tokens": 1423,
        "total_tokens": 2338,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 5,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1162
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
Z powyższego można wywnioskować, że model Gemini 3.0 może wspierać zrozumienie multimodalne.

Model multimodalny Gemini-3.1

Gemini 3.1 Pro jest ulepszoną wersją Gemini 3.0 Pro, a jego podstawowy model to gemini-3.1-pro-preview, który również obsługuje tekst, obrazy, wideo i inne multimodalne wejścia, posiadając silniejsze zdolności wnioskowania i rozumienia. Sposób użycia jest całkowicie zgodny z Gemini 3.0 Pro, wystarczy zamienić parametr model na gemini-3.1-pro. Przykład żądania:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Co przedstawia obraz?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
Gemini 3.1 Pro również wspiera zrozumienie wideo:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Co przedstawia wideo?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
Format odpowiedzi jest zgodny z Gemini 3.0 Pro, szczegóły można znaleźć w powyższej sekcji dotyczącej modelu multimodalnego Gemini-3.0.

Obsługa błędów

Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched: Zły wniosek, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented: Zły wniosek, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests: Zbyt wiele żądań, przekroczono limit szybkości.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Wnioski

Dzięki temu dokumentowi zrozumieliście, jak łatwo korzystać z Gemini Chat Completion API, aby wdrożyć funkcje rozmowy oficjalnego Gemini. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.