Google Gemini

1. Overview

Google's multimodal AI model is designed to process various types of data, including text, images, audio, video, and code.

Available model list:

  • gemini-1.5-pro

  • gemini-1.5-pro-001

  • gemini-1.5-pro-002

  • gemini-1.5-flash-001

  • gemini-1.5-flash-002

  • gemini-1.5-flash-8b

  • gemini-1.5-pro-latest

  • gemini-exp-1114

  • gemini-exp-1121

  • gemini-exp-1206

  • gemini-2.0-flash-exp

  • gemini-2.0-flash-thinking-exp-1219

  • gemini-2.0-flash-thinking-exp-01-21

  • gemini-2.0-flash

  • gemini-2.0-flash-lite-preview-02-05

  • gemini-2.0-pro-exp-02-05

Note

This API is compatible with the OpenAI interface format.

2. Request Description

  • Request method: POST

  • Request address: https://gateway.theturbo.ai/v1/chat/completions

3. Input Parameters

3.1 Header Parameters

Parameter Name
Type
Required
Description
Example Value

Content-Type

string

Yes

Set the request header type, which must be application/json

application/json

Accept

string

Yes

Set the response type, which is recommended to be unified as application/json

application/json

Authorization

string

Yes

API_KEY required for authentication. Format: Bearer $YOUR_API_KEY

Bearer $YOUR_API_KEY

3.2 Body Parameters (application/json)

Parameter Name
Type
Required
Description
Example

model

string

Yes

The model ID to use. See available models listed in the Overview for details, such as gemini-1.5-pro.

gemini-1.5-pro

messages

array

Yes

Chat message list, compatible with OpenAI interface format. Each object in the array contains role and content.

[{"role": "user","content": "hello"}]

role

string

No

Message role. Optional values: system, user, assistant.

user

content

string

No

The specific content of the message.

Hello, please tell me a joke.

temperature

number

No

Sampling temperature, taking a value between 0 and 2. The larger the value, the more random the output; the smaller the value, the more concentrated and certain the output.

0.7

top_p

number

No

Another way to adjust the sampling distribution, taking a value between 0 and 1. It is usually set as an alternative to the temperature.

0.9

n

number

No

How many replies to generate for each input message.

1

stream

boolean

No

Whether to enable streaming output. When set to true, returns streaming data similar to ChatGPT.

false

stop

string

No

Up to 4 strings can be specified. Once one of these strings appears in the generated content, it stops generating more tokens.

"\n"

max_tokens

number

No

The maximum number of tokens that can be generated in a single reply, subject to the model context length limit.

1024

presence_penalty

number

No

-2.0 ~ 2.0. A positive value encourages the model to output more new topics, while a negative value reduces the probability of outputting new topics.

0

frequency_penalty

number

No

-2.0 ~ 2.0. A positive value reduces the frequency of repeated phrases in the model, while a negative value increases the probability of repeated phrases.

0

4. Request Example

4.1 Chat conversation

POST /v1/chat/completions
Content-Type: application/json
Accept: application/json
Authorization: Bearer $YOUR_API_KEY

{
	"model": "gemini-1.5-pro",
	"messages": [
		{
			"role": "user",
			"content": "Hello, can you explain quantum mechanics to me?"
		}
	],
	"temperature": 0.7,
	"max_tokens": 1024
}

4.2 Media file recognition

POST /v1/chat/completions
Content-Type: application/json
Accept: application/json
Authorization: Bearer $YOUR_API_KEY

{
	"model": "gemini-1.5-pro",
	"messages": [
		{
			"role": "user",
			"content": [
				{
					"type": "text",
					"text": "What's in this picture?"
				},
				{
					"type": "image_url",
					"image_url": {
						"url": "data:image/jpeg;base64,${base64_image}"
					}
				}
			]
		}
	],
	"temperature": 0.7,
	"max_tokens": 1024
}
Supported Media Types

Images:

image/png image/jpeg image/webp image/heic image/heif

Audios:

audio/wav audio/mp3 audio/aiff audio/aac audio/ogg audio/flac

Videos:

video/mp4 video/mpeg video/mov video/avi video/x-flv video/mpg

video/webm video/wmv video/3gpp

Note

  • This API is compatible with the OpenAI interface format and uses OpenAI's image_url field to support all media types.

  • This API only supports uploading media files in base64 format and does not support HTTP URLs.

4.3 Function invocation

POST /v1/chat/completions
Content-Type: application/json
Accept: application/json
Authorization: Bearer $YOUR_API_KEY

{
	"model": "gemini-1.5-pro",
	"messages": [{
		"role": "user",
		"content": "What's the weather like in Boston today?"
	}],
	"tools": [{
		"type": "function",
		"function": {
			"name": "get_current_weather",
			"description": "Get the current weather in a given location",
			"parameters": {
				"type": "object",
				"properties": {
					"location": {
						"type": "string",
						"description": "The city and state, e.g. San Francisco, CA"
					},
					"unit": {
						"type": "string",
						"enum": ["celsius", "fahrenheit"]
					}
				},
				"required": ["location"]
			}
		}
	}],
	"tool_choice": "auto"
}

5. Response Example

{
	"id": "chatcmpl-1234567890",
	"object": "chat.completion",
	"created": 1699999999,
	"model": "gemini-1.5-pro",
	"choices": [
		{
			"message": {
				"role": "assistant",
				"content": "Quantum mechanics is a branch of physics that studies the microscopic world..."
			},
			"finish_reason": "stop"
		}
	],
	"usage": {
		"prompt_tokens": 10,
		"completion_tokens": 30,
		"total_tokens": 40
	}
}

Last updated