Hopp til hovedinnhold
POST
/
v1beta
/
models
/
{model}
:
{operator}
from google import genai

client = genai.Client(
    api_key="<COMETAPI_KEY>",
    http_options={"api_version": "v1beta", "base_url": "https://api.cometapi.com"},
)

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Explain how AI works in a few words",
)

print(response.text)
{
  "candidates": [
    {
      "content": {
        "role": "<string>",
        "parts": [
          {
            "text": "<string>",
            "functionCall": {
              "name": "<string>",
              "args": {}
            },
            "inlineData": {
              "mimeType": "<string>",
              "data": "<string>"
            },
            "thought": true
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {
          "category": "<string>",
          "probability": "<string>",
          "blocked": true
        }
      ],
      "citationMetadata": {
        "citationSources": [
          {
            "startIndex": 123,
            "endIndex": 123,
            "uri": "<string>",
            "license": "<string>"
          }
        ]
      },
      "tokenCount": 123,
      "avgLogprobs": 123,
      "groundingMetadata": {
        "groundingChunks": [
          {
            "web": {
              "uri": "<string>",
              "title": "<string>"
            }
          }
        ],
        "groundingSupports": [
          {
            "groundingChunkIndices": [
              123
            ],
            "confidenceScores": [
              123
            ],
            "segment": {
              "startIndex": 123,
              "endIndex": 123,
              "text": "<string>"
            }
          }
        ],
        "webSearchQueries": [
          "<string>"
        ]
      },
      "index": 123
    }
  ],
  "promptFeedback": {
    "blockReason": "SAFETY",
    "safetyRatings": [
      {
        "category": "<string>",
        "probability": "<string>",
        "blocked": true
      }
    ]
  },
  "usageMetadata": {
    "promptTokenCount": 123,
    "candidatesTokenCount": 123,
    "totalTokenCount": 123,
    "trafficType": "<string>",
    "thoughtsTokenCount": 123,
    "promptTokensDetails": [
      {
        "modality": "<string>",
        "tokenCount": 123
      }
    ],
    "candidatesTokensDetails": [
      {
        "modality": "<string>",
        "tokenCount": 123
      }
    ]
  },
  "modelVersion": "<string>",
  "createTime": "<string>",
  "responseId": "<string>"
}

Oversikt

CometAPI støtter det opprinnelige Gemini API-formatet, og gir deg full tilgang til Gemini-spesifikke funksjoner som kontroll av tenking, Google Search-grounding, opprinnelige modaliteter for bildegenerering og mer. Bruk dette endepunktet når du trenger funksjonalitet som ikke er tilgjengelig gjennom OpenAI-compatible chat endpoint.

Hurtigstart

Bytt ut basis-URL og API-nøkkel i en hvilken som helst Gemini SDK eller HTTP-klient:
InnstillingGoogle-standardCometAPI
Base URLgenerativelanguage.googleapis.comapi.cometapi.com
API Key$GEMINI_API_KEY$COMETAPI_KEY
Både x-goog-api-key og Authorization: Bearer-headere støttes for autentisering.

Thinking (resonnering)

Gemini-modeller kan utføre intern resonnering før de genererer et svar. Kontrollmetoden avhenger av modellgenerasjonen.
Gemini 3-modeller bruker thinkingLevel for å styre dybden på resonneringen. Tilgjengelige nivåer: MINIMAL, LOW, MEDIUM, HIGH.
curl "https://api.cometapi.com/v1beta/models/gemini-3.1-pro-preview:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $COMETAPI_KEY" \
  -d '{
    "contents": [{"parts": [{"text": "Explain quantum physics simply."}]}],
    "generationConfig": {
      "thinkingConfig": {"thinkingLevel": "LOW"}
    }
  }'
Bruk av thinkingLevel med Gemini 2.5-modeller (eller thinkingBudget med Gemini 3-modeller) kan føre til feil. Bruk riktig parameter for modellversjonen din.

Streaming

Bruk streamGenerateContent?alt=sse som operator for å motta Server-Sent Events mens modellen genererer innhold. Hver SSE-hendelse inneholder en data:-linje med et JSON-objekt av typen GenerateContentResponse.
curl "https://api.cometapi.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $COMETAPI_KEY" \
  --no-buffer \
  -d '{
    "contents": [{"parts": [{"text": "Write a short poem about the stars"}]}]
  }'

Systeminstruksjoner

Styr modellens oppførsel gjennom hele samtalen med systemInstruction:
curl "https://api.cometapi.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $COMETAPI_KEY" \
  -d '{
    "contents": [{"parts": [{"text": "What is 2+2?"}]}],
    "systemInstruction": {
      "parts": [{"text": "You are a math tutor. Always show your work."}]
    }
  }'

JSON Mode

Tving strukturert JSON-utdata med responseMimeType. Du kan eventuelt oppgi et responseSchema for streng skjemavalidering:
curl "https://api.cometapi.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $COMETAPI_KEY" \
  -d '{
    "contents": [{"parts": [{"text": "List 3 planets with their distances from the sun"}]}],
    "generationConfig": {
      "responseMimeType": "application/json"
    }
  }'

Google Search Grounding

Aktiver nettsøk i sanntid ved å legge til et googleSearch-verktøy:
curl "https://api.cometapi.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $COMETAPI_KEY" \
  -d '{
    "contents": [{"parts": [{"text": "Who won the euro 2024?"}]}],
    "tools": [{"google_search": {}}]
  }'
Svaret inkluderer groundingMetadata med kilde-URL-er og konfidenspoeng.

Response Example

Et typisk svar fra CometAPIs Gemini-endepunkt:
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [{"text": "Hello"}]
      },
      "finishReason": "STOP",
      "avgLogprobs": -0.0023
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 1,
    "totalTokenCount": 30,
    "trafficType": "ON_DEMAND",
    "thoughtsTokenCount": 24,
    "promptTokensDetails": [{"modality": "TEXT", "tokenCount": 5}],
    "candidatesTokensDetails": [{"modality": "TEXT", "tokenCount": 1}]
  },
  "modelVersion": "gemini-2.5-flash",
  "createTime": "2026-03-25T04:21:43.756483Z",
  "responseId": "CeynaY3LDtvG4_UP0qaCuQY"
}
Feltet thoughtsTokenCount i usageMetadata viser hvor mange tokens modellen brukte på intern resonnering, selv når tenkeutdata ikke er inkludert i svaret.

Viktige forskjeller fra OpenAI-kompatibelt endepunkt

FunksjonGemini Native (/v1beta/models/...)OpenAI-Compatible (/v1/chat/completions)
TenkekontrollthinkingConfig med thinkingLevel / thinkingBudgetIkke tilgjengelig
Google Search-groundingtools: [\{"google_search": \{\}\}]Ikke tilgjengelig
Google Maps-groundingtools: [\{"googleMaps": \{\}\}]Ikke tilgjengelig
Modality for bildegenereringresponseModalities: ["IMAGE"]Ikke tilgjengelig
Auth-headerx-goog-api-key eller BearerKun Bearer
SvarformatGemini native (candidates, parts)OpenAI-format (choices, message)

Autorisasjoner

x-goog-api-key
string
header
påkrevd

Your CometAPI key passed via the x-goog-api-key header. Bearer token authentication (Authorization: Bearer <key>) is also supported.

Stien-parametere

model
string
påkrevd

The Gemini model ID to use. See the Models page for current Gemini model IDs.

Eksempel:

"gemini-2.5-flash"

operator
enum<string>
påkrevd

The operation to perform. Use generateContent for synchronous responses, or streamGenerateContent?alt=sse for Server-Sent Events streaming.

Tilgjengelige alternativer:
generateContent,
streamGenerateContent?alt=sse
Eksempel:

"generateContent"

Kropp

application/json
contents
object[]
påkrevd

The conversation history and current input. For single-turn queries, provide a single item. For multi-turn conversations, include all previous turns.

systemInstruction
object

System instructions that guide the model's behavior across the entire conversation. Text only.

tools
object[]

Tools the model may use to generate responses. Supports function declarations, Google Search, Google Maps, and code execution.

toolConfig
object

Configuration for tool usage, such as function calling mode.

safetySettings
object[]

Safety filter settings. Override default thresholds for specific harm categories.

generationConfig
object

Configuration for model generation behavior including temperature, output length, and response format.

cachedContent
string

The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.

Svar

200 - application/json

Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.

candidates
object[]

The generated response candidates.

promptFeedback
object

Feedback on the prompt, including safety blocking information.

usageMetadata
object

Token usage statistics for the request.

modelVersion
string

The model version that generated this response.

createTime
string

The timestamp when this response was created (ISO 8601 format).

responseId
string

Unique identifier for this response.