Google Completion-API

Dit eindpunt biedt toegang tot Google Gemini-modellen die worden gehost in Google Vertex AI. Het weerspiegelt de structuur van de officiële Vertex generateContent API.

Functies

  • Regiokeuze (eu of us)

  • Optionele Server-Sent Event (SSE) streaming met compatibele eventlabels gebruikt door de Google Python SDK (message_start, message_delta, message_stop)

  • Een modellen-ontdekkings-eindpunt

1

Krijg beschikbare modellen

Roep GET aan /{region}/v1beta/models/ om de lijst met Gemini-modellen op te halen.

2

Kies een model & actie

Kies een model-ID en beslis tussen generateContent of streamGenerateContent.

3

Stuur je verzoek

POST naar /{region}/v1beta/models/{model}:{action} met je prompt in contents.

4

Verwerk de respons

Parse de JSON-respons voor niet-streaming oproepen of verwerk de SSE-events voor streaming.


Basis URL

https://api.langdock.com/google/{region}

In dedicated deployments wijst api.langdock.com naar /api/public


Authenticatie

Stuur één van de volgende headers bij gebruik van de Langdock API-sleutel. Alle headers worden identiek behandeld. Ontbrekende of ongeldige sleutels geven 401 Unauthorized terug.

Voorbeeld Authorization-header:

curl -H "Authorization: Bearer $LD_API_KEY" \
     https://api.langdock.com/google/eu/v1beta/models

Voorbeeld x-api-key header:

Voorbeeld x-goog-api-key header:


1. Lijst beschikbare modellen

GET /{region}/v1beta/models

regio moet zijn eu of us.

Succesvolle respons: een array van modelobjecten met de volgende vorm:

  • name – Volledig gekwalificeerde modelnaam (bijv. models/gemini-2.5-flash)

  • displayName – Mensvriendelijke naam die in de Langdock UI wordt getoond

  • supportedGenerationMethods – Altijd ["generateContent", "streamGenerateContent"]

Voorbeeld:


2. Genereer content

POST /{region}/v1beta/models/{model}:{action}

  • model – De model-ID zoals geretourneerd door het models-eindpunt (zonder de models/ prefix).

  • action – generateContent of streamGenerateContent afhankelijk of je streaming wilt of niet.

Voorbeeld pad:

Request body

Het request body volgt de officiële GenerateContentRequest-structuur.

Vereiste velden

  • contents (Content[], verplicht) Gespreksgeschiedenis. Elk object heeft een role (string) en parts array met objecten met text (string).

Voorbeeld:

  • model (string, verplicht) Het model dat gebruikt wordt voor generatie (bijv., gemini-2.5-pro, gemini-2.5-flash).

Optionele velden

  • generationConfig (object, optioneel) Configuratie voor tekstgeneratie. Ondersteunde velden:

    • temperature (nummer): Stuurt de willekeurigheid (0.0-2.0)

    • topP (nummer): Nucleus-samplingparameter (0.0-1.0)

    • topK (nummer): Top-k samplingparameter

    • candidateCount (nummer): Aantal responskandidaten om te genereren

    • maxOutputTokens (nummer): Maximum aantal te genereren tokens

    • stopSequences (string[]): Reeksen die de generatie stoppen

    • responseMimeType (string): MIME-type van de respons

    • responseSchema (object): Schema voor gestructureerde output

Voorbeeld:

  • safetySettings (SafetySetting[], optioneel) Array van safety setting-objecten. Elk object bevat:

    • category (string): De schadekategorie (bijv., HARM_CATEGORY_HARASSMENT)

    • threshold (string): De blokkeringdrempel (bijv., BLOCK_MEDIUM_AND_ABOVE)

Voorbeeld:

  • tools (Tool[], optioneel) Array van tool-objecten voor functieaanroepen. Elke tool bevat functionDeclarations array met:

    • name (string): Functienaam

    • description (string): Functiebeschrijving

    • parameters (object): JSON-schema dat functieparameters definieert

Voorbeeld:

  • toolConfig (object, optioneel) Configuratie voor functieaanroepen. Bevat functionCallingConfig met:

    • mode (string): Modus voor functieaanroepen (ANY, AUTO, NONE)

    • allowedFunctionNames (string[]): Array van toegestane functienamen

Voorbeeld:

  • systemInstruction (string | Content, optioneel) Systeeminstructie om het gedrag van het model te sturen. Kan een string of Content-object zijn met role en parts.

Voorbeeld:

Opmerking: Als toolConfig.functionCallingConfig.allowedFunctionNames wordt opgegeven, mode moet zijn ANY.

Minimaal voorbeeld

Streaming

Wanneer actie is streamGenerateContent het eindpunt retourneert een text/event-stream met compatibele events:

  • message_start – eerste chunk die content bevat

  • message_delta – volgende chunks

  • message_stop – laatste chunk (bevat finishReason en gebruiksmetadata)

Voorbeeld message_delta event:

Python SDK-voorbeeld met functieaanroepen:

Python SDK streaming-voorbeeld:


Gebruik van met Google compatibele bibliotheken

Het eindpunt is volledig compatibel met officiële Google SDK's inclusief de Vertex AI Node SDK (@google-cloud/vertexai), de Google Generative AI Python-bibliotheek (google-generative-ai), en de Vercel AI SDK voor edge-streaming.

Headers

  • Authorization (string, required): API-sleutel als Bearer-token. Formaat "Bearer YOUR_API_KEY"

Padparameters

  • region (enum, verplicht): De regio van de API die gebruikt moet worden. Beschikbare opties: eu, us

  • model (string, verplicht): De model-ID (bijv., gemini-2.5-pro, gemini-2.5-flash)

Body (application/json)

  • contents (object[]): verplicht. De content waarvoor een respons gegenereerd moet worden.

    • role (enum): user of model

    • parts (object[])

Response (200 application/json)

  • candidates (object[])

    • content (object)

    • finishReason (string)

    • usageMetadata (object)