Skip to content

Gemini Native

Gemini groups use the Gemini Native API for text, image, and multimodal requests. Use these endpoints when your API key is bound to a Gemini group.

List Models

ItemValue
MethodGET
Path/v1beta/models
AuthenticationAuthorization: Bearer YOUR_API_KEY
Group requirementGemini group
bash
curl https://api.llmapi.site/v1beta/models \
  -H 'Authorization: Bearer YOUR_API_KEY'

The response returns models available to the current Gemini group.

Response example:

json
{
  "models": [
    {
      "name": "models/gemini-2.5-flash-image",
      "displayName": "gemini-2.5-flash-image",
      "supportedGenerationMethods": ["generateContent"]
    }
  ]
}

Get a Model

ItemValue
MethodGET
Path/v1beta/models/{model}
bash
curl https://api.llmapi.site/v1beta/models/gemini-2.5-flash-image \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response example:

json
{
  "name": "models/gemini-2.5-flash-image",
  "displayName": "gemini-2.5-flash-image",
  "supportedGenerationMethods": ["generateContent"]
}

Generate Content

ItemValue
MethodPOST
Path/v1beta/models/{model}:generateContent
Content-Typeapplication/json
AuthenticationAuthorization: Bearer YOUR_API_KEY

Path parameters:

ParameterTypeRequiredDescription
modelstringYesGemini model name, such as gemini-2.5-flash-image.

Common body parameters:

ParameterTypeRequiredDescription
contentsarrayYesGemini content array. Put text and image inputs in parts.
systemInstructionobjectNoSystem instruction.
generationConfigobjectNoGeneration configuration. Image models can set responseModalities and imageConfig.
safetySettingsarrayNoSafety settings.

Text-to-image example:

bash
curl https://api.llmapi.site/v1beta/models/gemini-2.5-flash-image:generateContent \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Generate a clean studio product image of a matte black water bottle on a white background." }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "imageSize": "1K"
      }
    }
  }'

Multimodal example with an input image:

bash
curl https://api.llmapi.site/v1beta/models/gemini-2.5-flash-image:generateContent \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Create a new product image using this object, with a bright studio background." },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "BASE64_IMAGE_DATA"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "imageSize": "1K"
      }
    }
  }'

Response example:

json
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Generated result text."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ]
}

Streaming

Use streaming when the client needs incremental Gemini responses.

text
POST /v1beta/models/{model}:streamGenerateContent?alt=sse
bash
curl -N 'https://api.llmapi.site/v1beta/models/gemini-2.5-flash-image:streamGenerateContent?alt=sse' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Generate a square product image of a ceramic coffee cup." }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"]
    }
  }'

Streaming responses use Gemini-compatible SSE chunks. Clients should parse each data: event as a Gemini response object.

Errors

StatusCause
400Request body, model name, or Gemini payload is invalid.
401API key is missing or invalid.
403Current API key group is not Gemini, or quota/balance checks failed.
404Model is not available to the current Gemini group.
429Rate limit or concurrency limit was reached.
500 / 502 / 503Gateway or upstream Gemini account failed.