Skip to content

Gemini 3.1 Pro Preview Custom Tools

POST/v1/chat/completions

Gemini 3.1 Pro Preview Custom Tools is a variant of Gemini 3.1 Pro that improves tool selection behavior by preventing overuse of a general bash tool when more efficient third-party or user-defined functions are available. This specialized preview endpoint significantly increases function calling reliability and ensures the model selects the most appropriate tool in coding agents and complex, multi-tool workflows.

Request body

Parameters supported by this model. Values, defaults, and limits are read from the model registry.

stringmodelrequired

Model identifier. Set to google/gemini-3.1-pro-preview-customtools.

Default: google/gemini-3.1-pro-preview-customtools

array<object>messagesrequired

Conversation messages in system, user, or assistant order.

Optional<integer>max_tokens

Maximum number of tokens the model may generate in the response.

Range: −∞ to 65536

Optional<number>temperature

Sampling temperature. Lower values are more deterministic; higher values are more creative.

Range: 0 to 2

Default: 1

Optional<number>top_p

Nucleus sampling threshold. Use this or temperature, but usually not both.

Range: 0 to 1

Optional<boolean>stream

When true, returns incremental Server-Sent Events instead of one completed response.

Default: false

Optional<array>tools

Tool definitions that the model may call during the response.

Optional<string>tool_choice

Controls whether the model may call a tool and, when supported, which tool it must call.

Optional<object>response_format

Controls the response format, including JSON mode or structured JSON output when supported.

Optional<array<string>>stop

Sequences that stop generation when the model produces one of them.

Optional<integer>seed

Seed used to make sampling more reproducible when the provider supports it.

Response Schema

Fields returned by this model API response.

array<object>choicesrequired

Generated completion choices.

stringidrequired

Unique chat completion identifier.

stringmodelrequired

Model that generated the response.

Optional<object>usage

Token usage when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: chat, vision, audio_input, reasoning, structured_output, function_calling

integercontext_lengthrequired

Maximum context window accepted by this model.

Default: 1048576 tokens

stringexecution_moderequired

Execution mode declared by the model registry.

Default: sync