TokenLab

Gemini gốc

Tạo nội dung

Tạo nội dung bằng định dạng Google Gemini API

POST
/v1beta/models/{model}:generateContent

Dùng định dạng yêu cầu và phản hồi Gemini với model do Gemini Models API trả về. Chấp nhận tên trường ProtoJSON lowerCamelCase và proto snake_case tương ứng. Các trường tùy chọn và giá trị được hỗ trợ phụ thuộc vào model đã chọn.

Tham số đường dẫn

modelstringpathbắt buộc

Tên mô hình (ví dụ: gemini-2.5-pro, gemini-3.5-flash).

Tham số truy vấn

keystringquery

API key (phương thức thay thế cho xác thực qua header).

Xác thực

Các endpoint của Gemini hỗ trợ nhiều phương thức xác thực:

  • ?key=YOUR_API_KEY tham số truy vấn
  • tiêu đề x-goog-api-key: YOUR_API_KEY
  • tiêu đề Authorization: Bearer YOUR_API_KEY

Thân yêu cầu

contentsarraybắt buộc

Nội dung hội thoại có parts và role tùy chọn. Media dùng inlineData / inline_data hoặc fileData / file_data. ID Files và Cache do TokenLab tạo chỉ dùng được trong Workspace sở hữu chúng.

systemInstructionobject

Chỉ dẫn hệ thống cho mô hình.

generationConfigobject

Thiết lập tạo nội dung như temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema và thinkingConfig. Chấp nhận cả tên snake_case tương ứng. Giá trị và tổ hợp phụ thuộc vào model.

safetySettingsarray

Cài đặt bộ lọc an toàn.

Phản hồi

candidatesarray

Các ứng viên nội dung được tạo.

usageMetadataobject

Thông tin sử dụng token.

Yêu cầu

curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

Ví dụ đầu vào đa phương thức

Với các yêu cầu Gemini đa phương thức, hãy đặt media vào contents[].parts[] bằng byte inline hoặc tham chiếu tệp dựa trên URL.

Các loại media hiện được hỗ trợ trong model details Gemini:

  • hình ảnh
  • âm thanh
  • video

Với media inline, dùng inlineData hoặc inline_data và truyền byte tệp được mã hoá Base64.

Với media qua URL, dùng fileData hoặc file_data và truyền một URL công khai https.

Ví dụ đầu vào hình ảnh

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Hãy mô tả hình ảnh này." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Ví dụ đầu vào âm thanh

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Hãy chép lời và tóm tắt đoạn âm thanh này." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

Ví dụ đầu vào video

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Hãy mô tả ngắn gọn video này." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}

Phản hồi

Response
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

Ví dụ đầu vào video

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

Ví dụ đầu vào âm thanh

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}

Xác thực

BearerAuth
AuthorizationBearer <token>

Xác thực bằng Khóa API. Tạo hoặc quản lý khóa API trong Dashboard > API > API Keys.

Vị trí: header

Tham số đường dẫn

model*string

Tên model (ví dụ: gemini-2.5-pro)

Tham số truy vấn

key?string

API key (thay thế cho xác thực bằng header)

Header

X-TokenLab-Delivery-Policy?string

Chính sách phân phối theo yêu cầu. Ghi đè các mặc định của API key và Workspace. Tự động thử TokenLab Verified trước và có thể chuyển đổi một lần sang Official chỉ trước khi xuất, chấp nhận yêu cầu hoặc tạo tài nguyên cố định.

Giá trị hợp lệ

  • "auto"
  • "verified"
  • "official"

Nội dung yêu cầu

application/json

Yêu cầu GenerateContent Gemini gốc. Cả tên ProtoJSON lowerCamelCase và tên proto snake_case gốc đều được chấp nhận và bảo toàn, bao gồm cả các yêu cầu hỗn hợp. Nếu cả hai cách viết của một trường đều có mặt, TokenLab không hợp nhất chúng hoặc chọn ưu tiên cục bộ. Các trường không xác định được chuyển tiếp trên cơ sở nỗ lực tốt nhất.

Phản hồi

application/json

application/json

application/json

application/json

application/json

application/json