Przejdź do głównej treści
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-3-flash-preview",
    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
          }
        ]
      },
      "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": {
    "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>"
}

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

CometAPI obsługuje natywny format API Gemini, dając Ci pełny dostęp do funkcji specyficznych dla Gemini, takich jak kontrola myślenia, osadzanie Google Search, natywne modalności generowania obrazów i nie tylko. Użyj tego endpointu, gdy potrzebujesz możliwości niedostępnych przez endpoint czatu zgodny z OpenAI.
Do uwierzytelniania obsługiwane są zarówno nagłówki x-goog-api-key, jak i Authorization: Bearer.

Szybki start

Aby używać dowolnego SDK Gemini lub klienta HTTP z CometAPI, zamień bazowy URL i klucz API:
SettingGoogle DefaultCometAPI
Bazowy URLDomyślny GoogleCometAPI
Klucz API$GEMINI_API_KEY$COMETAPI_KEY

Konfigurowanie myślenia (reasoning)

Modele Gemini mogą wykonywać wewnętrzne rozumowanie przed wygenerowaniem odpowiedzi. Metoda sterowania zależy od generacji modelu.
Modele Gemini 3 używają thinkingLevel do kontrolowania głębokości rozumowania. Dostępne poziomy: MINIMAL, LOW, MEDIUM, HIGH.Używaj gemini-3-flash-preview jako domyślnego przykładowego modelu, chyba że konkretnie potrzebujesz innego wariantu Gemini 3.
curl "https://api.cometapi.com/v1beta/models/gemini-3-flash-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"}
    }
  }'
Używanie thinkingLevel z modelami Gemini 2.5 (lub thinkingBudget z modelami Gemini 3) może powodować błędy. Używaj poprawnego parametru dla swojej wersji modelu.

Streamuj odpowiedzi

Aby odbierać Server-Sent Events podczas generowania treści przez model, użyj streamGenerateContent?alt=sse jako operatora. Każde zdarzenie SSE zawiera linię data: z obiektem JSON GenerateContentResponse.
curl "https://api.cometapi.com/v1beta/models/gemini-3-flash-preview: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"}]}]
  }'

Ustaw instrukcje systemowe

Aby kierować zachowaniem modelu w całej rozmowie, użyj systemInstruction:
curl "https://api.cometapi.com/v1beta/models/gemini-3-flash-preview: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."}]
    }
  }'

Żądanie wyjścia JSON

Aby wymusić ustrukturyzowane wyjście JSON, ustaw responseMimeType. Opcjonalnie podaj responseSchema do ścisłej walidacji schematu:
curl "https://api.cometapi.com/v1beta/models/gemini-3-flash-preview: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"
    }
  }'

Aby włączyć wyszukiwanie w sieci w czasie rzeczywistym, dodaj narzędzie googleSearch:
curl "https://api.cometapi.com/v1beta/models/gemini-3-flash-preview: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": {}}]
  }'
Odpowiedź zawiera groundingMetadata z adresami URL źródeł i ocenami pewności.

Przykład odpowiedzi

Typowa odpowiedź z endpointu Gemini w CometAPI:
{
  "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-3-flash-preview",
  "createTime": "2026-03-25T04:21:43.756483Z",
  "responseId": "CeynaY3LDtvG4_UP0qaCuQY"
}
Pole thoughtsTokenCount w usageMetadata pokazuje, ile tokenów model przeznaczył na wewnętrzne rozumowanie, nawet jeśli wynik myślenia nie jest uwzględniony w odpowiedzi.

Porównanie z endpointem kompatybilnym z OpenAI

FunkcjaGemini Native (/v1beta/models/...)OpenAI-Compatible (/v1/chat/completions)
Kontrola myśleniathinkingConfig z thinkingLevel / thinkingBudgetNiedostępne
Uziemianie przez Google Searchtools: [\{"google_search": \{\}\}]Niedostępne
Uziemianie przez Google Mapstools: [\{"googleMaps": \{\}\}]Niedostępne
Modalność generowania obrazówresponseModalities: ["IMAGE"]Niedostępne
Nagłówek uwierzytelnianiax-goog-api-key lub BearerTylko Bearer
Format odpowiedziNatywny Gemini (candidates, parts)Format OpenAI (choices, message)

Autoryzacje

x-goog-api-key
string
header
wymagane

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

Parametry ścieżki

model
string
wymagane

Gemini model ID. Example: gemini-3-flash-preview, gemini-2.5-pro. See the Models page for current options.

operator
enum<string>
wymagane

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

Dostępne opcje:
generateContent,
streamGenerateContent?alt=sse

Treść

application/json
contents
object[]
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.

Odpowiedź

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.