Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Foundation Models
    • Overview
    • API authentication
        • Overview
          • Overview
          • Completion
  • Yandex Cloud ML SDK
  • Compatibility with OpenAI
  • Access management
  • Pricing policy
  • Public materials
  • Release notes

In this article:

  • gRPC request
  • CompletionRequest
  • CompletionOptions
  • ReasoningOptions
  • Message
  • ToolCallList
  • ToolCall
  • FunctionCall
  • ToolResultList
  • ToolResult
  • FunctionResult
  • Tool
  • FunctionTool
  • JsonSchema
  • CompletionResponse
  • Alternative
  • Message
  • ToolCallList
  • ToolCall
  • FunctionCall
  • ToolResultList
  • ToolResult
  • FunctionResult
  • ContentUsage
  • CompletionTokensDetails
  1. API references
  2. Text Generation API
  3. gRPC
  4. TextGeneration
  5. Completion

Foundation Models Text Generation API, gRPC: TextGenerationService.Completion

Written by
Yandex Cloud
Improved by
Tania L.
Updated at February 21, 2025
  • gRPC request
  • CompletionRequest
  • CompletionOptions
  • ReasoningOptions
  • Message
  • ToolCallList
  • ToolCall
  • FunctionCall
  • ToolResultList
  • ToolResult
  • FunctionResult
  • Tool
  • FunctionTool
  • JsonSchema
  • CompletionResponse
  • Alternative
  • Message
  • ToolCallList
  • ToolCall
  • FunctionCall
  • ToolResultList
  • ToolResult
  • FunctionResult
  • ContentUsage
  • CompletionTokensDetails

A method for generating text completions in synchronous mode.

gRPC requestgRPC request

rpc Completion (CompletionRequest) returns (stream CompletionResponse)

CompletionRequestCompletionRequest

{
  "model_uri": "string",
  "completion_options": {
    "stream": "bool",
    "temperature": "google.protobuf.DoubleValue",
    "max_tokens": "google.protobuf.Int64Value",
    "reasoning_options": {
      "mode": "ReasoningMode"
    }
  },
  "messages": [
    {
      "role": "string",
      // Includes only one of the fields `text`, `tool_call_list`, `tool_result_list`
      "text": "string",
      "tool_call_list": {
        "tool_calls": [
          {
            // Includes only one of the fields `function_call`
            "function_call": {
              "name": "string",
              "arguments": "google.protobuf.Struct"
            }
            // end of the list of possible fields
          }
        ]
      },
      "tool_result_list": {
        "tool_results": [
          {
            // Includes only one of the fields `function_result`
            "function_result": {
              "name": "string",
              // Includes only one of the fields `content`
              "content": "string"
              // end of the list of possible fields
            }
            // end of the list of possible fields
          }
        ]
      }
      // end of the list of possible fields
    }
  ],
  "tools": [
    {
      // Includes only one of the fields `function`
      "function": {
        "name": "string",
        "description": "string",
        "parameters": "google.protobuf.Struct"
      }
      // end of the list of possible fields
    }
  ],
  // Includes only one of the fields `json_object`, `json_schema`
  "json_object": "bool",
  "json_schema": {
    "schema": "google.protobuf.Struct"
  }
  // end of the list of possible fields
}

Request for the service to generate text completion.

Field

Description

model_uri

string

The ID of the model to be used for completion generation.

completion_options

CompletionOptions

Configuration options for completion generation.

messages[]

Message

A list of messages representing the context for the completion model.

tools[]

Tool

List of tools that are available for the model to invoke during the completion generation.
Note: This parameter is not yet supported and will be ignored if provided.

json_object

bool

When set to true, the model will respond with a valid JSON object.
Be sure to explicitly ask the model for JSON.
Otherwise, it may generate excessive whitespace and run indefinitely until it reaches the token limit.

Includes only one of the fields json_object, json_schema.

Specifies the format of the model's response.

json_schema

JsonSchema

Enforces a specific JSON structure for the model's response based on a provided schema.

Includes only one of the fields json_object, json_schema.

Specifies the format of the model's response.

CompletionOptionsCompletionOptions

Defines the options for completion generation.

Field

Description

stream

bool

Enables streaming of partially generated text.

temperature

google.protobuf.DoubleValue

Affects creativity and randomness of responses. Should be a double number between 0 (inclusive) and 1 (inclusive).
Lower values produce more straightforward responses while higher values lead to increased creativity and randomness.
Default temperature: 0.3

max_tokens

google.protobuf.Int64Value

The limit on the number of tokens used for single completion generation.
Must be greater than zero. This maximum allowed parameter value may depend on the model being used.

reasoning_options

ReasoningOptions

Configures reasoning capabilities for the model, allowing it to perform internal reasoning before responding.

ReasoningOptionsReasoningOptions

Represents reasoning options that enable the model's ability to perform internal reasoning before generating a response.

Field

Description

mode

enum ReasoningMode

Specifies the reasoning mode to be used.

  • REASONING_MODE_UNSPECIFIED: Unspecified reasoning mode.
  • DISABLED: Disables reasoning. The model will generate a response without performing any internal reasoning.
  • ENABLED_HIDDEN: Enables reasoning in a hidden manner without exposing the reasoning steps to the user.

MessageMessage

A message object representing a wrapper over the inputs and outputs of the completion model.

Field

Description

role

string

The ID of the message sender. Supported roles:

  • system: Special role used to define the behaviour of the completion model.
  • assistant: A role used by the model to generate responses.
  • user: A role used by the user to describe requests to the model.

text

string

Textual content of the message.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

tool_call_list

ToolCallList

List of tool calls made by the model as part of the response generation.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

tool_result_list

ToolResultList

List of tool results returned from external tools that were invoked by the model.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

ToolCallListToolCallList

Represents a list of tool calls.

Field

Description

tool_calls[]

ToolCall

A list of tool calls to be executed.

ToolCallToolCall

Represents a call to a tool.

Field

Description

function_call

FunctionCall

Represents a call to a function.

Includes only one of the fields function_call.

FunctionCallFunctionCall

Represents the invocation of a function with specific arguments.

Field

Description

name

string

The name of the function being called.

arguments

google.protobuf.Struct

The structured arguments passed to the function.
These arguments must adhere to the JSON Schema defined in the corresponding function's parameters.

ToolResultListToolResultList

Represents a list of tool results.

Field

Description

tool_results[]

ToolResult

A list of tool results.

ToolResultToolResult

Represents the result of a tool call.

Field

Description

function_result

FunctionResult

Represents the result of a function call.

Includes only one of the fields function_result.

FunctionResultFunctionResult

Represents the result of a function call.

Field

Description

name

string

The name of the function that was executed.

content

string

The result of the function call, represented as a string.
This field can be used to store the output of the function.

Includes only one of the fields content.

ToolTool

Represents a tool that can be invoked during completion generation.

Field

Description

function

FunctionTool

Represents a function that can be called.

Includes only one of the fields function.

FunctionToolFunctionTool

Represents a function tool that can be invoked during completion generation.

Field

Description

name

string

The name of the function.

description

string

A description of the function's purpose or behavior.

parameters

google.protobuf.Struct

A JSON Schema that defines the expected parameters for the function.
The schema should describe the required fields, their types, and any constraints or default values.

JsonSchemaJsonSchema

Represents the expected structure of the model's response using a JSON Schema.

Field

Description

schema

google.protobuf.Struct

The JSON Schema that the model's output must conform to.

CompletionResponseCompletionResponse

{
  "alternatives": [
    {
      "message": {
        "role": "string",
        // Includes only one of the fields `text`, `tool_call_list`, `tool_result_list`
        "text": "string",
        "tool_call_list": {
          "tool_calls": [
            {
              // Includes only one of the fields `function_call`
              "function_call": {
                "name": "string",
                "arguments": "google.protobuf.Struct"
              }
              // end of the list of possible fields
            }
          ]
        },
        "tool_result_list": {
          "tool_results": [
            {
              // Includes only one of the fields `function_result`
              "function_result": {
                "name": "string",
                // Includes only one of the fields `content`
                "content": "string"
                // end of the list of possible fields
              }
              // end of the list of possible fields
            }
          ]
        }
        // end of the list of possible fields
      },
      "status": "AlternativeStatus"
    }
  ],
  "usage": {
    "input_text_tokens": "int64",
    "completion_tokens": "int64",
    "total_tokens": "int64",
    "completion_tokens_details": {
      "reasoning_tokens": "int64"
    }
  },
  "model_version": "string"
}

Response containing generated text completions.

Field

Description

alternatives[]

Alternative

A list of generated completion alternatives.

usage

ContentUsage

A set of statistics describing the number of content tokens used by the completion model.

model_version

string

The model version changes with each new releases.

AlternativeAlternative

Represents a generated completion alternative, including its content and generation status.

Field

Description

message

Message

A message with the content of the alternative.

status

enum AlternativeStatus

The generation status of the alternative.

  • ALTERNATIVE_STATUS_UNSPECIFIED: Unspecified generation status.
  • ALTERNATIVE_STATUS_PARTIAL: Partially generated alternative.
  • ALTERNATIVE_STATUS_TRUNCATED_FINAL: Incomplete final alternative resulting from reaching the maximum allowed number of tokens.
  • ALTERNATIVE_STATUS_FINAL: Final alternative generated without running into any limits.
  • ALTERNATIVE_STATUS_CONTENT_FILTER: Generation was stopped due to the discovery of potentially sensitive content in the prompt or generated response.
    To fix, modify the prompt and restart generation.
  • ALTERNATIVE_STATUS_TOOL_CALLS: Tools were invoked during the completion generation.

MessageMessage

A message object representing a wrapper over the inputs and outputs of the completion model.

Field

Description

role

string

The ID of the message sender. Supported roles:

  • system: Special role used to define the behaviour of the completion model.
  • assistant: A role used by the model to generate responses.
  • user: A role used by the user to describe requests to the model.

text

string

Textual content of the message.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

tool_call_list

ToolCallList

List of tool calls made by the model as part of the response generation.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

tool_result_list

ToolResultList

List of tool results returned from external tools that were invoked by the model.

Includes only one of the fields text, tool_call_list, tool_result_list.

Message content.

ToolCallListToolCallList

Represents a list of tool calls.

Field

Description

tool_calls[]

ToolCall

A list of tool calls to be executed.

ToolCallToolCall

Represents a call to a tool.

Field

Description

function_call

FunctionCall

Represents a call to a function.

Includes only one of the fields function_call.

FunctionCallFunctionCall

Represents the invocation of a function with specific arguments.

Field

Description

name

string

The name of the function being called.

arguments

google.protobuf.Struct

The structured arguments passed to the function.
These arguments must adhere to the JSON Schema defined in the corresponding function's parameters.

ToolResultListToolResultList

Represents a list of tool results.

Field

Description

tool_results[]

ToolResult

A list of tool results.

ToolResultToolResult

Represents the result of a tool call.

Field

Description

function_result

FunctionResult

Represents the result of a function call.

Includes only one of the fields function_result.

FunctionResultFunctionResult

Represents the result of a function call.

Field

Description

name

string

The name of the function that was executed.

content

string

The result of the function call, represented as a string.
This field can be used to store the output of the function.

Includes only one of the fields content.

ContentUsageContentUsage

An object representing the number of content tokens used by the completion model.

Field

Description

input_text_tokens

int64

The number of tokens in the textual part of the model input.

completion_tokens

int64

The number of tokens in the generated completion.

total_tokens

int64

The total number of tokens, including all input tokens and all generated tokens.

completion_tokens_details

CompletionTokensDetails

Provides additional information about how the completion tokens were utilized.

CompletionTokensDetailsCompletionTokensDetails

Provides additional information about how the completion tokens were utilized.

Field

Description

reasoning_tokens

int64

The number of tokens used specifically for internal reasoning performed by the model.

Was the article helpful?

Previous
Overview
Next
Overview
© 2025 Direct Cursus Technology L.L.C.