Skip to main content
POST
/
v1beta
/
models
/
gemini-2.5-pro:generateContent
generateContent
curl --request POST \
  --url https://gptproto.com/v1beta/models/gemini-2.5-pro:generateContent \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "<string>",
  "contents": [
    {}
  ],
  "system_instruction": {},
  "tools": [
    {}
  ],
  "safety_settings": [
    {}
  ],
  "generation_config": {},
  "stream": true,
  "labels": {}
}'
{
  "error": {
    "message": "Invalid signature",
    "type": "401"
  }
}

Overview

This endpoint provides generatecontent functionality.

Authentication

This endpoint requires authentication using a Bearer token.
Authorization
string
default:"sk-***********"
required
Your API key in the format: Bearer YOUR_API_KEY

Query Parameters

key
string

Request Body

model
string
default:"gemini-2.5-pro"
required
The model to use for the request
contents
array
Contents parameter
system_instruction
object
System Instruction parameter
tools
array
default:"[]"
Tools parameter
safety_settings
array
Safety Settings parameter
generation_config
object
Generation Config parameter
stream
boolean
default:"false"
Whether to stream the response
labels
object
Labels parameter

Request Example

curl -X POST "https://gptproto.com/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gemini-2.5-pro",
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Hello, please introduce yourself"
        }
      ]
    }
  ],
  "system_instruction": {
    "role": "system",
    "parts": [
      {
        "text": "You are a helpful AI assistant"
      }
    ]
  },
  "tools": [],
  "safety_settings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ],
  "generation_config": {
    "thinking_config": {
      "include_thoughts": false,
      "thinking_budget": 1000
    },
    "max_output_tokens": 4096,
    "response_modalities": null,
    "temperature": 1.8,
    "top_p": 0.8,
    "top_k": 40,
    "candidate_count": 1,
    "presence_penalty": 0.0,
    "frequency_penalty": 0.0,
    "stop_sequences": [
      "END",
      "STOP"
    ],
    "response_mime_type": "text/plain",
    "response_schema": null,
    "seed": 12345,
    "response_logprobs": false,
    "logprobs": null,
    "audio_timestamp": false
  },
  "stream": false,
  "labels": {
    "user_id": "12345",
    "session_id": "session_001"
  }
}'

Response

Success
200
Successful response
{
  "status": "success"
}

Error Responses

{
  "error": {
    "message": "Invalid signature",
    "type": "401"
  }
}