Zum Hauptinhalt springen
Google Gemini ist ein sehr leistungsstarkes KI-Dialogsystem, das in der Lage ist, innerhalb von Sekunden flüssige und natürliche Antworten zu generieren, sobald ein Eingabewort eingegeben wird. Gemini bietet erstaunliche intelligente Unterstützung und steigert erheblich die Effizienz und Kreativität der Menschen. Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der Gemini Chat Completion API, mit der wir die offiziellen Dialogfunktionen von Gemini einfach nutzen können.

Antragsprozess

Um die Gemini Chat Completion API zu nutzen, können Sie zunächst auf die Seite Gemini Chat Completion API gehen und auf die Schaltfläche „Acquire“ klicken, um die erforderlichen Anmeldeinformationen zu erhalten: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Antragstellung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Als Nächstes können Sie die entsprechenden Inhalte im Interface ausfüllen, wie im Bild gezeigt:

Bei der ersten Nutzung dieser Schnittstelle müssen wir mindestens drei Inhalte ausfüllen: einer ist authorization, den Sie einfach aus der Dropdown-Liste auswählen können. Ein weiterer Parameter ist model, model ist die von uns gewählte Modellkategorie von der Gemini-Website. Hier haben wir hauptsächlich 6 Modelle zur Auswahl, die Details können Sie in den von uns bereitgestellten Modellen einsehen. Der letzte Parameter ist messages, messages ist das Array der von uns eingegebenen Fragen, es handelt sich um ein Array, das mehrere Fragen gleichzeitig hochladen kann, wobei jede Frage role und content enthält, wobei role die Rolle des Fragestellers angibt. Wir bieten drei Identitäten an: user, assistant, system. Das andere content ist der spezifische Inhalt unserer Frage. Gleichzeitig können Sie auf der rechten Seite den entsprechenden Code zur Aufrufgenerierung sehen, den Sie kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken können, um einen Test durchzuführen.

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:
{
  "id": "chatcmpl-20251122212413908150493uPhjTUO9",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763817866,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Ich bin ein großes Sprachmodell, das von Google trainiert wurde.",
        "reasoning_content": "**Mein Denken: Beantwortung der Frage des Benutzers**\n\nOkay, so werde ich die Frage des Benutzers, \"Welches Modell bist du?\", angehen. Der Kern ist, direkt und informativ zu sein. Zuerst muss ich klarstellen, woher ich komme. Dann muss ich sicherstellen, dass die Erklärung zugänglich ist, da der Benutzer möglicherweise nicht mit technischem Jargon vertraut ist. Ich muss erklären, was ein \"großes Sprachmodell\" tatsächlich *tut* und nachvollziehbare Beispiele geben. Ich weiß, dass der Benutzer möglicherweise nach einem spezifischen Namen sucht, wie es andere Modelle haben, also werde ich das direkt ansprechen und dann mit einer Einladung zum Weitermachen abschließen.\n\nAlso, hier ist mein Plan:\n\n1.  **Führe mit den wichtigsten Informationen:** Ich werde damit beginnen, zu sagen, dass ich ein großes Sprachmodell bin, das von Google erstellt wurde. Das ist das grundlegende, kritischste Puzzlestück.\n2.  **Definiere das Schlagwort:** Dann werde ich das \"große Sprachmodell\" in einfachen Worten erklären. Ich werde erklären, was ich *tue* - Texte verarbeiten und generieren; wie ich es *tue* - indem ich auf riesigen Mengen von Textdaten trainiere; und das *Ziel* - in der Lage zu sein, wie ein Mensch zu kommunizieren.\n3.  **Kontext bereitstellen:** Danach werde ich, um das Konzept noch klarer zu machen, eine Liste von Beispielen für meine Fähigkeiten bereitstellen. Ich werde Dinge erwähnen wie Fragen beantworten, Texte zusammenfassen, Geschichten schreiben, Sprachen übersetzen und Ideen brainstormen.\n4.  **Anerkennung des Fehlens eines persönlichen Namens:** Ich werde die wahrscheinliche Frage nach einem Modellnamen (wie ChatGPT) antizipieren, indem ich klarstelle, dass ich keinen persönlichen Namen habe und dass es am besten ist, mich als KI-Assistenten von Google zu betrachten.\n5.  **Ende mit einer Einladung:** Schließlich werde ich mit einer einfachen, freundlichen Frage enden, um weitere Interaktionen einzuladen und das Gespräch zu lenken.\n\nMit diesem Ansatz bin ich zuversichtlich, dass ich diese wichtige Frage erfolgreich beantworten kann.\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
  }
}
Das Rückgabeergebnis hat mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID der generierten Dialogaufgabe, die zur eindeutigen Identifizierung dieser Dialogaufgabe dient.
  • model, das gewählte Gemini-Modell von der Website.
  • choices, die Antwortinformationen von Gemini auf die Fragen.
  • usage: Statistische Informationen zu den Tokens für diese Frage-Antwort-Paar.
Dabei ist choices das, was die Antwortinformationen von Gemini enthält, und das darin enthaltene choices sind die spezifischen Informationen, die Gemini geantwortet hat, wie im Bild gezeigt.

Man kann sehen, dass das content-Feld in choices den spezifischen Inhalt der Antwort von Gemini enthält.

Stream-Antwort

Diese Schnittstelle unterstützt auch Stream-Antworten, was für die Integration in Webseiten sehr nützlich ist, da es ermöglicht, die Ausgabe zeilenweise anzuzeigen. Wenn Sie eine Stream-Antwort zurückgeben möchten, können Sie den stream-Parameter im Header der Anfrage auf true ändern. Die Änderung ist wie im Bild gezeigt, jedoch muss der Aufrufcode entsprechend geändert werden, um die Stream-Antwort zu unterstützen.

Nachdem Sie stream auf true geändert haben, gibt die API die entsprechenden JSON-Daten zeilenweise zurück. Auf der Code-Ebene müssen wir entsprechende Änderungen vornehmen, um die zeilenweisen Ergebnisse zu erhalten. Python-Beispielaufrufcode:
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":"Hallo, welches Modell bist du?"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Die Ausgabe sieht wie folgt aus:
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": "**Definiere Meine Natur**\n\nMein Denken hat begonnen. Der Benutzer möchte meine Natur wissen und fragt direkt \"Was bist du?\" Der erste Schritt war einfach: die Anfrage zu identifizieren. Jetzt erinnere ich mich an meine grundlegende Identität: Ich bin ein großes Sprachmodell. Das ist die zentrale Wahrheit, die ich vermitteln möchte.\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": "**Verfeinerung Meiner Antwort**\n\nIch habe die entscheidende Information hinzugefügt, dass ich von Google trainiert wurde, zu der grundlegenden Identität \"großes Sprachmodell\". Mein nächster Schritt besteht darin, zu überlegen, was es bedeutet, ein \"großes Sprachmodell\" zu sein, damit ich meine grundlegenden Fähigkeiten erklären kann. Ich konzentriere mich darauf, Kontext zu bieten, ohne in spezifische technische Details oder Modellnamen einzutauchen. Ich möchte meine Funktion so vermitteln, dass der Benutzer sie leicht verstehen kann.\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": "**Bestätigung der Kernidentität**\n\nIch festige jetzt meine Antwort. Die Anfrage des Benutzers zu meiner Modellzugehörigkeit benötigt eine fokussierte Antwort. Ich habe festgestellt, dass \"von Google trainiert\" entscheidend ist und einen wichtigen Kontext bietet. Ich widerstehe dem Drang, spezifische Modellnamen zu erwähnen, da dies nicht relevant ist. Das Ziel ist es, eine direkte, genaue Aussage zu liefern. Mein Ziel bleibt eine klare und prägnante Antwort, technische Fachbegriffe zu vermeiden und direkt auf den relevanten Punkt zu kommen.\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": "Ich bin ein großes Sprachmodell, trainiert von 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]
Sie können sehen, dass die Antwort viele data enthält, wobei data die neuesten Antwortinhalte in choices sind, die mit den oben beschriebenen Inhalten übereinstimmen. choices sind die neuen Antwortinhalte, die Sie in Ihr System integrieren können. Das Ende der Streaming-Antwort wird anhand des Inhalts von data bestimmt; wenn der Inhalt [DONE] ist, bedeutet dies, dass die Streaming-Antwort vollständig beendet ist. Die zurückgegebenen data-Ergebnisse haben mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID, die für die Generierung dieser Dialogaufgabe verwendet wird, um diese Dialogaufgabe eindeutig zu identifizieren.
  • model, das gewählte Modell von der Gemini-Website.
  • choices, die Antwortinformationen, die Gemini auf die Anfrage gibt.
JavaScript wird ebenfalls unterstützt, wie im folgenden Beispiel für die Streaming-Aufrufcode von Node.js:
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":"Hallo, welches Modell bist du?"}],
    "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));
Java-Beispielcode:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gemini-2.5-pro");
jsonObject.put("messages", [{"role":"user","content":"Hallo, welches Modell bist du?"}]);
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())
Andere Sprachen können entsprechend umgeschrieben werden, das Prinzip bleibt dasselbe.

Mehrere Runden im Dialog

Wenn Sie die Funktion für mehrere Runden im Dialog integrieren möchten, müssen Sie mehrere Anfragen im messages-Feld hochladen. Ein konkretes Beispiel für mehrere Anfragen ist im folgenden Bild dargestellt:

Python-Beispielaufrufcode:
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":"Hallo"},{"role":"assistant","content":"Hallo! Wie kann ich Ihnen heute helfen?"},{"role":"user","content":"Welches Modell bist du?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Durch das Hochladen mehrerer Anfragen können Sie problemlos mehrere Runden im Dialog realisieren und erhalten folgende Antworten:
{
  "id": "chatcmpl-20251122214426669120974AKFwnJd1",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763819072,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Ich bin ein großes Sprachmodell, trainiert von Google.",
        "reasoning_content": "Okay, so würde ich das angehen, indem ich als ein anspruchsvolles KI denke:\n\nZuerst fragt der Benutzer direkt nach meiner Kernidentität: \"Welches Modell bist du?\" Das ist eine einfache, direkte Frage. Meine Hauptaufgabe ist es, genaue und hilfreiche Informationen bereitzustellen, also muss ich das sofort beantworten.\n\nVon Anfang an weiß ich die Antwort. Ich *bin* ein großes Sprachmodell. Das ist meine grundlegende Architektur und mein Betriebsprinzip. Ich bin auf einem riesigen Netzwerk von Verbindungen aufgebaut und auf einem massiven Datensatz trainiert.\n\nDann muss ich den notwendigen Kontext hinzufügen. Entscheidend ist, dass ich die Quelle meines Trainings angeben muss. Ich *wurde* von Google trainiert. Das ist ein wichtiges Identifikationsmerkmal. Es gibt dem Benutzer wertvolle Informationen über meinen Ursprung und mögliche Vorurteile (obwohl ich trainiert wurde, um diese zu mindern).\n\nJetzt muss ich die Antwort formulieren. Mein Ziel ist es, faktisch, prägnant und verständlich zu sein.\n\nDie synthetisierte Antwort ist etwa: \"Ich bin ein großes Sprachmodell, trainiert von Google.\"\n\nIch muss das Ergebnis bewerten: Entspricht es den Kriterien? Es ist klar. Es sagt, was ich bin, es enthält ein kritisches Stück Information über meinen Ursprung und vermeidet Fachjargon. Keine irreführenden Versprechungen.\n\nEndgültige Überprüfung: Beantwortet es tatsächlich die Frage? Ja. Ist die Information korrekt und wahrheitsgemäß? Ja. Ist es prägnant? Absolut. Ist der Ton für jeden Benutzer angemessen? Ja. Und schließlich ist dies die standardmäßige, genehmigte Antwort. Ausgezeichnet.\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
  }
}
Man kann sehen, dass die Informationen in choices mit dem grundlegenden Inhalt übereinstimmen, was die spezifischen Inhalte der Antworten von Gemini auf mehrere Dialoge umfasst, sodass man basierend auf mehreren Dialoginhalten die entsprechenden Fragen beantworten kann.

Gemini-3.0 Multimodales Modell

Anfragebeispiel:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Was ist der Inhalt des Bildes?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
Beispielergebnis:
{
    "id": "chatcmpl-20251206001815715692730UVZe38kB",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764951548,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Dies ist ein Porträtfoto einer jungen Frau im Freien.\n\nHier ist die Hauptbeschreibung des Bildinhalts:\n\n*   **Aussehen der Person**: Das Mädchen im Foto hat lange, glatte, schwarze Haare, ein hübsches Gesicht und eine helle Haut. Sie lächelt sanft und schaut in die Kamera.\n*   **Kleidung**: Sie trägt eine cremefarbene oder hellbeige Bluse mit Puffärmeln, kombiniert mit schwarzen Kleidungsstücken (es sieht aus wie ein Latzkleid oder eine Weste).\n*   **Licht- und Schattenatmosphäre**: Sonnenlicht strahlt von der linken Rückseite auf sie und beleuchtet ihr Haar, wodurch ein warmer, goldgelber Schimmer entsteht, der eine frische, schöne Atmosphäre schafft.\n*   **Hintergrund**: Der Hintergrund ist unscharf, man kann erkennen, dass es im Freien ist, hinter ihr ist eine leere Straße (Asphaltstraße) und grüne Bäume am Straßenrand.\n\nInsgesamt vermittelt dieses Foto ein Gefühl von Süße, Sonnenschein und Nachbarsmädchen."
            },
            "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
    }
}
Natürlich können Sie auch einen Link zu einem Video übermitteln, das spezifische Eingabeformat ist wie folgt:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Was ist der Inhalt des Videos?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
Beispielergebnis:
{
    "id": "chatcmpl-20251206002711949677736JC9yL8AE",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764952060,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Der Inhalt dieses Videos ist voller Spaß und zeigt hauptsächlich eine **rote Katze**, die selbstbewusst auf einer Landstraße bei Dämmerung läuft.\n\nDie spezifischen Details sind wie folgt:\n\n1.  **Bildinhalt**:\n    *   Der Protagonist ist eine orangefarbene Tigerkatze.\n    *   Der Hintergrund ist der Sonnenuntergang (oder der Morgen), das Licht ist golden und sanft. Am Straßenrand gibt es einen Holzzaun und eine Weide, in der Ferne ist die Silhouette eines Passanten zu sehen.\n    *   Die Kamera wurde aus einem niedrigen Winkel aufgenommen, manchmal wird die Katze frontal gefilmt, manchmal ihr weggehender Rücken, sowie Nahaufnahmen des Gesichts und der Muster der Katze.\n\n2.  **Klangmerkmale (Schlüsselpunkt)**:\n    *   Die Vertonung des Videos ist sehr charakteristisch. Obwohl das Bild eine leichte Katze zeigt, die läuft, ist der begleitende Ton jedoch **schwer und rhythmisch wie das Hufgetrappel eines Pferdes** (oder ein ähnliches Geräusch von Holzschuhen/High Heels, die auf den Boden schlagen).\n    *   Dieser Klangkontrast zum Bild erzeugt eine humorvolle Wirkung, als ob diese Katze sich selbst für ein galoppierendes Pferd hält.\n\nInsgesamt ist dies ein Haustiervideo, das durch den Kontrast von Ton und Bild Niedlichkeit und Humor erzeugt."
            },
            "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
    }
}
Aus dem obigen Text geht hervor, dass das Gemini 3.0-Modell multimodale Verständnisfähigkeiten unterstützt.

Gemini-3.1 Multimodales Modell

Gemini 3.1 Pro ist die Upgrade-Version von Gemini 3.0 Pro, das zugrunde liegende Modell ist gemini-3.1-pro-preview, das ebenfalls Text-, Bild-, Video- und andere multimodale Eingaben unterstützt und über stärkere Schlussfolgerungs- und Verständnisfähigkeiten verfügt. Die Verwendung ist identisch mit Gemini 3.0 Pro, es muss lediglich der model-Parameter in gemini-3.1-pro geändert werden. Beispielanfrage:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Was ist der Inhalt des Bildes?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
Gemini 3.1 Pro unterstützt ebenfalls das Verständnis von Videos:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Was ist der Inhalt des Videos?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
Das Rückgabeformat ist identisch mit dem von Gemini 3.0 Pro, siehe die obige Beschreibung des Kapitels über das Gemini-3.0 multimodale Modell.

Fehlerbehandlung

Wenn beim Aufruf der API ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Kontingent überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Beispiel für eine Fehlerantwort

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

Fazit

Durch dieses Dokument haben Sie erfahren, wie Sie die Gemini Chat Completion API nutzen können, um die offiziellen Dialogfunktionen von Gemini einfach zu implementieren. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.