Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Get input token counts

client.Responses.InputTokens.Count(ctx, body) (*InputTokenCountResponse, error)
POST/responses/input_tokens

Returns input token counts of the request.

Returns an object with object set to response.input_tokens and an input_tokens count.

ParametersExpand Collapse
body InputTokenCountParams
Conversation param.Field[InputTokenCountParamsConversationUnion]Optional

The conversation that this response belongs to. Items from this conversation are prepended to input_items for this response request. Input items and output items from this response are automatically added to this conversation after this response completes.

Input param.Field[InputTokenCountParamsInputUnion]Optional

Text, image, or file inputs to the model, used to generate a response

Instructions param.Field[string]Optional

A system (or developer) message inserted into the model’s context. When used along with previous_response_id, the instructions from a previous response will not be carried over to the next response. This makes it simple to swap out system (or developer) messages in new responses.

Model param.Field[string]Optional

Model ID used to generate the response, like gpt-4o or o3. OpenAI offers a wide range of models with different capabilities, performance characteristics, and price points. Refer to the model guide to browse and compare available models.

ParallelToolCalls param.Field[bool]Optional

Whether to allow the model to run tool calls in parallel.

Personality param.Field[InputTokenCountParamsPersonality]Optional

A model-owned style preset to apply to this request. Omit this parameter to use the model’s default style. Supported values may expand over time. Values must be at most 64 characters.

PreviousResponseID param.Field[string]Optional

The unique ID of the previous response to the model. Use this to create multi-turn conversations. Learn more about conversation state. Cannot be used in conjunction with conversation.

Reasoning param.Field[Reasoning]Optional

gpt-5 and o-series models only Configuration options for reasoning models.

Text param.Field[InputTokenCountParamsText]Optional

Configuration options for a text response from the model. Can be plain text or structured JSON data. Learn more:

ToolChoice param.Field[InputTokenCountParamsToolChoiceUnion]Optional

Controls which tool the model should use, if any.

Tools param.Field[[]ToolUnion]Optional

An array of tools the model may call while generating a response. You can specify which tool to use by setting the tool_choice parameter.

DeprecatedTruncation param.Field[InputTokenCountParamsTruncation]Optional

The truncation strategy to use for the model response. - auto: If the input to this Response exceeds the model’s context window size, the model will truncate the response to fit the context window by dropping items from the beginning of the conversation. - disabled (default): If the input size will exceed the context window size for a model, the request will fail with a 400 error.

ReturnsExpand Collapse
type InputTokenCountResponse struct{…}
InputTokens int64
Object ResponseInputTokens

Get input token counts

package main

import (
  "context"
  "fmt"

  "github.com/openai/openai-go"
  "github.com/openai/openai-go/responses"
)

func main() {
  client := openai.NewClient()
  response, err := client.Responses.InputTokens.Count(context.TODO(), responses.InputTokenCountParams{
    Model: "gpt-5",
    Input: "Tell me a joke.",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.InputTokens)
}
{
  "object": "response.input_tokens",
  "input_tokens": 11
}
Returns Examples
{
  "object": "response.input_tokens",
  "input_tokens": 11
}