Flex PayGo

Flex pay-as-you-go (Flex PayGo) adalah opsi hemat biaya untuk mengakses model Gemini untuk workload non-kritis yang dapat mentolerir waktu respons yang lebih lama dan throttling yang lebih tinggi. Flex PayGo menawarkan diskon 50% dibandingkan dengan Standard PayGo.

Kapan harus menggunakan Flex PayGo

Flex PayGo ideal untuk tugas sinkron, toleran latensi, dan non-kritis yang tidak sensitif terhadap waktu. Berikut adalah contoh kasus penggunaan:

  • Analisis offline file teks, dokumen, gambar, audio, dan video

  • Evaluasi kualitas model

  • Anotasi dan pemberian label data

  • Terjemahan dokumen

  • Membuat katalog produk

Model dan lokasi yang didukung

Model Gemini pratinjau berikut hanya mendukung Flex PayGo di global endpoint. Flex PayGo tidak mendukung endpoint regional atau multi-regional.

Batas payload permintaan

Permintaan Flex PayGo memiliki batas ukuran payload total sebesar 20 MB untuk permintaan yang payload-nya disertakan langsung dalam isi permintaan. Untuk memproses file yang lebih besar, berikan Cloud Storage URI dalam permintaan Anda.

Menggunakan Flex PayGo

Untuk mengirim permintaan ke Gemini API menggunakan Flex PayGo, Anda harus menyertakan header X-Vertex-AI-LLM-Shared-Request-Type dalam permintaan Anda. Anda dapat menggunakan Flex PayGo dengan dua cara:

  • Gunakan kuota Throughput yang Disediakan (jika tersedia), lalu gunakan Flex PayGo.

  • Hanya gunakan Flex PayGo.

Perhatikan bahwa permintaan yang menggunakan Flex PayGo memiliki latensi yang diharapkan lebih lama daripada Standard PayGo.

Anda dapat menetapkan waktu tunggu permintaan hingga maksimum 30 menit.

Menggunakan Flex PayGo saat menggunakan Throughput yang Disediakan sebagai default

Untuk menggunakan kuota Throughput yang Disediakan sebelum menggunakan Flex PayGo, sertakan header X-Vertex-AI-LLM-Shared-Request-Type: flex dalam permintaan Anda, seperti yang ditunjukkan dalam contoh berikut.

Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

Lakukan inisialisasi klien GenAI untuk menggunakan Flex PayGo. Setelah melakukan langkah ini, Anda tidak perlu melakukan penyesuaian lebih lanjut pada kode untuk berinteraksi dengan Gemini API menggunakan Flex PayGo di klien yang sama.

from google import genai
from google.genai.types import HttpOptions
client = genai.Client(
  vertexai=True, project='your_project_id', location='global',
  http_options=HttpOptions(
    api_version="v1",
      headers={
        "X-Vertex-AI-LLM-Shared-Request-Type": "flex"
      },
    # timeout = 600000  # Timeout in milliseconds
  )
)

REST

Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirim permintaan ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut.

  • PROJECT_ID: Project ID Anda.
  • MODEL_ID: ID model yang akan digunakan untuk menginisialisasi Flex PayGo. Untuk mengetahui daftar model yang mendukung Flex PayGo, lihat Versi model.
  • PROMPT_TEXT: Petunjuk teks yang akan disertakan dalam perintah. JSON.
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "X-Server-Timeout: 600" \
  -H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
  "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
  $'{
      "contents": {
        "role": "model",
        "parts": { "text": "PROMPT_TEXT" }
    }
  }'

Anda akan menerima respons JSON yang mirip dengan berikut ini.

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}
Perhatikan hal berikut di URL untuk contoh ini:

Hanya menggunakan Flex PayGo

Untuk hanya menggunakan Flex PayGo, sertakan header X-Vertex-AI-LLM-Request-Type: shared dan X-Vertex-AI-LLM-Shared-Request-Type: flex dalam permintaan Anda, seperti yang ditunjukkan dalam contoh berikut.

Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

Lakukan inisialisasi klien GenAI untuk menggunakan Flex PayGo. Setelah melakukan langkah ini, Anda tidak perlu melakukan penyesuaian lebih lanjut pada kode untuk berinteraksi dengan Gemini API menggunakan Flex PayGo di klien yang sama.

from google import genai
from google.genai.types import HttpOptions
client = genai.Client(
  vertexai=True, project='your_project_id', location='global',
  http_options=HttpOptions(
    api_version="v1",
      headers={
        "X-Vertex-AI-LLM-Request-Type": "shared",
        "X-Vertex-AI-LLM-Shared-Request-Type": "flex"
      },
    # timeout = 600000  # Timeout in milliseconds
  )
)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • MODEL_ID: ID model yang akan digunakan untuk menginisialisasi Flex PayGo. Untuk mengetahui daftar model yang mendukung Flex PayGo, lihat Versi model.
  • PROMPT_TEXT: Petunjuk teks yang akan disertakan dalam perintah. JSON.
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "X-Server-Timeout: 600" \
  -H "X-Vertex-AI-LLM-Request-Type: shared" \
  -H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
  "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
  $'{
      "contents": {
        "role": "model",
        "parts": { "text": "PROMPT_TEXT" }
    }
  }'

Anda akan menerima respons JSON yang mirip dengan berikut ini.

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}
Perhatikan hal berikut di URL untuk contoh ini:

Memverifikasi penggunaan Flex PayGo

Anda dapat memverifikasi apakah permintaan menggunakan Flex PayGo dari jenis traffic dalam respons, seperti yang ditunjukkan dalam contoh berikut.

Python

Anda dapat memverifikasi apakah Flex PayGo digunakan untuk permintaan dari kolom traffic_type dalam respons. Jika permintaan Anda diproses menggunakan Flex PayGo, kolom traffic_type akan ditetapkan ke ON_DEMAND_FLEX.

sdk_http_response=HttpResponse(
  headers=
) candidates=[Candidate(
  avg_logprobs=-0.539712212302468,
  content=Content(
    parts=[
      Part(
        text="""Response to sample request.
        """
      ),
    ],
    role='model'
  ),
  finish_reason=<FinishReason.STOP: 'STOP'>
)] create_time=datetime.datetime(2025, 12, 3, 20, 32, 55, 916498, tzinfo=TzInfo(0)) model_version='gemini-2.5-flash' prompt_feedback=None response_id='response_id' usage_metadata=GenerateContentResponseUsageMetadata(
  candidates_token_count=1408,
  candidates_tokens_details=[
    ModalityTokenCount(
      modality=<MediaModality.TEXT: 'TEXT'>,
      token_count=1408
    ),
  ],
  prompt_token_count=5,
  prompt_tokens_details=[
    ModalityTokenCount(
      modality=<MediaModality.TEXT: 'TEXT'>,
      token_count=5
    ),
  ],
  thoughts_token_count=1356,
  total_token_count=2769,
  traffic_type=<TrafficType.ON_DEMAND_FLEX: 'ON_DEMAND_FLEX'>
) automatic_function_calling_history=[] parsed=None

REST

Anda dapat memverifikasi apakah Flex PayGo digunakan untuk permintaan dari kolom trafficType dalam respons. Jika permintaan Anda diproses menggunakan Flex PayGo, kolom trafficType akan ditetapkan ke ON_DEMAND_FLEX.

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}

Kuota tambahan untuk Flex PayGo

Selain kuota yang tersedia untuk permintaan pembuatan konten (termasuk kuota Throughput yang Disediakan untuk traffic limpahan), permintaan yang menggunakan Flex PayGo tunduk pada kuota berikut:

Deskripsi QPM untuk setiap model dasar dalam project
Kuota untuk setiap model dasar dalam permintaan project yang menggunakan Flex PayGo 3000

Langkah berikutnya

Resource

Kuota dan batas yang terkait secara khusus dengan AI generatif di Vertex AI.

Resource

Kuota dan batas yang terkait dengan platform Vertex AI, tidak termasuk batasan khusus produk.

Ringkasan

Pelajari cara Google Cloud membatasi jumlah resource yang dapat digunakan project Google Cloud Anda, dan cara kuota berlaku untuk berbagai jenis resource, termasuk komponen hardware, software, dan jaringan.