Baseten Chat Completions API

The Chat Completions API from Baseten — 1 operation(s) for chat completions.

Operations 1

POST /v1/chat/completions Create a chat completion #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/baseten-chat-completions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

baseten-chat-completions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Baseten LLM Inference Chat Completions API
  version: 1.0.0
  description: OpenAI-compatible API for Baseten Model APIs. Use this endpoint to interact with hosted LLMs.
servers:
- url: https://inference.baseten.co
  description: Baseten Inference API.
security:
- ApiKeyAuth: []
tags:
- name: Chat Completions
paths:
  /v1/chat/completions:
    post:
      operationId: createChatCompletion
      summary: Create a chat completion
      description: Creates a chat completion for the provided conversation. This endpoint is fully compatible with the OpenAI Chat Completions API, allowing you to use standard OpenAI SDKs by changing only the base URL and API key.
      tags:
      - Chat Completions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: 'Bad request: invalid parameters.'
        '401':
          description: 'Unauthorized: invalid or missing API key.'
        '429':
          description: Rate limit exceeded.
        '500':
          description: Internal server error.
      x-codeSamples:
      - lang: python
        label: Python
        source: "from openai import OpenAI\nimport os\n\nclient = OpenAI(\n    base_url=\"https://inference.baseten.co/v1\",\n    api_key=os.environ.get(\"BASETEN_API_KEY\"),\n)\n\nresponse = client.chat.completions.create(\n    model=\"deepseek-ai/DeepSeek-V4-Pro\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n        {\"role\": \"user\", \"content\": \"Hello!\"},\n    ],\n)\n\nprint(response.choices[0].message.content)"
      - lang: javascript
        label: JavaScript
        source: "import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n    baseURL: \"https://inference.baseten.co/v1\",\n    apiKey: process.env.BASETEN_API_KEY,\n});\n\nconst response = await client.chat.completions.create({\n    model: \"deepseek-ai/DeepSeek-V4-Pro\",\n    messages: [\n        { role: \"system\", content: \"You are a helpful assistant.\" },\n        { role: \"user\", content: \"Hello!\" },\n    ],\n});\n\nconsole.log(response.choices[0].message.content);"
      - lang: bash
        label: cURL
        source: "curl https://inference.baseten.co/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Api-Key $BASETEN_API_KEY\" \\\n  -d '{\n    \"model\": \"deepseek-ai/DeepSeek-V4-Pro\",\n    \"messages\": [\n      {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n      {\"role\": \"user\", \"content\": \"Hello!\"}\n    ]\n  }'"
components:
  schemas:
    ChatCompletionNamedToolChoiceParam:
      additionalProperties: false
      properties:
        function:
          $ref: '#/components/schemas/ChatCompletionNamedFunction'
          description: The function to call.
        type:
          const: function
          default: function
          title: Type
          type: string
          description: The type, always `function`.
      required:
      - function
      title: ChatCompletionNamedToolChoiceParam
      type: object
      description: Forces the model to call a specific function.
    ChatCompletionContentPartInputAudioParam:
      additionalProperties: false
      properties:
        type:
          const: input_audio
          title: Type
          type: string
          description: The content type, always `input_audio`.
        input_audio:
          $ref: '#/components/schemas/InputAudio'
          description: The audio data and format.
      required:
      - type
      - input_audio
      title: ChatCompletionContentPartInputAudioParam
      type: object
      description: Audio content part for audio-capable models.
    StreamOptions:
      additionalProperties: false
      properties:
        include_usage:
          default: true
          title: Include Usage
          description: If `true`, includes token usage statistics in the final streaming chunk.
          type: boolean
        continuous_usage_stats:
          default: true
          title: Continuous Usage Stats
          description: If `true`, includes running token usage statistics in each streaming chunk.
          type: boolean
      title: StreamOptions
      type: object
      description: Options for streaming responses.
    ChatCompletionLogProbsContent:
      additionalProperties: false
      properties:
        token:
          title: Token
          type: string
          description: The token string.
        logprob:
          default: -9999
          title: Logprob
          type: number
          description: The log probability of the token.
        bytes:
          default: null
          title: Bytes
          description: The UTF-8 byte representation of the token.
          items:
            type: integer
          type: array
        top_logprobs:
          default: null
          title: Top Logprobs
          description: List of the most likely tokens and their log probabilities at this position.
          items:
            $ref: '#/components/schemas/ChatCompletionLogProb'
          type: array
      required:
      - token
      title: ChatCompletionLogProbsContent
      type: object
      description: Log probability information for a token in the content.
    UsageInfo:
      additionalProperties: false
      properties:
        completion_tokens:
          default: 0
          title: Completion Tokens
          type: integer
          description: Number of tokens in the generated completion.
        prompt_tokens:
          default: 0
          title: Prompt Tokens
          type: integer
          description: Number of tokens in the prompt.
        total_tokens:
          default: 0
          title: Total Tokens
          type: integer
          description: Total number of tokens used (prompt + completion).
        completion_tokens_details:
          $ref: '#/components/schemas/CompletionTokensDetails'
          description: Breakdown of completion token usage.
        prompt_tokens_details:
          $ref: '#/components/schemas/PromptTokensDetails'
          description: Breakdown of prompt token usage.
      title: UsageInfo
      type: object
      description: Token usage statistics for the request.
    ChatCompletionNamedFunction:
      additionalProperties: false
      properties:
        name:
          title: Name
          type: string
          description: The name of the function to call.
      required:
      - name
      title: ChatCompletionNamedFunction
      type: object
      description: Specifies a function to call by name.
    ChatCompletionContentPartImageParam:
      additionalProperties: false
      properties:
        type:
          const: image_url
          title: Type
          type: string
          description: The content type, always `image_url`.
        image_url:
          $ref: '#/components/schemas/ImageURL'
          description: The image URL and detail settings.
      required:
      - type
      - image_url
      title: ChatCompletionContentPartImageParam
      type: object
      description: Image content part for vision models.
    PromptTokensDetails:
      additionalProperties: false
      properties:
        audio_tokens:
          default: 0
          title: Audio Tokens
          type: integer
          description: Number of audio tokens in the prompt.
        cached_tokens:
          default: 0
          title: Cached Tokens
          type: integer
          description: Number of tokens retrieved from cache.
      title: PromptTokensDetails
      type: object
      description: Breakdown of tokens used in the prompt.
    ResponseFormatStructuralTag:
      additionalProperties: false
      properties:
        type:
          const: structural_tag
          title: Type
          type: string
          description: The response format type, always `structural_tag`.
        structural_tag:
          title: Structural Tag
          type: string
          description: The structural tag definition.
      required:
      - type
      - structural_tag
      title: ResponseFormatStructuralTag
      type: object
      description: Structural tag response format.
    ToolCall:
      additionalProperties: false
      properties:
        index:
          title: Index
          type: integer
          description: The index of this tool call in the list of tool calls.
        id:
          title: Id
          type: string
          description: A unique identifier for this tool call.
        type:
          const: function
          default: function
          title: Type
          type: string
          description: The type of tool call (always `function`).
        function:
          $ref: '#/components/schemas/FunctionCall'
          description: The function that the model called.
      required:
      - index
      - function
      title: ToolCall
      type: object
      description: A tool call generated by the model.
    ChatCompletionMessage:
      type: object
      required:
      - role
      description: 'A message in the conversation. Supports roles: `system`, `user`, `assistant`, and `tool`.'
      properties:
        role:
          type: string
          enum:
          - system
          - user
          - assistant
          - tool
          description: 'The role of the message author: `system` (instructions), `user` (input), `assistant` (model response), or `tool` (tool result).'
        content:
          anyOf:
          - type: string
          - type: array
            items:
              anyOf:
              - $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              - $ref: '#/components/schemas/ChatCompletionContentPartImageParam'
              - $ref: '#/components/schemas/ChatCompletionContentPartInputAudioParam'
          description: The message content. Can be a string or an array of content parts (text, image, audio) for multimodal inputs.
        name:
          type: string
          description: An optional name for the participant. Useful for distinguishing between multiple users or assistants.
        tool_calls:
          type: array
          items:
            $ref: '#/components/schemas/ChatCompletionMessageToolCallParam'
          description: Tool calls generated by the model (for assistant messages).
        tool_call_id:
          type: string
          description: The ID of the tool call this message responds to (required for tool messages).
    ChatCompletionLogProbs:
      additionalProperties: false
      properties:
        content:
          default: null
          title: Content
          description: A list of log probability information for each token in the content.
          items:
            $ref: '#/components/schemas/ChatCompletionLogProbsContent'
          type: array
      title: ChatCompletionLogProbs
      type: object
      description: Log probability information for the completion.
    ImageURL:
      additionalProperties: false
      properties:
        url:
          title: Url
          type: string
          description: The URL of the image, or a base64-encoded data URL.
        detail:
          default: null
          title: Detail
          description: 'The detail level: `auto` (default), `low` (512px max), or `high` (full resolution).'
          enum:
          - auto
          - low
          - high
          type: string
      required:
      - url
      title: ImageURL
      type: object
      description: An image URL with optional detail settings.
    ChatCompletionRequest:
      additionalProperties: false
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/ChatCompletionMessage'
          description: 'A list of messages representing the conversation history. Supports roles: `system`, `user`, `assistant`, and `tool`.'
        model:
          title: Model
          type: string
          description: The model slug to use for completion, such as `deepseek-ai/DeepSeek-V4-Pro`. Find available models at [Model APIs](https://app.baseten.co/model-apis/create).
        frequency_penalty:
          default: 0
          title: Frequency Penalty
          description: Penalizes tokens based on how frequently they appear in the text so far. Positive values decrease repetition. Support varies by model.
          type: number
        logit_bias:
          default: null
          title: Logit Bias
          description: A map of token IDs to bias values (-100 to 100). Use this to increase or decrease the likelihood of specific tokens appearing in the output.
          additionalProperties:
            type: number
          type: object
        logprobs:
          default: false
          title: Logprobs
          description: If `true`, returns log probabilities of the output tokens. Log probability support varies by model.
          type: boolean
        top_logprobs:
          default: 0
          title: Top Logprobs
          description: 'Number of most likely tokens to return at each position (0-20). Requires `logprobs: true`. Log probability support varies by model.'
          type: integer
        max_tokens:
          default: 4096
          maximum: 262144
          minimum: 1
          title: Max Tokens
          type: integer
          description: Maximum number of tokens to generate. If your request input plus `max_tokens` exceeds the model's context length, `max_tokens` is truncated. If your request exceeds the context length by more than 16k tokens or if `max_tokens` signals no preference, context reservation is throttled to 49512 tokens. Higher `max_tokens` values slightly deprioritize request scheduling.
        n:
          default: 1
          title: N
          description: Number of completions to generate. Only `1` is supported.
          type: integer
        presence_penalty:
          default: 0
          title: Presence Penalty
          description: Penalizes tokens based on whether they have appeared in the text so far. Positive values encourage the model to discuss new topics. Support varies by model.
          type: number
        response_format:
          anyOf:
          - $ref: '#/components/schemas/ResponseFormatText'
          - $ref: '#/components/schemas/ResponseFormatJson'
          - $ref: '#/components/schemas/ResponseFormatJsonObject'
          - $ref: '#/components/schemas/ResponseFormatGrammar'
          - $ref: '#/components/schemas/ResponseFormatStructuralTag'
          default: null
          title: Response Format
          description: 'Specifies the output format. Use `{"type": "json_object"}` for JSON mode, or `{"type": "json_schema", "json_schema": {...}}` for structured outputs with a specific schema.'
        seed:
          default: null
          title: Seed
          description: Random seed for deterministic generation. Determinism is not guaranteed across different hardware or model versions.
          type: integer
        stop:
          anyOf:
          - maxLength: 1000
            minLength: 1
            type: string
          - items:
              maxLength: 1000
              minLength: 1
              type: string
            maxItems: 32
            type: array
          title: Stop
          description: Up to 32 sequences where the API stops generating further tokens. Can be a string or array of strings.
        stream:
          default: false
          title: Stream
          description: If `true`, responses are streamed back as server-sent events (SSE) as they are generated.
          type: boolean
        stream_options:
          default: null
          description: 'Options for streaming responses. Set `include_usage: true` to receive token usage statistics in the final chunk.'
          $ref: '#/components/schemas/StreamOptions'
        temperature:
          default: null
          title: Temperature
          description: Controls randomness in the output. Lower values like 0.2 produce more focused and deterministic responses. Higher values like 1.5 produce more creative and varied output.
          maximum: 4
          minimum: 0
          type: number
        top_p:
          default: 1
          title: Top P
          description: 'Nucleus sampling: only consider tokens with cumulative probability up to this value. Lower values like 0.1 produce more focused output.'
          exclusiveMinimum: 0
          maximum: 1
          type: number
        tools:
          default: null
          title: Tools
          description: 'A list of tools (functions) the model may call. Each tool should have a `type: "function"` and a `function` object with `name`, `description`, and `parameters`.'
          items:
            $ref: '#/components/schemas/ChatCompletionToolsParam'
          type: array
        tool_choice:
          anyOf:
          - enum:
            - none
            - required
            - auto
            type: string
          - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
          default: null
          title: Tool Choice
          description: 'Controls which tool (if any) the model calls.


            - `none`: Never call a tool.

            - `auto`: Model decides whether to call a tool.

            - `required`: Model must call at least one tool.

            - `{"type": "function", "function": {"name": "..."}}`: Call a specific function.'
        parallel_tool_calls:
          default: true
          title: Parallel Tool Calls
          description: If `true`, the model can call multiple tools in a single response.
          type: boolean
        user:
          default: null
          title: User
          description: A unique identifier for the end-user, useful for tracking and abuse detection.
          type: string
        best_of:
          default: null
          title: Best Of
          description: Number of candidate sequences to generate and return the best from. Only a value of 1 is supported.
          maximum: 1
          minimum: 1
          type: integer
        top_k:
          default: 50
          title: Top K
          description: Limits token selection to the top K most probable tokens at each step. Lower values like 10 produce more focused output. Set to -1 to disable.
          type: integer
        top_p_min:
          default: 0
          title: Top P Min
          type: number
          description: Minimum value for dynamic `top_p`. When set, `top_p` dynamically adjusts but does not go below this value.
        min_p:
          default: 0
          title: Min P
          type: number
          description: Minimum probability threshold for token selection. Filters out tokens with probability below `min_p * max_probability`.
        repetition_penalty:
          default: 1
          title: Repetition Penalty
          type: number
          description: Multiplicative penalty for repeated tokens. Values greater than 1.0 discourage repetition, values less than 1.0 encourage it.
        length_penalty:
          default: 1
          title: Length Penalty
          type: number
          description: Exponential penalty applied to sequence length during beam search. Values greater than 1.0 favor longer sequences.
        early_stopping:
          default: false
          title: Early Stopping
          type: boolean
          description: If `true`, stops generation when at least `n` complete candidates are found.
        bad:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          title: Bad
          description: Words or phrases to avoid in the output. Support varies by model.
        bad_token_ids:
          title: Bad Token Ids
          description: Token IDs to avoid in the output. Support varies by model.
          items:
            type: integer
          type: array
        stop_token_ids:
          title: Stop Token Ids
          description: List of token IDs that cause generation to stop when encountered.
          items:
            type: integer
          type: array
        include_stop_str_in_output:
          default: false
          title: Include Stop Str In Output
          type: boolean
          description: If `true`, includes the matched stop string in the output.
        ignore_eos:
          default: false
          title: Ignore Eos
          type: boolean
          description: If `true`, continues generating past the end-of-sequence token.
        min_tokens:
          default: 0
          title: Min Tokens
          type: integer
          description: Minimum number of tokens to generate before stopping. Useful for ensuring responses are not too short.
        skip_special_tokens:
          default: true
          title: Skip Special Tokens
          type: boolean
          description: If `true`, removes special tokens from the generated output.
        spaces_between_special_tokens:
          default: true
          title: Spaces Between Special Tokens
          type: boolean
          description: If `true`, adds spaces between special tokens in the output.
        truncate_prompt_tokens:
          default: null
          title: Truncate Prompt Tokens
          description: If set, truncates the prompt to this many tokens. Useful for handling inputs that may exceed context limits.
          minimum: 1
          type: integer
        echo:
          default: false
          description: If `true` and the last message role matches the generation role, prepends that message to the output.
          title: Echo
          type: boolean
        add_generation_prompt:
          default: true
          description: If `true`, adds the generation prompt from the chat template, such as `<|assistant|>`. Set to `false` for completion-style generation.
          title: Add Generation Prompt
          type: boolean
        add_special_tokens:
          default: false
          description: If `true`, adds special tokens like BOS to the prompt beyond what the chat template adds. For most models, the chat template handles special tokens, so this should be `false`.
          title: Add Special Tokens
          type: boolean
        documents:
          default: null
          description: A list of documents for RAG (retrieval-augmented generation). Each document is a dict with string keys and values that the model can reference.
          title: Documents
          items:
            additionalProperties:
              type: string
            type: object
          type: array
        chat_template:
          default: null
          description: A custom Jinja template for formatting the conversation. If not provided, uses the model's default template.
          title: Chat Template
          type: string
        chat_template_args:
          default: null
          description: Additional arguments to pass to the chat template renderer.
          title: Chat Template Args
          additionalProperties: true
          type: object
        disaggregated_params:
          default: null
          description: Advanced parameters for disaggregated serving. Used internally for distributed inference.
          $ref: '#/components/schemas/DisaggregatedParams'
      required:
      - messages
      - model
      title: ChatCompletionRequest
      type: object
      description: Request body for creating a chat completion.
    CompletionTokensDetails:
      additionalProperties: false
      properties:
        accepted_prediction_tokens:
          default: 0
          title: Accepted Prediction Tokens
          type: integer
          description: Number of tokens in accepted predictions (for speculative decoding).
        audio_tokens:
          default: 0
          title: Audio Tokens
          type: integer
          description: Number of audio tokens generated.
        reasoning_tokens:
          default: 0
          title: Reasoning Tokens
          type: integer
          description: Number of tokens used for reasoning (for models that support extended thinking).
        rejected_prediction_tokens:
          default: 0
          title: Rejected Prediction Tokens
          type: integer
          description: Number of tokens in rejected predictions (for speculative decoding).
      title: CompletionTokensDetails
      type: object
      description: Breakdown of tokens used in the completion.
    ChatCompletionLogProb:
      additionalProperties: false
      properties:
        token:
          title: Token
          type: string
          description: The token string.
        logprob:
          default: -9999
          title: Logprob
          type: number
          description: The log probability of the token.
        bytes:
          default: null
          title: Bytes
          description: The UTF-8 byte representation of the token.
          items:
            type: integer
          type: array
      required:
      - token
      title: ChatCompletionLogProb
      type: object
      description: Log probability information for a token.
    DisaggregatedParams:
      additionalProperties: false
      properties:
        request_type:
          title: Request Type
          type: string
          description: The type of disaggregated request.
        first_gen_tokens:
          default: null
          title: First Gen Tokens
          description: First generation tokens for continuation.
          items:
            type: integer
          type: array
        ctx_request_id:
          default: null
          title: Ctx Request Id
          description: Context request identifier.
          type: integer
        opaque_state:
          default: null
          title: Opaque State
          description: Opaque state for continuation.
          type: string
        draft_tokens:
          default: null
          title: Draft Tokens
          description: Draft tokens for speculative decoding.
          items:
            type: integer
          type: array
        multimodal_embedding_handles:
          default: null
          title: Multimodal Embedding Handles
          description: Handles for multimodal embeddings.
          items:
            additionalProperties: true
            type: object
          type: array
        multimodal_hashes:
          default: null
          title: Multimodal Hashes
          description: Hashes for multimodal content.
          items:
            items:
              type: integer
            type: array
          type: array
      required:
      - request_type
      title: DisaggregatedParams
      type: object
      description: Advanced parameters for disaggregated serving. Used internally.
    JsonSchema:
      additionalProperties: false
      properties:
        name:
          title: Name
          type: string
          description: The name of the schema.
        description:
          default: null
          title: Description
          description: A description of the schema.
          type: string
        schema:
          additionalProperties: true
          title: Schema
          type: object
          description: The JSON Schema definition.
        strict:
          default: true
          title: Strict
          description: If `true`, enables strict schema adherence.
          const: true
          type: boolean
      required:
      - name
      - schema
      title: JsonSchema
      type: object
      description: A JSON schema for structured output.
    DeltaMessage:
      additionalProperties: false
      properties:
        role:
          default: null
          title: Role
          description: The role of the message author (typically `assistant`).
          type: string
        content:
          default: null
          title: Content
          description: The content chunk generated by the model.
          type: string
        tool_calls:
          items:
            $ref: '#/components/schemas/ToolCall'
          title: Tool Calls
          type: array
          description: Tool calls generated by the model.
      title: DeltaMessage
      type: object
      description: A delta message chunk in a streaming response.
    ResponseFormatText:
      additionalProperties: false
      properties:
        type:
          const: text
          title: Type
          type: string
          description: The response format type, always `text`.
      required:
      - type
      title: ResponseFormatText
      type: object
      description: Plain text response format.
    ResponseFormatJsonObject:
      additionalProperties: false
      properties:
        type:
          const: json_object
          title: Type
          type: string
          description: The response format type, always `json_object`.
      required:
      - type
      title: ResponseFormatJsonObject
      type: object
      description: JSON object response format.
    ChatCompletionResponse:
      additionalProperties: false
      properties:
        id:
          title: Id
          type: string
          description: A unique identifier for the chat completion.
        object:
          const: chat.completion.chunk
          default: chat.completion.chunk
          title: Object
          type: string
          description: The object type, always `chat.completion` or `chat.completion.chunk` for streaming.
        created:
          title: Created
          type: integer
          description: The Unix timestamp (in seconds) of when the completion was created.
        model:
          title: Model
          type: string
          description: The model used for the completion.
        choices:
          items:
            $ref: '#/components/schemas/ChatCompletionResponseStreamChoice'
          title: Choices
          type: array
          description: A list of chat completion choices.
        usage:
          default: null
          description: 'Token usage statistics for the request. Only present when streaming with `stream_options.include_usage: true`.'
          $ref: '#/components/schemas/UsageInfo'
      required:
      - model
      - choices
      title: ChatCompletionStreamResponse
      type: object
      description: A chat completion response returned by the model.
    ChatCompletionContentPartTextParam:
      additionalProperties: false
      properties:
        type:
          const: text
          title: Type
          type: string
          description: The content type, always `text`.
        text:
          title: Text
          type: string
          description: The text content.
      required:
      - type
      - text
      title: ChatCompletionContentPartTextParam
      type: object
      description: Text content part.
    ChatCompletionMessageToolCallParam:
      additionalProperties: false
      properties:
        id:
          title: Id
          type: string
          description: The ID of the tool call.
        index:
          title: Index
          description: The index of the tool call.
          type: integer
        function:
          $ref: '#/components/schemas/Function'
          description: The function that was called.
        type:
          const: function
          title: Type
          type: string
          description: The type, always `function`.
      required:
      - id
      - function
      - type
      title: ChatCompletionMessageToolCallParam
      type: object
      description: A tool call in an assistant message.
    ResponseFormatGrammar:
      additionalProperties: false
      properties:
        type:
          const: grammar
          title: Type
          type: string
          description: The response format type, always `grammar`.
        grammar:
          title: Grammar
          type: string
          description: The grammar definition string.
      required:
      - type
      - grammar
      title: ResponseFormatGrammar
      type: object
      description: Grammar-based response format.
    ChatCompletionResponseStreamChoice:
      additionalProperties: false
      properties:
        index:
          title: Index
          type: integer
          description: The index of this choice in the list of choices.
        delta:
          $ref: '#/components/schemas/DeltaMessage'
          description: The delta content for streaming responses.
        logprobs:
          default: null
          description: Log probability information for the choice

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/baseten/refs/heads/main/openapi/baseten-chat-completions-api-openapi.yml