Chuyển đến nội dung chính
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>"
}

Tổng quan

CometAPI hỗ trợ định dạng API gốc của Gemini, cho phép bạn truy cập đầy đủ vào các tính năng riêng của Gemini như kiểm soát thinking, Google Search grounding, các modality tạo ảnh gốc, và nhiều hơn nữa. Hãy dùng endpoint này khi bạn cần các khả năng chưa có trong OpenAI-compatible chat endpoint.

Bắt đầu nhanh

Thay thế base URL và API key trong bất kỳ Gemini SDK hoặc HTTP client nào:
Thiết lậpMặc định của GoogleCometAPI
Base URLgenerativelanguage.googleapis.comapi.cometapi.com
API Key$GEMINI_API_KEY$COMETAPI_KEY
Cả header x-goog-api-keyAuthorization: Bearer đều được hỗ trợ để xác thực.

Thinking (Lập luận)

Các model Gemini có thể thực hiện lập luận nội bộ trước khi tạo phản hồi. Phương thức kiểm soát phụ thuộc vào thế hệ model.
Các model Gemini 3 sử dụng thinkingLevel để kiểm soát độ sâu lập luận. Các mức khả dụng: 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"}
    }
  }'
Việc dùng thinkingLevel với các model Gemini 2.5 (hoặc thinkingBudget với các model Gemini 3) có thể gây lỗi. Hãy dùng đúng tham số cho phiên bản model của bạn.

Streaming

Sử dụng streamGenerateContent?alt=sse làm operator để nhận Server-Sent Events khi model tạo nội dung. Mỗi sự kiện SSE chứa một dòng data: với một đối tượng JSON 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"}]}]
  }'

Chỉ dẫn hệ thống

Định hướng hành vi của model xuyên suốt toàn bộ cuộc hội thoại bằng 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."}]
    }
  }'

Chế độ JSON

Buộc đầu ra JSON có cấu trúc bằng responseMimeType. Bạn có thể tùy chọn cung cấp responseSchema để xác thực schema nghiêm ngặt:
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

Bật tìm kiếm web theo thời gian thực bằng cách thêm một công cụ googleSearch:
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": {}}]
  }'
Phản hồi bao gồm groundingMetadata với URL nguồn và điểm độ tin cậy.

Ví dụ phản hồi

Một phản hồi điển hình từ endpoint Gemini của 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-2.5-flash",
  "createTime": "2026-03-25T04:21:43.756483Z",
  "responseId": "CeynaY3LDtvG4_UP0qaCuQY"
}
Trường thoughtsTokenCount trong usageMetadata cho biết mô hình đã dùng bao nhiêu token cho suy luận nội bộ, ngay cả khi đầu ra suy nghĩ không được đưa vào phản hồi.

Những điểm khác biệt chính so với endpoint tương thích OpenAI

Tính năngGemini Native (/v1beta/models/...)OpenAI-Compatible (/v1/chat/completions)
Điều khiển suy nghĩthinkingConfig với thinkingLevel / thinkingBudgetKhông khả dụng
Google Search groundingtools: [\{"google_search": \{\}\}]Không khả dụng
Google Maps groundingtools: [\{"googleMaps": \{\}\}]Không khả dụng
Phương thức tạo ảnhresponseModalities: ["IMAGE"]Không khả dụng
Header xác thựcx-goog-api-key hoặc BearerChỉ Bearer
Định dạng phản hồiĐịnh dạng native của Gemini (candidates, parts)Định dạng OpenAI (choices, message)

Ủy quyền

x-goog-api-key
string
header
bắt buộc

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

Tham số đường dẫn

model
string
bắt buộc

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

Ví dụ:

"gemini-2.5-flash"

operator
enum<string>
bắt buộc

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

Tùy chọn có sẵn:
generateContent,
streamGenerateContent?alt=sse
Ví dụ:

"generateContent"

Nội dung

application/json
contents
object[]
bắt buộc

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.

Phản hồi

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.