openapi: 3.1.0
info:
  title: stdapi.ai
  description: AWS standardized AI API
  contact:
    name: stdapi.ai
    url: https://stdapi.ai/
  license:
    name: GNU Affero General Public License v3.0 or later (Commercial license available)
    identifier: AGPL-3.0-or-later
  version: 1.9.0
paths:
  /anthropic/v1/files:
    post:
      tags:
      - Files
      - Anthropic
      summary: Anthropic - POST /v1/files
      description: Upload a file that can be used across various endpoints.
      operationId: upload_anthropic_v1_files_post
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_anthropic_v1_files_post'
      responses:
        '200':
          description: The file metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Files
      - Anthropic
      summary: Anthropic - GET /v1/files
      description: Returns a list of files.
      operationId: list_files_endpoint_anthropic_v1_files_get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: after_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^file[-_][a-z2-7]{32}$
          - type: 'null'
          description: ID of the object to use as a cursor for pagination. When provided,
            returns the page of results immediately after this object.
          title: After Id
        description: ID of the object to use as a cursor for pagination. When provided,
          returns the page of results immediately after this object.
      - name: before_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^file[-_][a-z2-7]{32}$
          - type: 'null'
          description: ID of the object to use as a cursor for pagination. When provided,
            returns the page of results immediately before this object.
          title: Before Id
        description: ID of the object to use as a cursor for pagination. When provided,
          returns the page of results immediately before this object.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Number of items to return per page. Defaults to `20`. Ranges
            from `1` to `1000`.
          default: 20
          title: Limit
        description: Number of items to return per page. Defaults to `20`. Ranges
          from `1` to `1000`.
      responses:
        '200':
          description: A list of file metadata objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /anthropic/v1/files/{file_id}:
    get:
      tags:
      - Files
      - Anthropic
      summary: Anthropic - GET /v1/files/{file_id}
      description: Returns metadata for a specific file.
      operationId: retrieve_file_anthropic_v1_files__file_id__get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: ID of the File.
          title: File Id
        description: ID of the File.
      responses:
        '200':
          description: The file metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Files
      - Anthropic
      summary: Anthropic - DELETE /v1/files/{file_id}
      description: Delete a file.
      operationId: delete_file_endpoint_anthropic_v1_files__file_id__delete
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: ID of the File.
          title: File Id
        description: ID of the File.
      responses:
        '200':
          description: Deletion status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedFile'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /anthropic/v1/files/{file_id}/content:
    get:
      tags:
      - Files
      - Anthropic
      summary: Anthropic - GET /v1/files/{file_id}/content
      description: Returns the contents of the specified file.
      operationId: get_content_anthropic_v1_files__file_id__content_get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: ID of the File.
          title: File Id
        description: ID of the File.
      responses:
        '200':
          description: The raw file content.
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /anthropic/v1/messages:
    post:
      tags:
      - Chat
      - Anthropic
      summary: Anthropic - /v1/messages
      description: 'Send a structured list of input messages with text and / or image
        content, and the model will generate the next message in the conversation.

        The Messages API can be used for either single queries or stateless multi-turn
        conversations.'
      operationId: create_message_anthropic_v1_messages_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageCreateParams'
            examples:
              basic:
                summary: Basic message
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: user
                    content: Hello, how are you?
                  max_tokens: 1024
              streaming:
                summary: Streaming response
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: user
                    content: Tell me a story
                  max_tokens: 1024
                  stream: true
              with_system:
                summary: With system prompt
                value:
                  model: amazon.nova-micro-v1:0
                  system: You are a helpful assistant.
                  messages:
                  - role: user
                    content: Explain quantum computing
                  max_tokens: 2048
                  temperature: 0.7
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
              example:
                id: msg-f6ed35b89b77488f8c481eb0a26ac1bf
                type: message
                role: assistant
                content:
                - type: text
                  text: I'm an AI assistant.
                model: amazon.nova-micro-v1:0
                stop_reason: end_turn
                usage:
                  input_tokens: 11
                  output_tokens: 16
        '400':
          description: Invalid request or unsupported parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /anthropic/v1/messages/count_tokens:
    post:
      tags:
      - Chat
      - Anthropic
      summary: Anthropic - /v1/messages/count_tokens
      description: 'Count the number of tokens in a Message.

        The Token Count API can be used to count the number of tokens in a Message,
        including tools, images, and documents, without creating it.'
      operationId: count_tokens_anthropic_v1_messages_count_tokens_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageCountTokensParams'
            examples:
              basic:
                summary: Basic count tokens
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: user
                    content: Hello, how are you?
              with_system:
                summary: With system prompt
                value:
                  model: amazon.nova-micro-v1:0
                  system: You are a helpful assistant.
                  messages:
                  - role: user
                    content: Explain quantum computing
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTokensCount'
              example:
                input_tokens: 2095
        '400':
          description: Invalid request or unsupported parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /anthropic/v1/models:
    get:
      tags:
      - Models
      - Anthropic
      summary: Anthropic - /v1/models
      description: 'List available models.

        The Models API response can be used to determine which models are available
        for use in the API.'
      operationId: list_models_anthropic_v1_models_get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Number of items to return per page.
          default: 1000
          title: Limit
        description: Number of items to return per page.
      - name: after_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: ID of the object to use as a cursor for pagination. When provided,
            returns the page of results immediately after this object.
          title: After Id
        description: ID of the object to use as a cursor for pagination. When provided,
          returns the page of results immediately after this object.
      - name: before_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: ID of the object to use as a cursor for pagination. When provided,
            returns the page of results immediately before this object.
          title: Before Id
        description: ID of the object to use as a cursor for pagination. When provided,
          returns the page of results immediately before this object.
      responses:
        '200':
          description: List of available models.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelListResponse'
              examples:
                list:
                  summary: Example list
                  value:
                    data:
                    - id: amazon.nova-micro-v1:0
                      type: model
                      display_name: Amazon Nova Micro
                      created_at: '2025-01-01T00:00:00Z'
                    has_more: false
                    first_id: amazon.nova-micro-v1:0
                    last_id: amazon.nova-micro-v1:0
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /anthropic/v1/models/{model_id}:
    get:
      tags:
      - Models
      - Anthropic
      summary: Anthropic - /v1/models/{model_id}
      description: 'Get a specific model.

        The Models API response can be used to determine information about a specific
        model or resolve a model alias to a model ID.'
      operationId: retrieve_model_anthropic_v1_models__model_id__get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 255
          description: The ID of the model to retrieve.
          examples:
          - amazon.nova-micro-v1:0
          str_strip_whitespace: true
          title: Model Id
        description: The ID of the model to retrieve.
      responses:
        '200':
          description: Model retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelInfo'
              examples:
                model:
                  summary: Example model
                  value:
                    id: amazon.nova-micro-v1:0
                    type: model
                    display_name: Amazon Nova Micro
                    created_at: '2025-01-01T00:00:00Z'
        '404':
          description: Model not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /available_models:
    get:
      tags:
      - Models
      summary: Lists all currently available models (extended)
      description: "Lists the currently available models with detailed metadata.\n\
        \n\nThis endpoint is project-specific and returns extended ModelDetails including\
        \ modalities and regions.\n\n\nFilter examples:\n\n\n- Filter by input modality\
        \ (TEXT):\n\n  curl -G $BASE/available_models --data-urlencode 'input_modalities=TEXT'\n\
        \n\n- Filter by output modality (IMAGE):\n\n  curl -G $BASE/available_models\
        \ --data-urlencode 'output_modalities=IMAGE'"
      operationId: list_models_available_models_get
      parameters:
      - name: input_modalities
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            uniqueItems: true
            items:
              type: string
          - type: 'null'
          description: Filter by expected input modalities (e.g., TEXT, IMAGE, SPEECH).
          title: Input Modalities
        description: Filter by expected input modalities (e.g., TEXT, IMAGE, SPEECH).
      - name: output_modalities
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            uniqueItems: true
            items:
              type: string
          - type: 'null'
          description: Filter by expected output modalities (e.g., TEXT, IMAGE, AUDIO).
          title: Output Modalities
        description: Filter by expected output modalities (e.g., TEXT, IMAGE, AUDIO).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModelDetails'
                title: Response List Models Available Models Get
        '400':
          description: Invalid modality filter.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /health:
    get:
      tags:
      - Health
      summary: Health Check
      description: Simple health check endpoint to verify the service is running
      operationId: health_check_health_get
      responses:
        '200':
          description: Service is healthy and operational
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
              examples:
                healthy:
                  summary: Healthy response
                  value:
                    status: ok
  /v1/audio/speech:
    post:
      tags:
      - Audio
      - OpenAI
      summary: OpenAI - /v1/audio/speech
      description: 'Generates audio from the input text.


        Returns the audio file content, or a stream of audio events.'
      operationId: create_speech_v1_audio_speech_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpeechCreateParams'
            examples:
              file:
                summary: Generate MP3 file
                value:
                  model: amazon.polly-standard
                  voice: Amy
                  input: Hello, I'am Amy
                  response_format: mp3
              sse:
                summary: Stream using SSE
                value:
                  model: amazon.polly-standard
                  voice: Amy
                  input: Hello, I'am Amy
                  response_format: mp3
                  stream_format: sse
        required: true
      responses:
        '200':
          description: Audio generated (or streaming).
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid request or unsupported parameters.
        '404':
          description: Model not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/audio/transcriptions:
    post:
      tags:
      - Audio
      - OpenAI
      summary: OpenAI - /v1/audio/transcriptions
      description: 'Transcribes audio into the input language.


        Returns a transcription object in json, diarized_json, or verbose_json format,
        or a stream of transcript events.'
      operationId: create_transcription_v1_audio_transcriptions_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_transcription_v1_audio_transcriptions_post'
            examples:
              json:
                summary: JSON response
                value:
                  model: amazon.transcribe
                  response_format: json
              vtt:
                summary: Subtitle (VTT)
                value:
                  response_format: vtt
              stream:
                summary: Streaming SSE
                value:
                  stream: true
        required: true
      responses:
        '200':
          description: Transcription completed (or streaming).
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid request or unsupported parameters.
        '404':
          description: Model not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/audio/translations:
    post:
      tags:
      - Audio
      - OpenAI
      summary: OpenAI - /v1/audio/translations
      description: Translates audio into English.
      operationId: create_translation_v1_audio_translations_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_translation_v1_audio_translations_post'
            examples:
              json:
                summary: JSON response
                value:
                  model: amazon.transcribe
                  response_format: json
              srt:
                summary: Subtitle (SRT)
                value:
                  response_format: srt
        required: true
      responses:
        '200':
          description: Translation completed.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid request or unsupported parameters.
        '404':
          description: Model not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/chat/completions:
    post:
      tags:
      - Chat
      - OpenAI
      summary: OpenAI - /v1/chat/completions
      description: 'Creates a model response for the given chat conversation. Learn
        more in the text generation, vision, and audio guides.

        Parameter support can differ depending on the model used to generate the response,
        particularly for newer reasoning models. Parameters that are only supported
        for reasoning models are noted below.

        Returns a chat completion object, or a streamed sequence of chat completion
        chunk objects if the request is streamed.'
      operationId: create_chat_completion_v1_chat_completions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletionCreateParams'
            examples:
              basic:
                summary: Basic chat completion
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: user
                    content: Hello, how are you?
              streaming:
                summary: Streaming response
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: user
                    content: Tell me a story
                  stream: true
              with_params:
                summary: With parameters
                value:
                  model: amazon.nova-micro-v1:0
                  messages:
                  - role: system
                    content: You are a helpful assistant.
                  - role: user
                    content: Explain quantum computing
                  temperature: 0.7
                  max_tokens: 1000
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletion'
              example:
                id: chatcmpl-f6ed35b89b77488f8c481eb0a26ac1bf
                choices:
                - finish_reason: stop
                  index: 0
                  message:
                    content: I'm an AI assistant.
                    role: assistant
                created: 1740134957
                model: amazon.nova-micro-v1:0
                object: chat.completion
                usage:
                  completion_tokens: 16
                  prompt_tokens: 11
                  total_tokens: 27
        '400':
          description: Invalid request or unsupported parameters.
        '404':
          description: Model not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/embeddings:
    post:
      tags:
      - Embeddings
      - OpenAI
      summary: OpenAI - /v1/embeddings
      description: Creates an embedding vector representing the input text.
      operationId: create_embeddings_v1_embeddings_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmbeddingCreateParams'
            examples:
              single:
                summary: Single input
                value:
                  model: amazon.titan-embed-text-v2:0
                  input: Hello world
              batch:
                summary: Batch input
                value:
                  model: amazon.titan-embed-text-v2:0
                  input:
                  - first
                  - second
        required: true
      responses:
        '200':
          description: Embeddings successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmbeddingResponse'
        '400':
          description: Invalid request or unsupported parameters.
        '404':
          description: Model not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/files:
    post:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - POST /v1/files
      description: Upload a file that can be used across various endpoints.
      operationId: upload_v1_files_post
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_v1_files_post'
            examples:
              assistants:
                summary: Upload for Assistants API
                value:
                  purpose: assistants
              batch:
                summary: Upload for Batch API (expires after 30 days)
                value:
                  purpose: batch
              fine-tune:
                summary: Upload for fine-tuning
                value:
                  purpose: fine-tune
      responses:
        '200':
          description: The uploaded File object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileObject'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - GET /v1/files
      description: Returns a list of files.
      operationId: list_files_endpoint_v1_files_get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: purpose
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Only return files with the given purpose.
          title: Purpose
        description: Only return files with the given purpose.
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^file[-_][a-z2-7]{32}$
          - type: 'null'
          description: A cursor for use in pagination. `after` is an object ID that
            defines your place in the list. For instance, if you make a list request
            and receive 100 objects, ending with obj_foo, your subsequent call can
            include after=obj_foo in order to fetch the next page of the list.
          title: After
        description: A cursor for use in pagination. `after` is an object ID that
          defines your place in the list. For instance, if you make a list request
          and receive 100 objects, ending with obj_foo, your subsequent call can include
          after=obj_foo in order to fetch the next page of the list.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 10000
          minimum: 1
          description: A limit on the number of objects to be returned. Limit can
            range between 1 and 10,000, and the default is 10,000.
          default: 10000
          title: Limit
        description: A limit on the number of objects to be returned. Limit can range
          between 1 and 10,000, and the default is 10,000.
      - name: order
        in: query
        required: false
        schema:
          enum:
          - asc
          - desc
          type: string
          description: Sort order by the `created_at` timestamp of the objects. `asc`
            for ascending order and `desc` for descending order.
          default: desc
          title: Order
        description: Sort order by the `created_at` timestamp of the objects. `asc`
          for ascending order and `desc` for descending order.
      responses:
        '200':
          description: A list of File objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFilesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/files/{file_id}:
    get:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - GET /v1/files/{file_id}
      description: Returns information about a specific file.
      operationId: retrieve_file_v1_files__file_id__get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: The ID of the file to use for this request.
          title: File Id
        description: The ID of the file to use for this request.
      responses:
        '200':
          description: The File object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileObject'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - DELETE /v1/files/{file_id}
      description: Delete a file.
      operationId: delete_file_endpoint_v1_files__file_id__delete
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: The ID of the file to use for this request.
          title: File Id
        description: The ID of the file to use for this request.
      responses:
        '200':
          description: Deletion status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileDeleted'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/files/{file_id}/content:
    get:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - GET /v1/files/{file_id}/content
      description: Returns the contents of the specified file.
      operationId: get_content_v1_files__file_id__content_get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^file[-_][a-z2-7]{32}$
          description: The ID of the file to use for this request.
          title: File Id
        description: The ID of the file to use for this request.
      responses:
        '200':
          description: The raw file content.
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/images/edits:
    post:
      tags:
      - Images
      - OpenAI
      summary: OpenAI - /v1/images/edits
      description: Creates an edited or extended image given one or more source images
        and a prompt.
      operationId: edit_images_v1_images_edits_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_edit_images_v1_images_edits_post'
            examples:
              inpaint:
                summary: Inpaint with mask
                value:
                  model: amazon.nova-canvas-v1:0
                  prompt: A red apple on a wooden table
                  response_format: url
                  n: 1
                  size: 1024x1024
              stream:
                summary: Streaming response
                value:
                  model: amazon.nova-canvas-v1:0
                  prompt: A sunset over mountains
                  stream: true
                  partial_images: 2
          application/json:
            examples:
              file_id:
                summary: Edit image by Files API ID
                value:
                  model: amazon.nova-canvas-v1:0
                  prompt: A red apple on a wooden table
                  images:
                  - file_id: file-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                  response_format: url
                  n: 1
                  size: 1024x1024
              image_url:
                summary: Edit image by URL
                value:
                  model: amazon.nova-canvas-v1:0
                  prompt: A sunset over mountains
                  images:
                  - image_url: https://example.com/image.png
                  stream: true
                  partial_images: 2
      responses:
        '200':
          description: Images successfully edited.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid request or unsupported parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/images/generations:
    post:
      tags:
      - Images
      - OpenAI
      summary: OpenAI - /v1/images/generations
      description: Creates an image given a prompt.
      operationId: create_images_v1_images_generations_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerateParams'
            examples:
              url:
                summary: Return image URL
                value:
                  prompt: A watercolor of a fox in the woods
                  model: amazon.nova-canvas-v1:0
                  response_format: url
              b64:
                summary: Return base64 data
                value:
                  prompt: A watercolor of a fox in the woods
                  model: amazon.nova-canvas-v1:0
                  response_format: b64_json
              stream:
                summary: Streaming SSE
                value:
                  prompt: A watercolor of a fox in the woods
                  model: amazon.nova-canvas-v1:0
                  stream: true
        required: true
      responses:
        '200':
          description: Images successfully generated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
        '400':
          description: Invalid request or unsupported parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/images/variations:
    post:
      tags:
      - Images
      - OpenAI
      summary: OpenAI - /v1/images/variations
      description: Creates a variation of a given image.
      operationId: create_image_variations_v1_images_variations_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_image_variations_v1_images_variations_post'
            examples:
              url:
                summary: Return image URL
                value:
                  model: amazon.nova-canvas-v1:0
                  response_format: url
                  n: 1
                  size: 1024x1024
              b64:
                summary: Return base64 data
                value:
                  model: amazon.nova-canvas-v1:0
                  response_format: b64_json
                  n: 2
                  size: 512x512
          application/json:
            examples:
              file_id:
                summary: Variation from Files API ID
                value:
                  model: amazon.nova-canvas-v1:0
                  image:
                    file_id: file-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                  response_format: url
                  n: 1
                  size: 1024x1024
              image_url:
                summary: Variation from URL
                value:
                  model: amazon.nova-canvas-v1:0
                  image:
                    image_url: https://example.com/image.png
                  response_format: b64_json
                  n: 2
                  size: 512x512
      responses:
        '200':
          description: Image variations successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
        '400':
          description: Invalid request or unsupported parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/models:
    get:
      tags:
      - Models
      - OpenAI
      summary: OpenAI - /v1/models
      description: Lists the currently available models, and provides basic information
        about each one such as the owner and availability.
      operationId: list_models_v1_models_get
      responses:
        '200':
          description: List of available models.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelsResponse'
              examples:
                list:
                  summary: Example list
                  value:
                    object: list
                    data:
                    - id: amazon.nova-micro-v1:0
                      object: model
                      created: 1640995200
                      owned_by: Amazon (AWS Bedrock us-east-1)
                    - id: amazon.titan-embed-text-v2:0
                      object: model
                      created: 1640995200
                      owned_by: Amazon (AWS Bedrock eu-west-3)
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/models/{model}:
    get:
      tags:
      - Models
      - OpenAI
      summary: OpenAI - /v1/models/{model}
      description: Retrieves a model instance, providing basic information about the
        model such as the owner.
      operationId: retrieve_model_v1_models__model__get
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: model
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 255
          description: The ID of the model to use for this request
          examples:
          - amazon.nova-micro-v1:0
          str_strip_whitespace: true
          title: Model
        description: The ID of the model to use for this request
      responses:
        '200':
          description: Model retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
              examples:
                model:
                  summary: Example model
                  value:
                    id: amazon.nova-micro-v1:0
                    object: model
                    created: 1640995200
                    owned_by: Amazon (AWS Bedrock us-east-1)
        '404':
          description: Model not found
          content:
            application/json:
              examples:
                not_found:
                  summary: Model not found
                  value:
                    error:
                      message: The model `unknown` does not exist or you do not have
                        access to it.
                      type: invalid_request_error
                      code: model_not_found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/uploads:
    post:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - POST /v1/uploads
      description: 'Creates an intermediate Upload object that you can add Parts to.


        Once you complete the Upload, we will create a File object that contains all
        the parts you uploaded.This File is usable in the rest of our platform as
        a regular File object.'
      operationId: create_upload_endpoint_v1_uploads_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUploadBody'
        required: true
      responses:
        '200':
          description: The Upload object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Upload'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
  /v1/uploads/{upload_id}/parts:
    post:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - POST /v1/uploads/{upload_id}/parts
      description: Adds a Part to an Upload object.
      operationId: add_upload_part_v1_uploads__upload_id__parts_post
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: upload_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^upload_[a-z2-7]{32}$
          description: The ID of the upload.
          title: Upload Id
        description: The ID of the upload.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_add_upload_part_v1_uploads__upload_id__parts_post'
      responses:
        '200':
          description: The upload Part object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadPart'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/uploads/{upload_id}/complete:
    post:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - POST /v1/uploads/{upload_id}/complete
      description: Completes the Upload. Only call this when all parts have been uploaded.
      operationId: complete_upload_endpoint_v1_uploads__upload_id__complete_post
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: upload_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^upload_[a-z2-7]{32}$
          description: The ID of the upload.
          title: Upload Id
        description: The ID of the upload.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteUploadBody'
      responses:
        '200':
          description: The completed Upload object with a nested File object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Upload'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/uploads/{upload_id}/cancel:
    post:
      tags:
      - Files
      - OpenAI
      summary: OpenAI - POST /v1/uploads/{upload_id}/cancel
      description: Cancels the Upload. No Parts may be added after an Upload is cancelled.
      operationId: cancel_upload_endpoint_v1_uploads__upload_id__cancel_post
      security:
      - HTTPBearer: []
      - APIKeyHeader: []
      parameters:
      - name: upload_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^upload_[a-z2-7]{32}$
          description: The ID of the upload.
          title: Upload Id
        description: The ID of the upload.
      responses:
        '200':
          description: The cancelled Upload object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Upload'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AmazonBedrockGuardrailConfigParams:
      properties:
        tagSuffix:
          anyOf:
          - type: string
          - type: 'null'
          title: Tagsuffix
          description: 'Include this field for Amazon Bedrock Guardrail input tagging.

            UNSUPPORTED on this implementation.'
      type: object
      title: AmazonBedrockGuardrailConfigParams
      description: Amazon Bedrock Guardrail configuration parameters.
    Annotation:
      properties:
        type:
          type: string
          const: url_citation
          title: Type
          description: The type of the URL citation. Always `url_citation`.
        url_citation:
          $ref: '#/components/schemas/AnnotationURLCitation'
      additionalProperties: false
      type: object
      required:
      - type
      - url_citation
      title: Annotation
      description: Annotation for the message when using web search.
    AnnotationURLCitation:
      properties:
        end_index:
          type: integer
          minimum: 0.0
          title: End Index
          description: The index of the last character of the URL citation in the
            message.
        start_index:
          type: integer
          minimum: 0.0
          title: Start Index
          description: The index of the first character of the URL citation in the
            message.
        title:
          type: string
          title: Title
          description: The title of the web resource.
        url:
          type: string
          title: Url
          description: The URL of the web resource.
      additionalProperties: false
      type: object
      required:
      - end_index
      - start_index
      - title
      - url
      title: AnnotationURLCitation
      description: A URL citation when using web search.
    Audio:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for a previous audio response from the model.
      type: object
      required:
      - id
      title: Audio
      description: Data about a previous audio response from the model.
    Base64ImageSource:
      properties:
        type:
          type: string
          const: base64
          title: Type
          description: Image source type. Always `base64`.
        media_type:
          type: string
          enum:
          - image/jpeg
          - image/png
          - image/gif
          - image/webp
          title: Media Type
          description: Image media type.
        data:
          type: string
          minLength: 1
          title: Data
          description: Base64 encoded image data (or data URI, S3 URI or URL).
      type: object
      required:
      - type
      - media_type
      - data
      title: Base64ImageSource
      description: Image source for image content block.
    Base64PDFSource:
      properties:
        type:
          type: string
          const: base64
          title: Type
          description: Document source type. Always `base64`.
        media_type:
          type: string
          const: application/pdf
          title: Media Type
          description: Document media type. Only `application/pdf` is supported.
        data:
          type: string
          minLength: 1
          title: Data
          description: Base64 encoded document data (or data URI, S3 URI or URL).
      type: object
      required:
      - type
      - media_type
      - data
      title: Base64PDFSource
      description: Document source for document content block.
    BashCodeExecutionOutputBlock:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: bash_code_execution_output
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - file_id
      - type
      title: BashCodeExecutionOutputBlock
      description: Bash code execution output block.
    BashCodeExecutionOutputBlockParam:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: bash_code_execution_output
          title: Type
          description: The type discriminator.
      type: object
      required:
      - file_id
      - type
      title: BashCodeExecutionOutputBlockParam
      description: Bash code execution output block parameter.
    BashCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/BashCodeExecutionOutputBlock'
          type: array
          title: Content
          description: The content of the block.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        stdout:
          type: string
          title: Stdout
          description: Standard output.
        type:
          type: string
          const: bash_code_execution_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - return_code
      - stderr
      - stdout
      - type
      title: BashCodeExecutionResultBlock
      description: Bash code execution result block.
    BashCodeExecutionResultBlockParam:
      properties:
        content:
          items:
            $ref: '#/components/schemas/BashCodeExecutionOutputBlockParam'
          type: array
          title: Content
          description: The content of the block.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        stdout:
          type: string
          title: Stdout
          description: Standard output.
        type:
          type: string
          const: bash_code_execution_result
          title: Type
          description: The type discriminator.
      type: object
      required:
      - content
      - return_code
      - stderr
      - stdout
      - type
      title: BashCodeExecutionResultBlockParam
      description: Bash code execution result block parameter.
    BashCodeExecutionToolResultBlock-Input:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/BashCodeExecutionToolResultError'
          - $ref: '#/components/schemas/BashCodeExecutionResultBlock'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: bash_code_execution_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: BashCodeExecutionToolResultBlock
      description: Bash code execution tool result block.
    BashCodeExecutionToolResultBlock-Output:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/BashCodeExecutionToolResultError'
          - $ref: '#/components/schemas/BashCodeExecutionResultBlock'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: bash_code_execution_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: BashCodeExecutionToolResultBlock
      description: Bash code execution tool result block.
    BashCodeExecutionToolResultBlockParam:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/BashCodeExecutionToolResultErrorParam'
          - $ref: '#/components/schemas/BashCodeExecutionResultBlockParam'
          title: Content
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: bash_code_execution_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: BashCodeExecutionToolResultBlockParam
      description: Bash code execution tool result block parameter.
    BashCodeExecutionToolResultError:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - unavailable
          - too_many_requests
          - execution_time_exceeded
          - output_file_too_large
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: bash_code_execution_tool_result_error
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: BashCodeExecutionToolResultError
      description: Bash code execution tool result error.
    BashCodeExecutionToolResultErrorParam:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - unavailable
          - too_many_requests
          - execution_time_exceeded
          - output_file_too_large
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: bash_code_execution_tool_result_error
          title: Type
          description: The type discriminator.
      type: object
      required:
      - error_code
      - type
      title: BashCodeExecutionToolResultErrorParam
      description: Bash code execution tool result error parameter.
    Body_add_upload_part_v1_uploads__upload_id__parts_post:
      properties:
        data:
          type: string
          contentMediaType: application/octet-stream
          title: Data
          description: The chunk of bytes for this Part.
      type: object
      required:
      - data
      title: Body_add_upload_part_v1_uploads__upload_id__parts_post
    Body_create_image_variations_v1_images_variations_post:
      properties:
        image:
          anyOf:
          - type: string
            contentMediaType: application/octet-stream
          - type: 'null'
          title: Image
          description: The image to use as the basis for the variation(s). Accepts
            a binary file upload. For Files API identifiers or URLs, use ``application/json``
            body instead.
        model:
          type: string
          maxLength: 255
          minLength: 1
          title: Model
          description: The model to use for image generation.
          default: ''
        response_format:
          type: string
          title: Response Format
          description: 'The format in which the generated images are returned. Must
            be one of url or b64_json. URLs are only valid for 60 minutes after the
            image has been generated.

            This parameter isn''t supported with streaming which will always return
            base64-encoded images.'
          default: url
        n:
          type: integer
          maximum: 10.0
          minimum: 1.0
          title: N
          description: The number of images to generate.
          default: 1
        size:
          type: string
          pattern: ^(\d+)x(\d+)$
          title: Size
          description: 'The size of the generated images.

            Supported values depend on the model. With some models, output size may
            be different.'
          default: 1024x1024
        user:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: User
          description: A unique identifier representing your end-user, which can help
            to monitor and detect abuse.
      type: object
      title: Body_create_image_variations_v1_images_variations_post
    Body_create_transcription_v1_audio_transcriptions_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
          description: 'The audio file object (not file name) to transcribe, in one
            of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.'
        model:
          type: string
          title: Model
          description: 'The transcription model to use.

            Available models: amazon.transcribe'
          default: amazon.transcribe
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
          description: 'The language of the input audio.

            Supplying the input language in ISO-639-1 (e.g. `en`) format will improve
            accuracy and latency.'
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
          description: 'An optional text to guide the model''s style or continue a
            previous audio segment.

            The prompt should match the audio language.'
        chunking_strategy:
          anyOf:
          - type: string
            const: auto
          - $ref: '#/components/schemas/ChunkingStrategyVadConfig'
          title: Chunking Strategy
          description: 'Controls how the audio is cut into chunks.

            When set to `auto`, the server first normalizes loudness and then uses
            voice activity detection (VAD) to choose boundaries. `server_vad` object
            can be provided to tweak VAD detection parameters manually. If unset,
            the audio is transcribed as a single block.

            UNSUPPORTED on this implementation.'
          default: auto
        response_format:
          type: string
          enum:
          - json
          - text
          - srt
          - verbose_json
          - vtt
          - diarized_json
          title: Response Format
          description: 'The format of the transcript output.

            Supported formats: `json`, `text`, `srt`, `verbose_json`, `vtt`'
          default: json
        timestamp_granularities:
          type: string
          title: Timestamp Granularities
          description: 'Comma-separated list of timestamp granularities to populate
            for this transcription (e.g. `word,segment`).

            `response_format` must be set to `verbose_json` to use timestamp granularities.

            Either or both of these options are supported: `word`, or `segment`.'
          default: ''
        include:
          anyOf:
          - type: string
            const: logprobs
          - type: 'null'
          title: Include
          description: 'Additional information to include in the transcription response.

            `logprobs` will return the log probabilities of the tokens in the response
            to understand the model''s confidence in the transcription. `logprobs`
            only works with response_format set to `json`.'
        temperature:
          anyOf:
          - type: number
          - type: 'null'
          title: Temperature
          description: 'The sampling temperature, between `0` and `1`.

            Higher values like `0.8` will make the output more random, while lower
            values like `0.2` will make it more focused and deterministic.'
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Stream
          description: If set to true, the model response data will be streamed to
            the client as it is generated using server-sent events.
          default: false
        known_speaker_names:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Known Speaker Names
          description: 'Optional list of speaker names that correspond to the audio
            samples provided in `known_speaker_references[]`. Each entry should be
            a short identifier (for example `customer` or `agent`).

            UNSUPPORTED on this implementation.'
        known_speaker_references:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Known Speaker References
          description: 'Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs))
            that contain known speaker references matching `known_speaker_names[]`.
            Each sample must be between 2 and 10 seconds, and can use any of the same
            input audio formats supported by `file`.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - file
      title: Body_create_transcription_v1_audio_transcriptions_post
    Body_create_translation_v1_audio_translations_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
          description: 'The audio file object (not file name) to translate, in one
            of these formats: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm'
        model:
          type: string
          title: Model
          description: 'The transcription model to use.

            Available models: amazon.transcribe'
          default: amazon.transcribe
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
          description: 'An optional text to guide the model''s style or continue a
            previous audio segment.

            The prompt should be in English.

            UNSUPPORTED on this implementation.'
        response_format:
          type: string
          enum:
          - json
          - text
          - srt
          - verbose_json
          - vtt
          title: Response Format
          description: 'The format of the transcript output.

            Supported formats: `json`, `text`, `srt`, `verbose_json`, `vtt`'
          default: json
        temperature:
          anyOf:
          - type: number
          - type: 'null'
          title: Temperature
          description: 'The sampling temperature, between `0` and `1`.

            Higher values like `0.8` will make the output more random, while lower
            values like `0.2` will make it more focused and deterministic.'
      type: object
      required:
      - file
      title: Body_create_translation_v1_audio_translations_post
    Body_edit_images_v1_images_edits_post:
      properties:
        image:
          anyOf:
          - items:
              type: string
              contentMediaType: application/octet-stream
            type: array
          - type: 'null'
          title: Image
          description: The image(s) to edit. Accepts binary file uploads. For Files
            API identifiers or URLs, use ``application/json`` body instead.
        prompt:
          type: string
          title: Prompt
          description: A text description of the desired image(s). Required for a
            majority of models.
          default: ''
        model:
          type: string
          maxLength: 255
          minLength: 1
          title: Model
          description: The model to use for image generation.
          default: ''
        mask:
          anyOf:
          - type: string
            contentMediaType: application/octet-stream
          - type: 'null'
          title: Mask
          description: An additional image indicating where the image should be edited.
            The mask format is model-specific and may be a black/white image or an
            image with transparency (e.g. where alpha is zero indicates areas to edit).
        response_format:
          type: string
          title: Response Format
          description: 'The format in which the generated images are returned. Must
            be one of url or b64_json. URLs are only valid for 60 minutes after the
            image has been generated.

            This parameter isn''t supported with streaming which will always return
            base64-encoded images.'
          default: url
        n:
          type: integer
          maximum: 10.0
          minimum: 1.0
          title: N
          description: The number of images to generate.
          default: 1
        size:
          type: string
          pattern: ^(\d+)x(\d+)$
          title: Size
          description: 'The size of the generated images.

            Supported values depend on the model. With some models, output size may
            be different.'
          default: 1024x1024
        user:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: User
          description: A unique identifier representing your end-user, which can help
            to monitor and detect abuse.
        background:
          anyOf:
          - type: string
            const: auto
          - type: string
            enum:
            - transparent
            - opaque
          title: Background
          description: 'Allows to set transparency for the background of the generated
            image(s).

            If `transparent`, the output format needs to support transparency, so
            it should be set to either `png` (default value) or `webp`.

            transparent is UNSUPPORTED on this implementation.'
          default: auto
        input_fidelity:
          type: string
          enum:
          - low
          - high
          title: Input Fidelity
          description: 'Control how much effort the model will exert to match the
            style and features, especially facial features, of input images.

            UNSUPPORTED on this implementation.'
          default: low
        output_compression:
          type: integer
          maximum: 100.0
          minimum: 1.0
          title: Output Compression
          description: The compression level (0-100%) for the generated images.
          default: 100
        output_format:
          anyOf:
          - type: string
            enum:
            - png
            - jpeg
            - webp
          - type: 'null'
          title: Output Format
          description: The format in which the generated images are returned. Must
            be one of `png`, `jpeg`, or `webp`.
        partial_images:
          anyOf:
          - type: integer
            maximum: 3.0
            minimum: 0.0
          - type: 'null'
          title: Partial Images
          description: 'The number of partial images to generate.

            This parameter is used for streaming responses that return partial images.
            Value must be between 0 and 3. When set to 0, the response will be a single
            image sent in one streaming event.

            Note that the final image may be sent before the full number of partial
            images are generated if the full image is generated more quickly.

            Partial images are only sent if the model supports it.'
        quality:
          type: string
          maxLength: 255
          minLength: 1
          title: Quality
          description: 'The quality of the image that will be generated.

            `auto` (default value) will automatically select the best quality for
            the given model.

            Supported values depend on the model.'
          default: auto
        stream:
          type: boolean
          title: Stream
          description: Generate the image in streaming mode.
          default: false
      type: object
      title: Body_edit_images_v1_images_edits_post
    Body_upload_anthropic_v1_files_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
          description: The file to upload.
      type: object
      required:
      - file
      title: Body_upload_anthropic_v1_files_post
    Body_upload_v1_files_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
          description: The File object (not file name) to be uploaded.
        purpose:
          type: string
          enum:
          - assistants
          - batch
          - fine-tune
          - vision
          - user_data
          - evals
          title: Purpose
          description: 'The intended purpose of the uploaded file.


            Supported values:

            - `assistants`: Used in the Assistants API

            - `batch`: Used in the Batch API

            - `fine-tune`: Used for fine-tuning

            - `vision`: Images used for vision fine-tuning

            - `user_data`: Flexible file type for any purpose

            - `evals`: Used for eval data sets'
          default: assistants
        expires_after[anchor]:
          anyOf:
          - type: string
            const: created_at
          - type: 'null'
          title: Expires After[Anchor]
          description: 'Anchor timestamp after which the expiration policy applies.
            Supported anchors: `created_at`.'
        expires_after[seconds]:
          anyOf:
          - type: integer
            maximum: 2592000.0
            minimum: 3600.0
          - type: 'null'
          title: Expires After[Seconds]
          description: 'The number of seconds after the anchor time that the file
            will expire.

            Must be between 3600 (1 hour) and 2592000 (30 days).

            By default, files with `purpose=batch` expire after 30 days and all other
            files are persisted until they are manually deleted.'
      type: object
      required:
      - file
      title: Body_upload_v1_files_post
    CacheControlEphemeralParam:
      properties:
        type:
          type: string
          const: ephemeral
          title: Type
          description: Cache control type. Always `ephemeral`.
          default: ephemeral
        ttl:
          anyOf:
          - type: string
            enum:
            - 5m
            - 1h
          - type: 'null'
          title: Ttl
          description: The time-to-live for the cache control breakpoint.
      type: object
      title: CacheControlEphemeralParam
      description: Cache control configuration for prompt caching.
    CacheCreation:
      properties:
        ephemeral_1h_input_tokens:
          type: integer
          title: Ephemeral 1H Input Tokens
          description: The number of input tokens used to create the 1 hour cache
            entry.
        ephemeral_5m_input_tokens:
          type: integer
          title: Ephemeral 5M Input Tokens
          description: The number of input tokens used to create the 5 minute cache
            entry.
      additionalProperties: false
      type: object
      required:
      - ephemeral_1h_input_tokens
      - ephemeral_5m_input_tokens
      title: CacheCreation
      description: Cache creation token usage breakdown.
    ChatCompletion:
      properties:
        id:
          type: string
          title: Id
          description: A unique identifier for the chat completion.
        created:
          type: integer
          title: Created
          description: The Unix timestamp (in seconds) of when the chat completion
            was created.
        model:
          type: string
          title: Model
          description: The model used for the chat completion.
        usage:
          anyOf:
          - $ref: '#/components/schemas/CompletionUsage'
          - type: 'null'
          description: Usage statistics for the completion request.
        service_tier:
          anyOf:
          - type: string
            enum:
            - auto
            - default
            - flex
            - scale
            - priority
            - reserved
          - type: 'null'
          title: Service Tier
          description: 'Specifies the processing type used for serving the request.

            Values: ''auto'', ''priority'' (mission-critical), ''flex'' (business-noncritical),
            ''default''/''scale'' (business-standard).'
        system_fingerprint:
          anyOf:
          - type: string
          - type: 'null'
          title: System Fingerprint
          description: 'This fingerprint represents the backend configuration that
            the model runs with.

            Can be used in conjunction with the `seed` request parameter to understand
            when backend changes have been made that might impact determinism.'
        choices:
          items:
            $ref: '#/components/schemas/Choice'
          type: array
          title: Choices
          description: A list of chat completion choices. Can be more than one if
            `n` is greater than 1.
        object:
          type: string
          const: chat.completion
          title: Object
          description: The object type, which is always `chat.completion`.
      additionalProperties: false
      type: object
      required:
      - id
      - created
      - model
      - choices
      - object
      title: ChatCompletion
      description: OpenAI-compatible chat completion object (non-streaming).
    ChatCompletionAllowedToolChoiceParam:
      properties:
        type:
          type: string
          const: allowed_tools
          title: Type
          description: Allowed tools choice type. Always `allowed_tools`.
        allowed_tools:
          $ref: '#/components/schemas/ChatCompletionAllowedToolsParam'
          description: Constrains the tools available to the model to a pre-defined
            set.
      type: object
      required:
      - type
      - allowed_tools
      title: ChatCompletionAllowedToolChoiceParam
      description: Allowed tools list choice. Used by OpenAI; mapped to auto in this
        project.
    ChatCompletionAllowedToolsParam:
      properties:
        mode:
          type: string
          enum:
          - auto
          - required
          title: Mode
          description: 'Constrains the tools available to the model to a pre-defined
            set.

            `auto` allows the model to pick from among the allowed tools and generate
            a message.

            `required` requires the model to call one or more of the allowed tools.'
        tools:
          items:
            oneOf:
            - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
            - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceCustomParam'
            discriminator:
              propertyName: type
              mapping:
                custom: '#/components/schemas/ChatCompletionNamedToolChoiceCustomParam'
                function: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
          type: array
          title: Tools
          description: A list of tool definitions that the model should be allowed
            to call.
      type: object
      required:
      - mode
      - tools
      title: ChatCompletionAllowedToolsParam
      description: Allowed tools for function tools.
    ChatCompletionAssistantMessageParam:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: 'An optional name for the participant.

            Provides the model information to differentiate between participants of
            the same role.'
        role:
          type: string
          const: assistant
          title: Role
          description: The role of the messages author. Always `assistant`.
        audio:
          anyOf:
          - $ref: '#/components/schemas/Audio'
          - type: 'null'
          description: Data about a previous audio response from the model.
        content:
          anyOf:
          - type: string
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              - $ref: '#/components/schemas/ChatCompletionContentPartRefusalParam'
              discriminator:
                propertyName: type
                mapping:
                  refusal: '#/components/schemas/ChatCompletionContentPartRefusalParam'
                  text: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          - type: 'null'
          title: Content
          description: The contents of the assistant message. Required unless `tool_calls`
            or `function_call` is specified.
        function_call:
          anyOf:
          - $ref: '#/components/schemas/FunctionCall'
          - type: 'null'
          description: Deprecated and replaced by `tool_calls`. The name and arguments
            of a function that should be called.
        refusal:
          anyOf:
          - type: string
          - type: 'null'
          title: Refusal
          description: The refusal message by the assistant.
        tool_calls:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChatCompletionMessageFunctionToolCall'
              - $ref: '#/components/schemas/ChatCompletionMessageCustomToolCall'
              discriminator:
                propertyName: type
                mapping:
                  custom: '#/components/schemas/ChatCompletionMessageCustomToolCall'
                  function: '#/components/schemas/ChatCompletionMessageFunctionToolCall'
            type: array
          - type: 'null'
          title: Tool Calls
          description: The tool calls generated by the model, such as function calls.
        reasoning_content:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          - type: 'null'
          title: Reasoning Content
          description: 'The reasoning contents of the assistant message.

            Extra field from Deepseek Chat Completion API.'
        prefix:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Prefix
          description: 'Set this to true to force the model to start its answer by
            the content of the supplied prefix in this assistant message.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - role
      title: ChatCompletionAssistantMessageParam
      description: Assistant role message.
    ChatCompletionAudio:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for this audio response.
        data:
          type: string
          title: Data
          description: Base64 encoded audio bytes generated by the model, in the format
            specified in the request.
        expires_at:
          type: integer
          minimum: 0.0
          title: Expires At
          description: The Unix timestamp (in seconds) for when this audio response
            will no longer be accessible on the server.
        transcript:
          type: string
          title: Transcript
          description: Transcript of the audio generated by the model.
      additionalProperties: false
      type: object
      required:
      - id
      - data
      - expires_at
      - transcript
      title: ChatCompletionAudio
      description: If audio output modality is requested, contains data about the
        audio response.
    ChatCompletionAudioParam:
      properties:
        format:
          type: string
          enum:
          - wav
          - aac
          - mp3
          - flac
          - opus
          - pcm16
          title: Format
          description: Specifies the output audio format. Must be one of `wav`, `aac`,
            `mp3`, `flac`, `opus`, or `pcm16`.
        voice:
          type: string
          title: Voice
          description: The voice the model uses to respond.
      type: object
      required:
      - format
      - voice
      title: ChatCompletionAudioParam
      description: Parameters for audio output.
    ChatCompletionContentPartImageParam:
      properties:
        type:
          type: string
          const: image_url
          title: Type
          description: Content part type. Always `image_url`.
        image_url:
          $ref: '#/components/schemas/ImageURL'
          description: URL descriptor containing the image `url` field.
      type: object
      required:
      - type
      - image_url
      title: ChatCompletionContentPartImageParam
      description: Image message content part (via URL).
    ChatCompletionContentPartInputAudioParam:
      properties:
        input_audio:
          $ref: '#/components/schemas/InputAudio'
          description: Descriptor containing the audio data.
        type:
          type: string
          const: input_audio
          title: Type
          description: The type of the content part. Always `input_audio`.
      type: object
      required:
      - input_audio
      - type
      title: ChatCompletionContentPartInputAudioParam
      description: Input audio message content part.
    ChatCompletionContentPartRefusalParam:
      properties:
        type:
          type: string
          const: refusal
          title: Type
          description: Content part type. Always `refusal`.
        refusal:
          type: string
          title: Refusal
          description: Refusal content text.
      type: object
      required:
      - type
      - refusal
      title: ChatCompletionContentPartRefusalParam
      description: Refusal message content part.
    ChatCompletionContentPartTextParam:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: Content part type. Always `text`.
        text:
          type: string
          title: Text
          description: Text content of the message part.
      type: object
      required:
      - type
      - text
      title: ChatCompletionContentPartTextParam
      description: Text message content part.
    ChatCompletionCustomToolParam:
      properties:
        type:
          type: string
          const: custom
          title: Type
          description: 'The type of the custom tool. Always `custom`.

            UNSUPPORTED on this implementation.'
        custom:
          $ref: '#/components/schemas/Custom'
          description: 'Properties of the custom tool.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - type
      - custom
      title: ChatCompletionCustomToolParam
      description: 'Custom tool specification.


        UNSUPPORTED on this implementation.'
    ChatCompletionDeveloperMessageParam:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: 'An optional name for the participant.

            Provides the model information to differentiate between participants of
            the same role.'
        role:
          type: string
          const: developer
          title: Role
          description: The role of the message author. Always `developer`.
        content:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          title: Content
          description: The contents of the developer message.
      type: object
      required:
      - role
      - content
      title: ChatCompletionDeveloperMessageParam
      description: Developer role message.
    ChatCompletionFunctionMessageParam:
      properties:
        role:
          type: string
          const: function
          title: Role
          description: The role of the message author. Always `function`.
        name:
          type: string
          title: Name
          description: The name of the function to call.
        content:
          anyOf:
          - type: string
          - type: 'null'
          title: Content
          description: The contents of the function message.
      type: object
      required:
      - role
      - name
      - content
      title: ChatCompletionFunctionMessageParam
      description: Function role message.
    ChatCompletionFunctionToolParam:
      properties:
        type:
          type: string
          const: function
          title: Type
          description: The type of the tool. Always `function`.
        function:
          $ref: '#/components/schemas/FunctionDefinition'
          description: Function definition.
      type: object
      required:
      - type
      - function
      title: ChatCompletionFunctionToolParam
      description: Function tool specification.
    ChatCompletionMessage:
      properties:
        role:
          type: string
          const: assistant
          title: Role
          description: The role of the author of this message. Always `assistant`.
        content:
          anyOf:
          - type: string
          - type: 'null'
          title: Content
          description: The contents of the message.
        refusal:
          anyOf:
          - type: string
          - type: 'null'
          title: Refusal
          description: The refusal message generated by the model.
        annotations:
          anyOf:
          - items:
              $ref: '#/components/schemas/Annotation'
            type: array
          - type: 'null'
          title: Annotations
          description: Annotations for the message, when applicable, as when using
            the web search tool.
        audio:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionAudio'
          - type: 'null'
          description: If the audio output modality is requested, contains data about
            the audio response from the model.
        function_call:
          anyOf:
          - $ref: '#/components/schemas/FunctionCall'
          - type: 'null'
          description: Deprecated and replaced by `tool_calls`. The name and arguments
            of a function that should be called.
          deprecated: true
        tool_calls:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChatCompletionMessageFunctionToolCall'
              - $ref: '#/components/schemas/ChatCompletionMessageCustomToolCall'
              discriminator:
                propertyName: type
                mapping:
                  custom: '#/components/schemas/ChatCompletionMessageCustomToolCall'
                  function: '#/components/schemas/ChatCompletionMessageFunctionToolCall'
            type: array
          - type: 'null'
          title: Tool Calls
          description: The tool calls generated by the model, such as function calls.
        reasoning_content:
          anyOf:
          - type: string
          - type: 'null'
          title: Reasoning Content
          description: 'The reasoning contents of the message.

            Extra field from Deepseek Chat Completion API.'
      additionalProperties: false
      type: object
      required:
      - role
      title: ChatCompletionMessage
      description: Assistant message object in the non-streaming ChatCompletion.
    ChatCompletionMessageCustomToolCall:
      properties:
        type:
          type: string
          const: custom
          title: Type
          description: 'The type of the tool. Always `custom` for custom tools.

            UNSUPPORTED on this implementation.'
        custom:
          $ref: '#/components/schemas/CustomTool'
          description: 'The custom tool that the model called.

            UNSUPPORTED on this implementation.'
        id:
          type: string
          title: Id
          description: The ID of the tool call.
      additionalProperties: false
      type: object
      required:
      - type
      - custom
      - id
      title: ChatCompletionMessageCustomToolCall
      description: 'Assistant tool call for a custom tool.


        UNSUPPORTED on this implementation.'
    ChatCompletionMessageFunctionToolCall:
      properties:
        type:
          type: string
          const: function
          title: Type
          description: The type of the tool. Always `function` for function tools.
        function:
          $ref: '#/components/schemas/FunctionCall'
          description: The function that the model called.
        id:
          type: string
          title: Id
          description: The ID of the tool call.
      additionalProperties: false
      type: object
      required:
      - type
      - function
      - id
      title: ChatCompletionMessageFunctionToolCall
      description: Assistant tool call for a function tool.
    ChatCompletionNamedToolChoiceCustomParam:
      properties:
        type:
          type: string
          const: custom
          title: Type
          description: 'For custom tool calling, the type is always `custom`.

            UNSUPPORTED on this implementation.'
        custom:
          $ref: '#/components/schemas/CustomToolChoice'
          description: 'The custom tool to call by name.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - type
      - custom
      title: ChatCompletionNamedToolChoiceCustomParam
      description: 'Named tool choice for custom tools.


        UNSUPPORTED on this implementation.'
    ChatCompletionNamedToolChoiceParam:
      properties:
        type:
          type: string
          const: function
          title: Type
          description: For function calling, the type is always `function`.
        function:
          $ref: '#/components/schemas/FunctionToolChoiceParam'
      type: object
      required:
      - type
      - function
      title: ChatCompletionNamedToolChoiceParam
      description: Named tool choice for function tools.
    ChatCompletionPredictionContentParam:
      properties:
        type:
          type: string
          const: content
          title: Type
          description: The type of the predicted content. Always `content`.
        content:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          title: Content
          description: The content that should be matched when generating a model
            response. If generated tokens would match this content, the entire model
            response can be returned much more quickly.
      type: object
      required:
      - type
      - content
      title: ChatCompletionPredictionContentParam
      description: Predicted content hint to speed up responses.
    ChatCompletionStreamOptionsParam:
      properties:
        include_usage:
          type: boolean
          title: Include Usage
          description: 'If set, an additional chunk will be streamed before the `data:
            [DONE]` message.

            The `usage` field on this chunk shows the token usage statistics for the
            entire request, and the `choices` field will always be an empty array.

            All other chunks will also include a `usage` field, but with a null value.

            **NOTE:** If the stream is interrupted, you may not receive the final
            usage chunk which contains the total token usage for the request.'
          default: false
        include_obfuscation:
          type: boolean
          title: Include Obfuscation
          description: 'When true, stream obfuscation will be enabled.

            Stream obfuscation adds random characters to an `obfuscation` field on
            streaming delta events to normalize payload sizes as a mitigation to certain
            side-channel attacks. These obfuscation fields are included by default,
            but add a small amount of overhead to the data stream. You can set `include_obfuscation`
            to false to optimize for bandwidth if you trust the network links between
            your application and the API.'
          default: false
      type: object
      title: ChatCompletionStreamOptionsParam
      description: Options for streaming responses.
    ChatCompletionSystemMessageParam:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: 'An optional name for the participant.

            Provides the model information to differentiate between participants of
            the same role.'
        role:
          type: string
          const: system
          title: Role
          description: The role of the message author. Always `system`.
        content:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          title: Content
          description: The contents of the system message.
      type: object
      required:
      - role
      - content
      title: ChatCompletionSystemMessageParam
      description: System role message.
    ChatCompletionTokenLogprob:
      properties:
        token:
          type: string
          title: Token
          description: The token.
        bytes:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Bytes
          description: A list of integers representing the UTF-8 bytes representation
            of the token. Useful in instances where characters are represented by
            multiple tokens and their byte representations must be combined to generate
            the correct text representation. Can be `null` if there is no bytes representation
            for the token.
        logprob:
          type: number
          title: Logprob
          description: The log probability of this token, if it is within the top
            20 most likely tokens. Otherwise, the value `-9999.0` is used to signify
            that the token is very unlikely.
        top_logprobs:
          items:
            $ref: '#/components/schemas/TopLogprob'
          type: array
          title: Top Logprobs
          description: List of the most likely tokens and their log probability, at
            this token position. In rare cases, there may be fewer than the number
            of requested `top_logprobs` returned.
      additionalProperties: false
      type: object
      required:
      - token
      - logprob
      - top_logprobs
      title: ChatCompletionTokenLogprob
      description: Chat completion token log probability information.
    ChatCompletionToolMessageParam:
      properties:
        role:
          type: string
          const: tool
          title: Role
          description: The role of the message author. Always `tool`.
        content:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          title: Content
          description: String or list of text content parts.
        tool_call_id:
          type: string
          title: Tool Call Id
          description: Tool call that this message is responding to.
      type: object
      required:
      - role
      - content
      - tool_call_id
      title: ChatCompletionToolMessageParam
      description: Tool role message.
    ChatCompletionUserMessageParam:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: 'An optional name for the participant.

            Provides the model information to differentiate between participants of
            the same role.'
        role:
          type: string
          const: user
          title: Role
          description: The role of the message author. Always `user`.
        content:
          anyOf:
          - type: string
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              - $ref: '#/components/schemas/ChatCompletionContentPartImageParam'
              - $ref: '#/components/schemas/ChatCompletionContentPartInputAudioParam'
              - $ref: '#/components/schemas/File'
              discriminator:
                propertyName: type
                mapping:
                  file: '#/components/schemas/File'
                  image_url: '#/components/schemas/ChatCompletionContentPartImageParam'
                  input_audio: '#/components/schemas/ChatCompletionContentPartInputAudioParam'
                  text: '#/components/schemas/ChatCompletionContentPartTextParam'
            type: array
          title: Content
          description: The contents of the user message.
      type: object
      required:
      - role
      - content
      title: ChatCompletionUserMessageParam
      description: User role message.
    Choice:
      properties:
        index:
          type: integer
          minimum: 0.0
          title: Index
          description: The index of the choice in the list of choices.
        finish_reason:
          anyOf:
          - type: string
            enum:
            - stop
            - length
            - tool_calls
            - content_filter
            - function_call
          - type: 'null'
          title: Finish Reason
          description: 'The reason the model stopped generating tokens.

            This will be `stop` if the model hit a natural stop point or a provided
            stop sequence, `length` if the maximum number of tokens specified in the
            request was reached, `content_filter` if content was omitted due to a
            flag from our content filters, `tool_calls` if the model called a tool,
            or `function_call` (deprecated) if the model called a function.'
        logprobs:
          anyOf:
          - $ref: '#/components/schemas/ChoiceLogprobs'
          - type: 'null'
          description: Log probability information for the choice.
        message:
          $ref: '#/components/schemas/ChatCompletionMessage'
          description: Assistant message.
      additionalProperties: false
      type: object
      required:
      - index
      - message
      title: Choice
      description: Non-streaming choice element for ChatCompletion.
    ChoiceLogprobs:
      properties:
        content:
          anyOf:
          - items:
              $ref: '#/components/schemas/ChatCompletionTokenLogprob'
            type: array
          - type: 'null'
          title: Content
          description: A list of message content tokens with log probability information.
        refusal:
          anyOf:
          - items:
              $ref: '#/components/schemas/ChatCompletionTokenLogprob'
            type: array
          - type: 'null'
          title: Refusal
          description: A list of message refusal tokens with log probability information.
      additionalProperties: false
      type: object
      title: ChoiceLogprobs
      description: Log probability information for the choice.
    ChunkingStrategyVadConfig:
      properties:
        type:
          type: string
          const: server_vad
          title: Type
          description: Must be set to `server_vad` to enable manual chunking using
            server side VAD.
        prefix_padding_ms:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Prefix Padding Ms
          description: Amount of audio to include before the VAD detected speech (in
            milliseconds).
        silence_duration_ms:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Silence Duration Ms
          description: Duration of silence to detect speech stop (in milliseconds).
            With shorter values the model will respond more quickly, but may jump
            in on short pauses.
        threshold:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Threshold
          description: Sensitivity threshold (0.0 to 1.0) for voice activity detection.
            A higher threshold will require louder audio to activate the model.
      type: object
      required:
      - type
      title: ChunkingStrategyVadConfig
      description: Manual server-side VAD chunking configuration.
    CitationCharLocation:
      properties:
        type:
          type: string
          const: char_location
          title: Type
          description: Citation type. Always `char_location`.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: Title of the cited document.
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        end_char_index:
          type: integer
          title: End Char Index
          description: The ending character index.
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          title: File Id
          description: The file identifier.
        start_char_index:
          type: integer
          title: Start Char Index
          description: The starting character index.
      additionalProperties: false
      type: object
      required:
      - type
      - cited_text
      - document_index
      - end_char_index
      - start_char_index
      title: CitationCharLocation
      description: Character location citation.
    CitationCharLocationParam:
      properties:
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: The title of the cited document.
        end_char_index:
          type: integer
          title: End Char Index
          description: The ending character index.
        start_char_index:
          type: integer
          title: Start Char Index
          description: The starting character index.
        type:
          type: string
          const: char_location
          title: Type
          description: The type discriminator.
      type: object
      required:
      - cited_text
      - document_index
      - end_char_index
      - start_char_index
      - type
      title: CitationCharLocationParam
      description: Citation char location parameter.
    CitationContentBlockLocation:
      properties:
        type:
          type: string
          const: content_block_location
          title: Type
          description: Citation type. Always `content_block_location`.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: Title of the cited document.
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        end_block_index:
          type: integer
          title: End Block Index
          description: The ending content block index.
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          title: File Id
          description: The file identifier.
        start_block_index:
          type: integer
          title: Start Block Index
          description: The starting content block index.
      additionalProperties: false
      type: object
      required:
      - type
      - cited_text
      - document_index
      - end_block_index
      - start_block_index
      title: CitationContentBlockLocation
      description: Content block location citation.
    CitationContentBlockLocationParam:
      properties:
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: The title of the cited document.
        end_block_index:
          type: integer
          title: End Block Index
          description: The ending content block index.
        start_block_index:
          type: integer
          title: Start Block Index
          description: The starting content block index.
        type:
          type: string
          const: content_block_location
          title: Type
          description: The type discriminator.
      type: object
      required:
      - cited_text
      - document_index
      - end_block_index
      - start_block_index
      - type
      title: CitationContentBlockLocationParam
      description: Citation content block location parameter.
    CitationPageLocation:
      properties:
        type:
          type: string
          const: page_location
          title: Type
          description: Citation type. Always `page_location`.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: Title of the cited document.
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        end_page_number:
          type: integer
          title: End Page Number
          description: The ending page number.
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          title: File Id
          description: The file identifier.
        start_page_number:
          type: integer
          title: Start Page Number
          description: The starting page number.
      additionalProperties: false
      type: object
      required:
      - type
      - cited_text
      - document_index
      - end_page_number
      - start_page_number
      title: CitationPageLocation
      description: Page location citation.
    CitationPageLocationParam:
      properties:
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        document_index:
          type: integer
          title: Document Index
          description: The index of the cited document.
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
          description: The title of the cited document.
        end_page_number:
          type: integer
          title: End Page Number
          description: The ending page number.
        start_page_number:
          type: integer
          title: Start Page Number
          description: The starting page number.
        type:
          type: string
          const: page_location
          title: Type
          description: The type discriminator.
      type: object
      required:
      - cited_text
      - document_index
      - end_page_number
      - start_page_number
      - type
      title: CitationPageLocationParam
      description: Citation page location parameter.
    CitationSearchResultLocationParam:
      properties:
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        end_block_index:
          type: integer
          title: End Block Index
          description: The ending content block index.
        search_result_index:
          type: integer
          title: Search Result Index
          description: The index of the search result.
        source:
          type: string
          title: Source
          description: The source of the search result.
        start_block_index:
          type: integer
          title: Start Block Index
          description: The starting content block index.
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: The title.
        type:
          type: string
          const: search_result_location
          title: Type
          description: The type discriminator.
      type: object
      required:
      - cited_text
      - end_block_index
      - search_result_index
      - source
      - start_block_index
      - type
      title: CitationSearchResultLocationParam
      description: Citation search result location parameter.
    CitationWebSearchResultLocationParam:
      properties:
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        encrypted_index:
          type: string
          title: Encrypted Index
          description: Encrypted index for the search result.
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: The title.
        type:
          type: string
          const: web_search_result_location
          title: Type
          description: The type discriminator.
        url:
          type: string
          title: Url
          description: The URL.
      type: object
      required:
      - cited_text
      - encrypted_index
      - type
      - url
      title: CitationWebSearchResultLocationParam
      description: Citation web search result location parameter.
    CitationsConfig:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether the feature is enabled.
      additionalProperties: false
      type: object
      required:
      - enabled
      title: CitationsConfig
      description: Citations config.
    CitationsConfigParam:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether the feature is enabled.
      type: object
      required:
      - enabled
      title: CitationsConfigParam
      description: Citations config parameter.
    CitationsSearchResultLocation:
      properties:
        type:
          type: string
          const: search_result_location
          title: Type
          description: Citation type. Always `search_result_location`.
        search_result_index:
          type: integer
          title: Search Result Index
          description: Index of the search result.
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        end_block_index:
          type: integer
          title: End Block Index
          description: The ending content block index.
        source:
          type: string
          title: Source
          description: The source of the search result.
        start_block_index:
          type: integer
          title: Start Block Index
          description: The starting content block index.
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: The title.
      additionalProperties: false
      type: object
      required:
      - type
      - search_result_index
      - cited_text
      - end_block_index
      - source
      - start_block_index
      title: CitationsSearchResultLocation
      description: Search result citation location.
    CitationsWebSearchResultLocation:
      properties:
        type:
          type: string
          const: web_search_result_location
          title: Type
          description: Citation type. Always `web_search_result_location`.
        url:
          type: string
          title: Url
          description: URL of the web search result.
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: Title of the web search result.
        cited_text:
          type: string
          title: Cited Text
          description: The text content of the citation.
        encrypted_index:
          type: string
          title: Encrypted Index
          description: Encrypted index for the search result.
      additionalProperties: false
      type: object
      required:
      - type
      - url
      - cited_text
      - encrypted_index
      title: CitationsWebSearchResultLocation
      description: Web search result citation location.
    CodeExecutionOutputBlock:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: code_execution_output
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - file_id
      - type
      title: CodeExecutionOutputBlock
      description: Code execution output block.
    CodeExecutionOutputBlockParam:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: code_execution_output
          title: Type
          description: The type discriminator.
      type: object
      required:
      - file_id
      - type
      title: CodeExecutionOutputBlockParam
      description: Code execution output block parameter.
    CodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/CodeExecutionOutputBlock'
          type: array
          title: Content
          description: The content of the block.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        stdout:
          type: string
          title: Stdout
          description: Standard output.
        type:
          type: string
          const: code_execution_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - return_code
      - stderr
      - stdout
      - type
      title: CodeExecutionResultBlock
      description: Code execution result block.
    CodeExecutionResultBlockParam:
      properties:
        content:
          items:
            $ref: '#/components/schemas/CodeExecutionOutputBlockParam'
          type: array
          title: Content
          description: The content of the block.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        stdout:
          type: string
          title: Stdout
          description: Standard output.
        type:
          type: string
          const: code_execution_result
          title: Type
          description: The type discriminator.
      type: object
      required:
      - content
      - return_code
      - stderr
      - stdout
      - type
      title: CodeExecutionResultBlockParam
      description: Code execution result block parameter.
    CodeExecutionToolParam:
      properties:
        name:
          type: string
          const: code_execution
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in `tool_use` blocks.
        type:
          type: string
          pattern: ^code_execution(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - name
      - type
      title: CodeExecutionToolParam
      description: Code execution tool parameter.
    CodeExecutionToolResultBlock-Input:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/CodeExecutionToolResultError'
          - $ref: '#/components/schemas/CodeExecutionResultBlock'
          - $ref: '#/components/schemas/EncryptedCodeExecutionResultBlock'
          title: Content
          description: Code execution result with encrypted stdout for PFC + web_search
            results.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: code_execution_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: CodeExecutionToolResultBlock
      description: Code execution tool result block.
    CodeExecutionToolResultBlock-Output:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/CodeExecutionToolResultError'
          - $ref: '#/components/schemas/CodeExecutionResultBlock'
          - $ref: '#/components/schemas/EncryptedCodeExecutionResultBlock'
          title: Content
          description: Code execution result with encrypted stdout for PFC + web_search
            results.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: code_execution_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: CodeExecutionToolResultBlock
      description: Code execution tool result block.
    CodeExecutionToolResultBlockParam:
      properties:
        content:
          $ref: '#/components/schemas/CodeExecutionToolResultBlockParamContentParam'
          description: Code execution result with encrypted stdout for PFC + web_search
            results.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: code_execution_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: CodeExecutionToolResultBlockParam
      description: Code execution tool result block parameter.
    CodeExecutionToolResultBlockParamContentParam:
      anyOf:
      - $ref: '#/components/schemas/CodeExecutionToolResultErrorParam'
      - $ref: '#/components/schemas/CodeExecutionResultBlockParam'
      - $ref: '#/components/schemas/EncryptedCodeExecutionResultBlockParam'
    CodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/CodeExecutionToolResultErrorCode'
          description: Machine-readable error code.
        type:
          type: string
          const: code_execution_tool_result_error
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: CodeExecutionToolResultError
      description: Code execution tool result error.
    CodeExecutionToolResultErrorCode:
      type: string
      enum:
      - invalid_tool_input
      - unavailable
      - too_many_requests
      - execution_time_exceeded
    CodeExecutionToolResultErrorParam:
      properties:
        error_code:
          $ref: '#/components/schemas/CodeExecutionToolResultErrorCode'
          description: Machine-readable error code.
        type:
          type: string
          const: code_execution_tool_result_error
          title: Type
          description: The type discriminator.
      type: object
      required:
      - error_code
      - type
      title: CodeExecutionToolResultErrorParam
      description: Code execution tool result error parameter.
    CompleteUploadBody:
      properties:
        part_ids:
          items:
            type: string
          type: array
          title: Part Ids
          description: The ordered list of Part IDs.
        md5:
          anyOf:
          - type: string
          - type: 'null'
          title: Md5
          description: Optional md5 checksum for the file contents. Accepted but not
            validated.
      type: object
      required:
      - part_ids
      title: CompleteUploadBody
      description: Request body for ``POST /v1/uploads/{upload_id}/complete``.
    CompletionCreateParams:
      properties:
        messages:
          items:
            oneOf:
            - $ref: '#/components/schemas/ChatCompletionDeveloperMessageParam'
            - $ref: '#/components/schemas/ChatCompletionSystemMessageParam'
            - $ref: '#/components/schemas/ChatCompletionUserMessageParam'
            - $ref: '#/components/schemas/ChatCompletionAssistantMessageParam'
            - $ref: '#/components/schemas/ChatCompletionToolMessageParam'
            - $ref: '#/components/schemas/ChatCompletionFunctionMessageParam'
            discriminator:
              propertyName: role
              mapping:
                assistant: '#/components/schemas/ChatCompletionAssistantMessageParam'
                developer: '#/components/schemas/ChatCompletionDeveloperMessageParam'
                function: '#/components/schemas/ChatCompletionFunctionMessageParam'
                system: '#/components/schemas/ChatCompletionSystemMessageParam'
                tool: '#/components/schemas/ChatCompletionToolMessageParam'
                user: '#/components/schemas/ChatCompletionUserMessageParam'
          type: array
          minItems: 1
          title: Messages
          description: 'A list of messages comprising the conversation so far.

            Depending on the model you use, different message types (modalities) are
            supported, like text, document, video, image, and audio.

            You can include up to 20 images. Each image''s size, height, and width
            must be no more than 3.75 MB, 8000 px, and 8000 px, respectively.

            You can include up to five documents. Each document''s size must be no
            more than 4.5 MB.

            Audio is UNSUPPORTED on this implementation.'
        model:
          type: string
          minLength: 1
          title: Model
          description: Model ID used to generate the response
        audio:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionAudioParam'
          - type: 'null'
          description: 'Parameters for audio output.

            Required when audio output is requested with modalities=[''audio''].'
        frequency_penalty:
          anyOf:
          - type: number
          - type: 'null'
          title: Frequency Penalty
          description: 'Positive values penalize new tokens based on their existing
            frequency in the text so far, decreasing the model''s likelihood to repeat
            the same line verbatim.

            Only supported on some models, possibles values depends on the model.'
        function_call:
          anyOf:
          - type: string
            enum:
            - none
            - auto
          - $ref: '#/components/schemas/FunctionToolChoiceParam'
          - type: 'null'
          title: Function Call
          description: 'Deprecated in favor of `tool_choice`.

            Controls which (if any) function is called by the model.

            `none` means the model will not call a function and instead generates
            a message.

            `auto` means the model can pick between generating a message or calling
            a function.

            Specifying a particular function via `{"name": "my_function"}` forces
            the model to call that function.

            `none` is the default when no functions are present. `auto` is the default
            if functions are present.'
          deprecated: true
        functions:
          anyOf:
          - items:
              $ref: '#/components/schemas/LegacyFunction'
            type: array
          - type: 'null'
          title: Functions
          description: 'Deprecated in favor of `tools`.

            A list of functions the model may generate JSON inputs for.'
          deprecated: true
        logit_bias:
          anyOf:
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Logit Bias
          description: 'Modify the likelihood of specified tokens appearing in the
            completion.

            Accepts a JSON object that maps tokens (specified by their token ID in
            the tokenizer) to an associated bias value. Mathematically, the bias is
            added to the logits generated by the model prior to sampling. The exact
            effect will vary per model.

            Only supported on some models, possibles values depends on the model.'
        logprobs:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Logprobs
          description: 'Whether to return log probabilities of the output tokens or
            not.

            If true, returns the log probabilities of each output token returned in
            the `content` of `message`.

            UNSUPPORTED on this implementation.'
          default: false
        max_completion_tokens:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Max Completion Tokens
          description: An upper bound for the number of tokens that can be generated
            for a completion, including visible output tokens and reasoning tokens
        max_tokens:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Max Tokens
          description: 'The maximum number of tokens that can be generated in the
            chat completion.

            This value is now deprecated in favor of `max_completion_tokens`'
          deprecated: true
        metadata:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Metadata
          description: 'Set of key-value pairs that can be attached to an object.

            This can be useful to filter invocation logs.'
        modalities:
          anyOf:
          - items:
              type: string
              enum:
              - text
              - audio
            type: array
          - type: 'null'
          title: Modalities
          description: 'Output types that you would like the model to generate. Most
            models are capable of generating text, which is the default: `["text"]`

            If audio output is requested for a text-only model, the audio is synthesized
            via text-to-speech from the model''s text output.'
        n:
          anyOf:
          - type: integer
            maximum: 128.0
            minimum: 1.0
          - type: 'null'
          title: N
          description: 'How many chat completion choices to generate for each input
            message.

            n>1 is UNSUPPORTED on this implementation if streaming is enabled.'
          default: 1
        parallel_tool_calls:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Parallel Tool Calls
          description: 'Whether to enable parallel function calling during tool use.

            UNSUPPORTED on this implementation.'
          default: true
        prediction:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionPredictionContentParam'
          - type: 'null'
          description: 'Static predicted output content, such as the content of a
            text file that is being regenerated.

            UNSUPPORTED on this implementation.'
        presence_penalty:
          anyOf:
          - type: number
          - type: 'null'
          title: Presence Penalty
          description: 'Positive values penalize new tokens based on whether they
            appear in the text so far, increasing the model''s likelihood to talk
            about new topics.

            Only supported on some models, possibles values depends on the model.'
        prompt_cache_key:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Prompt Cache Key
          description: "Used to cache responses for similar requests.\nControls prompt\
            \ caching for similar requests to reduce costs and improve response times.\n\
            - Set to any non-empty value to enable prompt caching globally on supported\
            \ models\n- Set to a dot-separated list of 'system', 'messages', and/or\
            \ 'tools' to enable caching only for specific prompt sections\n  Examples:\
            \ 'system.tools' enables caching for system and tools sections; 'system.messages.tools'\
            \ enables for all sections\nNote: Custom hash keys are UNSUPPORTED in\
            \ this implementation"
        prompt_cache_retention:
          anyOf:
          - type: string
            enum:
            - in-memory
            - 24h
            - 1h
            - 5m
          - type: 'null'
          title: Prompt Cache Retention
          description: 'The retention policy for the prompt cache.

            OpenAI values are currently mapped to AWS Bedrock possible values for
            increased compatibility:

            - in-memory -> 5m

            - 24h -> 1h.'
        reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Reasoning Effort
          description: 'Constrains effort on reasoning for reasoning models.

            Currently supported values are `none`, `minimal`, `low`, `medium`, `high`
            and `xhigh`.

            Reducing reasoning effort can result in faster responses and fewer tokens
            used on reasoning in a response.

            Enable reasoning on opt-in reasoning models. Effort is calculated based
            on the `max_completion_tokens` value as follow: minimal = 0.25 x max tokens,
            low = 0.50 x max tokens, medium = 0.75 x max tokens, high = xhigh = max
            tokens'
        response_format:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/ResponseFormatText'
            - $ref: '#/components/schemas/ResponseFormatJSONSchema'
            - $ref: '#/components/schemas/ResponseFormatJSONObject'
            discriminator:
              propertyName: type
              mapping:
                json_object: '#/components/schemas/ResponseFormatJSONObject'
                json_schema: '#/components/schemas/ResponseFormatJSONSchema'
                text: '#/components/schemas/ResponseFormatText'
          - type: 'null'
          title: Response Format
          description: 'An object specifying the format that the model must output.

            Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured
            Outputs which ensures the model will match your supplied JSON schema.

            Setting to `{ "type": "json_object" }` enables JSON mode, which ensures
            the message the model generates is valid JSON. Using `json_schema` is
            preferred for models that support it.'
        safety_identifier:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Safety Identifier
          description: A stable identifier used to help detect users of your application
            that may be violating usage policies. The IDs should be a string that
            uniquely identifies each user. We recommend hashing their username or
            email address, in order to avoid sending any identifying information.
        seed:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Seed
          description: 'If specified, the system will make a best effort to sample
            deterministically, such that repeated requests with the same `seed` and
            parameters should return the same result. Determinism is not guaranteed.

            Only supported on some models.'
        service_tier:
          anyOf:
          - type: string
            enum:
            - auto
            - default
            - flex
            - scale
            - priority
            - reserved
          - type: 'null'
          title: Service Tier
          description: 'Specifies the processing type used for serving the request.

            - If set to ''auto'', then the request will be processed with the default
            service tier.

            - If set to ''priority'', then the request will be processed with optimized
            latency performance for mission-critical workloads (e.g., customer service
            chat assistants, real-time language translation, interactive AI assistants).

            - If set to ''flex'', then the request will be processed with cost-efficient
            processing for business-noncritical workloads (e.g., model evaluations,
            content summarization, multistep agentic workflows).

            - If set to any other value, then the request will be processed with standard
            processing for business-standard workloads (e.g., content generation,
            text analysis, routine document processing).

            - When not set, the default behavior is ''auto''.

            When the `service_tier` parameter is set, the response body will include
            the `service_tier` value based on the processing mode actually used to
            serve the request. This response value may be different from the value
            set in the parameter.'
        stop:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - type: 'null'
          title: Stop
          description: 'Sequences where the API will stop generating further tokens.

            The returned text will not contain the stop sequence.'
        store:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Store
          description: 'Whether or not to store the output of this chat completion
            request.

            Supports text and image inputs.

            UNSUPPORTED on this implementation.'
        stream_options:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionStreamOptionsParam'
          - type: 'null'
          description: 'Options for streaming response.

            Only set this when you set `stream: true`.

            Only include_usage is supported; other sub-fields are UNSUPPORTED on this
            implementation.'
        temperature:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Temperature
          description: 'What sampling temperature to use.

            Higher values like 0.8 will make the output more random, while lower values
            like 0.2 will make it more focused and deterministic.

            We generally recommend altering this or `top_p` but not both.

            Only supported on some models, possibles values depends on the model.'
        tool_choice:
          anyOf:
          - type: string
            enum:
            - none
            - auto
            - required
          - oneOf:
            - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
            - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceCustomParam'
            - $ref: '#/components/schemas/ChatCompletionAllowedToolChoiceParam'
            discriminator:
              propertyName: type
              mapping:
                allowed_tools: '#/components/schemas/ChatCompletionAllowedToolChoiceParam'
                custom: '#/components/schemas/ChatCompletionNamedToolChoiceCustomParam'
                function: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
          - type: 'null'
          title: Tool Choice
          description: 'Controls which (if any) tool is called by the model. `none`
            means the model will not call any tool and instead generates a message.
            `auto` means the model can pick between generating a message or calling
            one or more tools. `required` means the model must call one or more tools.
            Specifying a particular tool via `{"type": "function", "function": {"name":
            "my_function"}}` forces the model to call that tool. `none` is the default
            when no tools are present. `auto` is the default if tools are present.'
        tools:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChatCompletionFunctionToolParam'
              - $ref: '#/components/schemas/ChatCompletionCustomToolParam'
              discriminator:
                propertyName: type
                mapping:
                  custom: '#/components/schemas/ChatCompletionCustomToolParam'
                  function: '#/components/schemas/ChatCompletionFunctionToolParam'
            type: array
          - type: 'null'
          title: Tools
          description: 'A list of tools the model may call.

            You can provide either custom tools or function tools.'
        top_logprobs:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Top Logprobs
          description: 'An integer between specifying the number of most likely tokens
            to return at each token position, each with an associated log probability.

            Only supported on some models, possibles values depends on the model.'
        top_p:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Top P
          description: 'An alternative to sampling with temperature, called nucleus
            sampling, where the model considers the results of the tokens with top_p
            probability mass. So 0.1 means only the tokens comprising the top 10%
            probability mass are considered.

            We generally recommend altering this or `temperature` but not both.

            Only supported on some models, possibles values depends on the model.'
        user:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: User
          description: This field is being replaced by `safety_identifier` and `prompt_cache_key`.
            Use `prompt_cache_key` instead to maintain caching optimizations. A stable
            identifier for your end-users.
          deprecated: true
        verbosity:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Verbosity
          description: 'Constrains the verbosity of the model''s response.

            Lower values will result in more concise responses, while higher values
            will result in more verbose responses. Currently supported values are
            `low`, `medium`, and `high`.

            UNSUPPORTED on this implementation.'
        web_search_options:
          anyOf:
          - $ref: '#/components/schemas/WebSearchOptions'
          - type: 'null'
          description: 'This tool searches the web for relevant results to use in
            a response.

            UNSUPPORTED on this implementation.'
        stream:
          type: boolean
          title: Stream
          description: If set to true, the model response data will be streamed to
            the client as it is generated using server-sent events.
          default: false
        amazon-bedrock-guardrailConfig:
          anyOf:
          - $ref: '#/components/schemas/AmazonBedrockGuardrailConfigParams'
          - type: 'null'
          description: Amazon Bedrock Guardrail configuration.
        top_k:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Top K
          description: 'The size of the candidate set for sampling during generation.
            For example, if the value is 50, only the 50 tokens with the highest scores
            in a single generation are included in the candidate set for random sampling.
            A larger value increases randomness, while a smaller value increases determinism.
            Only supported on some models, possibles values depends on the model.

            Extra field from Qwen Chat Completion API.'
        enable_thinking:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Thinking
          description: 'Specifies whether to enable thinking/reasoning mode. Only
            supported on some models.

            Extra field from Qwen Chat Completion API.'
        thinking_budget:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Thinking Budget
          description: 'The maximum length of the thinking process in tokens. This
            parameter is effective only when enable_thinking is true. Only supported
            on some models.The default value is the model''s maximum chain-of-thought
            length.

            Extra field from Qwen Chat Completion API.'
        translation_options:
          anyOf:
          - $ref: '#/components/schemas/QwenTranslationOptions'
          - type: 'null'
          description: 'Translation options for models with translation capabilities.
            Configures source/target languages, custom term translations, translation
            memory, and domain hints for specialized translation tasks.

            Extra field from Qwen Chat Completion API.

            UNSUPPORTED on this implementation.'
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - messages
      - model
      title: CompletionCreateParams
      description: Create chat completion request following OpenAI API specification.
    CompletionTokensDetails:
      properties:
        accepted_prediction_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Accepted Prediction Tokens
          description: When using Predicted Outputs, the number of tokens in the prediction
            that appeared in the completion.
        audio_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Audio Tokens
          description: Audio input tokens generated by the model.
        reasoning_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Reasoning Tokens
          description: Tokens generated by the model for reasoning.
        rejected_prediction_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rejected Prediction Tokens
          description: When using Predicted Outputs, the number of tokens in the prediction
            that did not appear in the completion. However, like reasoning tokens,
            these tokens are still counted in the total completion tokens for purposes
            of billing, output, and context window limits.
      additionalProperties: false
      type: object
      title: CompletionTokensDetails
      description: Breakdown of tokens used in a completion.
    CompletionUsage:
      properties:
        prompt_tokens:
          type: integer
          title: Prompt Tokens
          description: Number of tokens in the prompt.
        completion_tokens:
          type: integer
          title: Completion Tokens
          description: Number of tokens in the generated completion.
        total_tokens:
          type: integer
          title: Total Tokens
          description: Total number of tokens used in the request (prompt + completion).
        completion_tokens_details:
          anyOf:
          - $ref: '#/components/schemas/CompletionTokensDetails'
          - type: 'null'
          description: Breakdown of tokens used in a completion.
        prompt_tokens_details:
          anyOf:
          - $ref: '#/components/schemas/PromptTokensDetails'
          - type: 'null'
          description: Breakdown of tokens used in the prompt.
      additionalProperties: false
      type: object
      required:
      - prompt_tokens
      - completion_tokens
      - total_tokens
      title: CompletionUsage
      description: Token usage statistics, compatible with OpenAI.
    Container:
      properties:
        id:
          type: string
          title: Id
          description: Identifier for the container used in this request.
        expires_at:
          type: string
          title: Expires At
          description: The time at which the container will expire.
      additionalProperties: false
      type: object
      required:
      - id
      - expires_at
      title: Container
      description: Information about the container used in the request (for the code
        execution tool).
    ContainerUploadBlock:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: container_upload
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - file_id
      - type
      title: ContainerUploadBlock
      description: Response model for a file uploaded to the container.
    ContainerUploadBlockParam:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file identifier.
        type:
          type: string
          const: container_upload
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - file_id
      - type
      title: ContainerUploadBlockParam
      description: 'A content block for file upload to the container.


        Files uploaded via this block will be available in the container''s input
        directory.

        UNSUPPORTED on this implementation.'
    ContentBlockSourceParam:
      properties:
        content:
          anyOf:
          - type: string
          - items:
              anyOf:
              - $ref: '#/components/schemas/TextBlockParam'
              - $ref: '#/components/schemas/ImageBlockParam'
            type: array
          title: Content
          description: The content of the source.
        type:
          type: string
          const: content
          title: Type
          description: The type discriminator.
      type: object
      required:
      - content
      - type
      title: ContentBlockSourceParam
      description: Content block source for document content block.
    CreateEmbeddingResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: The object type, which is always `list`.
        data:
          items:
            $ref: '#/components/schemas/Embedding'
          type: array
          title: Data
          description: The list of embeddings generated by the model.
        model:
          type: string
          title: Model
          description: The name of the model used to generate the embedding.
        usage:
          $ref: '#/components/schemas/stdapi__types__openai_embeddings__Usage'
          description: The usage information for the request.
      additionalProperties: false
      type: object
      required:
      - object
      - data
      - model
      - usage
      title: CreateEmbeddingResponse
      description: Embedding response model.
    CreateUploadBody:
      properties:
        bytes:
          type: integer
          maximum: 8589934592.0
          exclusiveMinimum: 0.0
          title: Bytes
          description: The number of bytes in the file you are uploading.
        filename:
          type: string
          title: Filename
          description: The name of the file to upload.
        mime_type:
          type: string
          title: Mime Type
          description: The MIME type of the file. This must fall within the supported
            MIME types for your file purpose.
        purpose:
          type: string
          enum:
          - assistants
          - batch
          - fine-tune
          - vision
          - user_data
          - evals
          title: Purpose
          description: The intended purpose of the uploaded file.
      type: object
      required:
      - bytes
      - filename
      - mime_type
      - purpose
      title: CreateUploadBody
      description: Request body for ``POST /v1/uploads``.
    Custom:
      properties:
        name:
          type: string
          title: Name
          description: 'The name of the custom tool, used to identify it in tool calls.

            UNSUPPORTED on this implementation.'
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: 'Optional description of the custom tool, used to provide more
            context.

            UNSUPPORTED on this implementation.'
        format:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/CustomFormatText'
            - $ref: '#/components/schemas/CustomFormatGrammar'
            discriminator:
              propertyName: type
              mapping:
                grammar: '#/components/schemas/CustomFormatGrammar'
                text: '#/components/schemas/CustomFormatText'
          - type: 'null'
          title: Format
          description: 'The input format for the custom tool. Default is unconstrained
            text.

            UNSUPPORTED on this implementation.'
          default:
            type: text
      type: object
      required:
      - name
      title: Custom
      description: 'Properties of the custom tool used for custom tool calling.


        UNSUPPORTED on this implementation.'
    CustomFormatGrammar:
      properties:
        type:
          type: string
          const: grammar
          title: Type
          description: 'Grammar format. Always `grammar`.

            UNSUPPORTED on this implementation.'
        grammar:
          $ref: '#/components/schemas/CustomFormatGrammarGrammar'
          description: 'Your chosen grammar.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - type
      - grammar
      title: CustomFormatGrammar
      description: 'Grammar format. Always `grammar`.


        UNSUPPORTED on this implementation.'
    CustomFormatGrammarGrammar:
      properties:
        definition:
          type: string
          title: Definition
          description: 'The grammar definition.

            UNSUPPORTED on this implementation.'
        syntax:
          type: string
          enum:
          - lark
          - regex
          title: Syntax
          description: 'The syntax of the grammar definition. One of `lark` or `regex`.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - definition
      - syntax
      title: CustomFormatGrammarGrammar
      description: 'The grammar definition and syntax for a grammar-based custom tool
        input.


        UNSUPPORTED on this implementation.'
    CustomFormatText:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: 'Unconstrained text format. Always `text`.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - type
      title: CustomFormatText
      description: 'Unconstrained text format. Always `text`.


        UNSUPPORTED on this implementation.'
    CustomTool:
      properties:
        name:
          type: string
          title: Name
          description: 'The name of the custom tool to call.

            UNSUPPORTED on this implementation.'
        input:
          type: string
          title: Input
          description: 'The input for the custom tool call generated by the model.

            UNSUPPORTED on this implementation.'
      additionalProperties: false
      type: object
      required:
      - name
      - input
      title: CustomTool
      description: 'Custom tool call payload used within assistant tool calls.


        UNSUPPORTED on this implementation.'
    CustomToolChoice:
      properties:
        name:
          type: string
          title: Name
          description: 'The name of the custom tool to call.

            UNSUPPORTED on this implementation.'
      type: object
      required:
      - name
      title: CustomToolChoice
      description: 'The custom tool to call by name.


        UNSUPPORTED on this implementation.'
    DeletedFile:
      properties:
        id:
          type: string
          title: Id
          description: ID of the deleted file.
        type:
          type: string
          const: file_deleted
          title: Type
          description: Deleted object type. For file deletion, this is always `"file_deleted"`.
          default: file_deleted
      additionalProperties: false
      type: object
      required:
      - id
      title: DeletedFile
      description: Response returned when a file is deleted via the Files API.
    DirectCaller:
      properties:
        type:
          type: string
          const: direct
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - type
      title: DirectCaller
      description: Tool invocation directly from the model.
    DocumentBlock:
      properties:
        citations:
          anyOf:
          - $ref: '#/components/schemas/CitationsConfig'
          - type: 'null'
          description: Citation configuration for the document
        source:
          oneOf:
          - $ref: '#/components/schemas/Base64PDFSource'
          - $ref: '#/components/schemas/PlainTextSource'
          title: Source
          description: The document source.
          discriminator:
            propertyName: type
            mapping:
              base64: '#/components/schemas/Base64PDFSource'
              text: '#/components/schemas/PlainTextSource'
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: The title of the document
        type:
          type: string
          const: document
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - source
      - type
      title: DocumentBlock
      description: Document block.
    DocumentBlockParam:
      properties:
        type:
          type: string
          const: document
          title: Type
          description: Content block type. Always `document`.
        source:
          oneOf:
          - $ref: '#/components/schemas/Base64PDFSource'
          - $ref: '#/components/schemas/PlainTextSourceParam'
          - $ref: '#/components/schemas/ContentBlockSourceParam'
          - $ref: '#/components/schemas/URLPDFSource'
          - $ref: '#/components/schemas/FileSource'
          title: Source
          description: Document source data.
          discriminator:
            propertyName: type
            mapping:
              base64: '#/components/schemas/Base64PDFSource'
              content: '#/components/schemas/ContentBlockSourceParam'
              file: '#/components/schemas/FileSource'
              text: '#/components/schemas/PlainTextSourceParam'
              url: '#/components/schemas/URLPDFSource'
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
        citations:
          anyOf:
          - $ref: '#/components/schemas/CitationsConfigParam'
          - type: 'null'
          description: Citation configuration for the document
        context:
          anyOf:
          - type: string
          - type: 'null'
          title: Context
          description: Additional context for the document.
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
          description: The title of the document
      type: object
      required:
      - type
      - source
      title: DocumentBlockParam
      description: Document content block parameter.
    Embedding:
      properties:
        object:
          type: string
          const: embedding
          title: Object
          description: The object type, which is always `embedding`.
        index:
          type: integer
          title: Index
          description: The index of the embedding in the list of embeddings.
        embedding:
          anyOf:
          - items:
              type: number
            type: array
          - type: string
          title: Embedding
          description: The embedding vector, which is a list of floats or a base64
            string.
      additionalProperties: false
      type: object
      required:
      - object
      - index
      - embedding
      title: Embedding
      description: 'Custom embedding model that supports both float lists and base64
        strings.


        This extends the OpenAI embedding format to handle base64 encoding properly.'
    EmbeddingCreateParams:
      properties:
        input:
          anyOf:
          - type: string
            minLength: 1
            pattern: ^(?:https?://|s3://|data:)
          - type: string
          - items:
              anyOf:
              - type: string
                minLength: 1
                pattern: ^(?:https?://|s3://|data:)
              - type: string
            type: array
          title: Input
          description: 'Input text to embed, as a single string or an array of strings.

            For multimodal models, non-text inputs can be passed as a URL (`https://...`),
            S3 URI (`s3://bucket/key`), or base64 data URI (`data:[<mediatype>][;base64],<data>`).

            To embed multiple inputs in a single request, pass an array of strings
            or array of token arrays.

            Token arrays are UNSUPPORTED on this implementation.'
        model:
          type: string
          maxLength: 255
          minLength: 1
          title: Model
          description: ID of the model to use.
        dimensions:
          anyOf:
          - type: integer
            maximum: 8192.0
            minimum: 1.0
          - type: 'null'
          title: Dimensions
          description: 'The number of dimensions the resulting output embeddings should
            have.

            Supported by some models only.'
        encoding_format:
          anyOf:
          - type: string
            enum:
            - float
            - base64
          - type: 'null'
          title: Encoding Format
          description: 'The format to return the embeddings in.

            Can be either `float` or `base64`.'
          default: float
        user:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: User
          description: A unique identifier representing your end-user, which can help
            to monitor and detect abuse.
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - input
      - model
      title: EmbeddingCreateParams
      description: 'Request body for creating embeddings.


        Validates unsupported values and combinations to match OpenAI behavior.'
    EncryptedCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/CodeExecutionOutputBlock'
          type: array
          title: Content
          description: The content of the block.
        encrypted_stdout:
          type: string
          title: Encrypted Stdout
          description: Encrypted standard output.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        type:
          type: string
          const: encrypted_code_execution_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - encrypted_stdout
      - return_code
      - stderr
      - type
      title: EncryptedCodeExecutionResultBlock
      description: Code execution result with encrypted stdout for PFC + web_search
        results.
    EncryptedCodeExecutionResultBlockParam:
      properties:
        content:
          items:
            $ref: '#/components/schemas/CodeExecutionOutputBlockParam'
          type: array
          title: Content
          description: The content of the block.
        encrypted_stdout:
          type: string
          title: Encrypted Stdout
          description: Encrypted standard output.
        return_code:
          type: integer
          title: Return Code
          description: The return code of the execution.
        stderr:
          type: string
          title: Stderr
          description: Standard error output.
        type:
          type: string
          const: encrypted_code_execution_result
          title: Type
          description: The type discriminator.
      type: object
      required:
      - content
      - encrypted_stdout
      - return_code
      - stderr
      - type
      title: EncryptedCodeExecutionResultBlockParam
      description: Code execution result with encrypted stdout for PFC + web_search
        results.
    File:
      properties:
        type:
          type: string
          const: file
          title: Type
          description: Content part type. Always `file`.
        file:
          $ref: '#/components/schemas/FileFile'
          description: Content descriptor containing base64 bytes.
      type: object
      required:
      - type
      - file
      title: File
      description: File message content part.
    FileDeleted:
      properties:
        id:
          type: string
          title: Id
          description: The file identifier.
        object:
          type: string
          const: file
          title: Object
          description: The object type, which is always `file`.
          default: file
        deleted:
          type: boolean
          title: Deleted
          description: Whether the file was deleted.
      additionalProperties: false
      type: object
      required:
      - id
      - deleted
      title: FileDeleted
      description: Response returned when a file is deleted.
    FileFile:
      properties:
        file_id:
          anyOf:
          - type: string
            pattern: ^file[-_]
          - type: 'null'
          title: File Id
          description: The ID of an uploaded file to use as input.
        file_data:
          anyOf:
          - type: string
            minLength: 1
          - type: 'null'
          title: File Data
          description: The base64 encoded file data (or data URI, S3 URI or URL),
            used when passing the file to the model as a string.
        filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Filename
          description: The name of the file, used when passing the file to the model
            as a string.
      type: object
      title: FileFile
      description: File content descriptor.
    FileListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FileMetadata'
          type: array
          title: Data
          description: List of file metadata objects.
        has_more:
          type: boolean
          title: Has More
          description: Whether there are more results available.
          default: false
        first_id:
          anyOf:
          - type: string
          - type: 'null'
          title: First Id
          description: ID of the first file in this page of results.
        last_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Id
          description: ID of the last file in this page of results.
      additionalProperties: false
      type: object
      required:
      - data
      title: FileListResponse
      description: Paginated list of files returned by GET /v1/files.
    FileMetadata:
      properties:
        id:
          type: string
          title: Id
          description: Unique object identifier. The format and length of IDs may
            change over time.
        type:
          type: string
          const: file
          title: Type
          description: Object type. For files, this is always `"file"`.
          default: file
        filename:
          type: string
          title: Filename
          description: Original filename of the uploaded file.
        mime_type:
          type: string
          title: Mime Type
          description: MIME type of the file.
        size_bytes:
          type: integer
          title: Size Bytes
          description: Size of the file in bytes.
        created_at:
          type: string
          title: Created At
          description: RFC 3339 datetime string representing when the file was created.
        downloadable:
          type: boolean
          title: Downloadable
          description: Whether the file can be downloaded.
          default: true
      additionalProperties: false
      type: object
      required:
      - id
      - filename
      - mime_type
      - size_bytes
      - created_at
      title: FileMetadata
      description: The `FileMetadata` object represents a file that has been uploaded
        to the API.
    FileObject:
      properties:
        id:
          type: string
          title: Id
          description: The file identifier, which can be referenced in the API endpoints.
        object:
          type: string
          const: file
          title: Object
          description: The object type, which is always `file`.
          default: file
        bytes:
          type: integer
          title: Bytes
          description: The size of the file, in bytes.
        created_at:
          type: integer
          title: Created At
          description: The Unix timestamp (in seconds) for when the file was created.
        filename:
          type: string
          title: Filename
          description: The name of the file.
        purpose:
          type: string
          title: Purpose
          description: The intended purpose of the file. Supported values are `assistants`,
            `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`,
            `vision`, and `user_data`.
        status:
          type: string
          enum:
          - uploaded
          - processed
          - error
          title: Status
          description: Deprecated. The current status of the file, which can be either
            `uploaded`, `processed`, or `error`.
          default: processed
        expires_at:
          anyOf:
          - type: integer
          - type: 'null'
          title: Expires At
          description: The Unix timestamp (in seconds) for when the file will expire.
        status_details:
          anyOf:
          - type: string
          - type: 'null'
          title: Status Details
          description: Deprecated. For details on why a fine-tuning training file
            failed validation, see the `error` field on `fine_tuning.job`.
      additionalProperties: false
      type: object
      required:
      - id
      - bytes
      - created_at
      - filename
      - purpose
      title: FileObject
      description: The `File` object represents a document that has been uploaded
        to the API.
    FileSource:
      properties:
        type:
          type: string
          const: file
          title: Type
          description: Source type. Always `file`.
        file_id:
          type: string
          pattern: ^file[-_]
          title: File Id
          description: The Files API file identifier.
      type: object
      required:
      - type
      - file_id
      title: FileSource
      description: File source for document or image content block (Files API).
    FunctionCall:
      properties:
        name:
          type: string
          title: Name
          description: The name of the function to call.
        arguments:
          type: string
          title: Arguments
          description: The arguments to call the function with, as generated by the
            model in JSON format. Note that the model does not always generate valid
            JSON, and may hallucinate parameters not defined by your function schema.Validate
            the arguments in your code before calling your function.
      additionalProperties: false
      type: object
      required:
      - name
      - arguments
      title: FunctionCall
      description: Function tool call payload used within assistant tool calls.
    FunctionDefinition:
      properties:
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: 'Whether to enable strict schema adherence when generating
            the function call.

            If set to true, the model will follow the exact schema defined in the
            `parameters` field. Only a subset of JSON Schema is supported when `strict`
            is `true`.Learn more about Structured Outputs in the [function calling
            guide](https://platform.openai.com/docs/guides/function-calling).'
        name:
          type: string
          title: Name
          description: The name of the function to be called.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: A description of what the function does, used by the model
            to choose when and how to call the function.
        parameters:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/JsonValue'
            type: object
          - type: 'null'
          title: Parameters
          description: 'The parameters the functions accepts, described as a JSON
            Schema object.

            See the [guide](https://platform.openai.com/docs/guides/function-calling)
            for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/)
            for documentation about the format.

            Omitting `parameters` defines a function with an empty parameter list.'
      type: object
      required:
      - name
      title: FunctionDefinition
      description: Function tool definition following OpenAI shared schema.
    FunctionToolChoiceParam:
      properties:
        name:
          type: string
          title: Name
          description: The name of the function to call.
      type: object
      required:
      - name
      title: FunctionToolChoiceParam
      description: The function to call by name.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    HealthResponse:
      properties:
        status:
          type: string
          title: Status
          default: ok
      type: object
      title: HealthResponse
      description: 'Response for the /health endpoint.


        Indicates the application is running and ready to accept requests.'
    Image:
      properties:
        b64_json:
          anyOf:
          - type: string
          - type: 'null'
          title: B64 Json
          description: The base64-encoded JSON of the generated image., Only present
            if `response_format` is set to `b64_json`.
        revised_prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Revised Prompt
          description: The revised prompt that was used to generate the image.
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
          description: The URL of the generated image if `response_format` is set
            to `url`.
      additionalProperties: false
      type: object
      title: Image
      description: Generated image descriptor compatible with OpenAI.
    ImageBlockParam:
      properties:
        type:
          type: string
          const: image
          title: Type
          description: Content block type. Always `image`.
        source:
          oneOf:
          - $ref: '#/components/schemas/Base64ImageSource'
          - $ref: '#/components/schemas/URLImageSource'
          - $ref: '#/components/schemas/FileSource'
          title: Source
          description: Image source data.
          discriminator:
            propertyName: type
            mapping:
              base64: '#/components/schemas/Base64ImageSource'
              file: '#/components/schemas/FileSource'
              url: '#/components/schemas/URLImageSource'
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
      type: object
      required:
      - type
      - source
      title: ImageBlockParam
      description: Image content block parameter.
    ImageGenerateParams:
      properties:
        model:
          type: string
          maxLength: 255
          minLength: 1
          title: Model
          description: The model to use for image generation.
        response_format:
          type: string
          enum:
          - url
          - b64_json
          title: Response Format
          description: 'The format in which the generated images are returned. Must
            be one of url or b64_json. URLs are only valid for 60 minutes after the
            image has been generated.

            This parameter isn''t supported with streaming which will always return
            base64-encoded images.'
          default: url
        n:
          type: integer
          maximum: 10.0
          minimum: 1.0
          title: N
          description: The number of images to generate.
          default: 1
        size:
          type: string
          pattern: ^(\d+)x(\d+)$
          title: Size
          description: 'The size of the generated images.

            Supported values depend on the model. With some models, output size may
            be different.'
          default: 1024x1024
        user:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: User
          description: A unique identifier representing your end-user, which can help
            to monitor and detect abuse.
        prompt:
          type: string
          minLength: 1
          title: Prompt
          description: A text description of the desired image(s).
        background:
          anyOf:
          - type: string
            const: auto
          - type: string
            enum:
            - transparent
            - opaque
          title: Background
          description: 'Allows to set transparency for the background of the generated
            image(s).

            If `transparent`, the output format needs to support transparency, so
            it should be set to either `png` (default value) or `webp`.

            transparent is UNSUPPORTED on this implementation.'
          default: auto
        moderation:
          type: string
          enum:
          - low
          - auto
          title: Moderation
          description: 'Control the content-moderation level for generated images.

            Must be either `low` for less restrictive filtering or `auto` (default
            value).

            low is UNSUPPORTED on this implementation.'
          default: auto
        output_compression:
          type: integer
          maximum: 100.0
          minimum: 1.0
          title: Output Compression
          description: The compression level (0-100%) for the generated images.
          default: 100
        output_format:
          anyOf:
          - type: string
            enum:
            - png
            - jpeg
            - webp
          - type: 'null'
          title: Output Format
          description: The format in which the generated images are returned. Must
            be one of `png`, `jpeg`, or `webp`.
        partial_images:
          anyOf:
          - type: integer
            maximum: 3.0
            minimum: 0.0
          - type: 'null'
          title: Partial Images
          description: 'The number of partial images to generate.

            This parameter is used for streaming responses that return partial images.
            Value must be between 0 and 3. When set to 0, the response will be a single
            image sent in one streaming event.

            Note that the final image may be sent before the full number of partial
            images are generated if the full image is generated more quickly.

            Partial images are only sent if the model supports it.'
        quality:
          type: string
          maxLength: 255
          minLength: 1
          title: Quality
          description: 'The quality of the image that will be generated.

            `auto` (default value) will automatically select the best quality for
            the given model.

            Supported values depend on the model.'
          default: auto
        style:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Style
          description: 'The style of the generated images.

            Supported values depend on the model.'
        stream:
          type: boolean
          title: Stream
          description: Generate the image in streaming mode.
          default: false
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - model
      - prompt
      title: ImageGenerateParams
      description: Request body for generating images.
    ImageURL:
      properties:
        url:
          type: string
          minLength: 1
          title: Url
          description: Image URL string (or data URI, S3 URI, base64 encode string).
        detail:
          anyOf:
          - type: string
            enum:
            - low
            - high
            - auto
          - type: 'null'
          title: Detail
          description: The resolution of the image to use. One of `low`, `high`, or
            `auto`. The default is `auto`.
      type: object
      required:
      - url
      title: ImageURL
      description: Image URL detail for image content part.
    ImagesResponse:
      properties:
        created:
          type: integer
          minimum: 0.0
          title: Created
          description: The Unix timestamp (in seconds) of when the image was created.
        background:
          anyOf:
          - type: string
            enum:
            - transparent
            - opaque
          - type: 'null'
          title: Background
          description: The background parameter used for the image generation. Either
            `transparent` or `opaque`.
        data:
          anyOf:
          - items:
              $ref: '#/components/schemas/Image'
            type: array
          - type: 'null'
          title: Data
          description: The list of generated images.
        output_format:
          anyOf:
          - type: string
            enum:
            - png
            - jpeg
            - webp
          - type: 'null'
          title: Output Format
          description: The output format of the image generation. Either `png`, `webp`,
            or `jpeg`.
        quality:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Quality
          description: The quality of the generated image.
        size:
          anyOf:
          - type: string
          - type: 'null'
          title: Size
          description: The size of the generated image.
        usage:
          anyOf:
          - $ref: '#/components/schemas/stdapi__types__openai_images__Usage'
          - type: 'null'
          description: The token usage information for the image generation.
      additionalProperties: false
      type: object
      required:
      - created
      title: ImagesResponse
      description: OpenAI-compatible non-streaming image generation response.
    InputAudio:
      properties:
        data:
          type: string
          minLength: 1
          title: Data
          description: The base64 encoded audio data (or data URI, S3 URI or URL).
        format:
          type: string
          enum:
          - wav
          - mp3
          title: Format
          description: The format of the encoded audio data. Currently supports `wav`
            and `mp3`.
      type: object
      required:
      - data
      - format
      title: InputAudio
      description: Input audio descriptor.
    JSONOutputFormatParam:
      properties:
        type:
          type: string
          const: json_schema
          title: Type
          description: Output format type. Always `json_schema`.
        schema:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Schema
          description: The JSON schema of the format.
      type: object
      required:
      - type
      - schema
      title: JSONOutputFormatParam
      description: JSON output format configuration.
    JSONSchema:
      properties:
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: 'Whether to enable strict schema adherence when generating
            the function call.

            If set to true, the model will follow the exact schema defined in the
            `parameters` field. Only a subset of JSON Schema is supported when `strict`
            is `true`.Learn more about Structured Outputs in the [function calling
            guide](https://platform.openai.com/docs/guides/function-calling).'
        name:
          type: string
          title: Name
          description: The name of the response format. Must be a-z, A-Z, 0-9, or
            contain underscores and dashes, with a maximum length of 64.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: A description of what the response format is for, used by the
            model to determine how to respond in the format.
        schema:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Schema
          description: The schema for the response format, described as a JSON Schema
            object. Learn how to build JSON schemas [here](https://json-schema.org/).
      type: object
      required:
      - name
      - schema
      title: JSONSchema
      description: Structured Outputs JSON Schema options.
    JsonValue: {}
    LegacyFunction:
      properties:
        name:
          type: string
          title: Name
          description: The name of the function to be called.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: A description of what the function does, used by the model
            to choose when and how to call the function.
        parameters:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/JsonValue'
            type: object
          - type: 'null'
          title: Parameters
          description: 'The parameters the functions accepts, described as a JSON
            Schema object.

            See the [guide](https://platform.openai.com/docs/guides/function-calling)
            for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/)
            for documentation about the format.

            Omitting `parameters` defines a function with an empty parameter list.'
      type: object
      required:
      - name
      title: LegacyFunction
      description: Legacy function definition (deprecated in favor of tools).
    ListFilesResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: The object type, which is always `list`.
          default: list
        data:
          items:
            $ref: '#/components/schemas/FileObject'
          type: array
          title: Data
          description: List of File objects.
        has_more:
          type: boolean
          title: Has More
          description: Whether more results exist after this page.
        first_id:
          type: string
          title: First Id
          description: ID of the first file in the list, or '' when empty.
        last_id:
          type: string
          title: Last Id
          description: ID of the last file in the list, or '' when empty.
      additionalProperties: false
      type: object
      required:
      - data
      - has_more
      - first_id
      - last_id
      title: ListFilesResponse
      description: Paginated list of files returned by GET /v1/files.
    MemoryToolParam:
      properties:
        name:
          type: string
          const: memory
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in `tool_use` blocks.
        type:
          type: string
          pattern: ^memory(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        input_examples:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Input Examples
          description: Example inputs for the tool.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - name
      - type
      title: MemoryToolParam
      description: Memory tool parameter.
    Message:
      properties:
        id:
          type: string
          title: Id
          description: "Unique object identifier.\n\n    The format and length of\
            \ IDs may change over time.\n    "
        type:
          type: string
          const: message
          title: Type
          description: "Object type.\n\n    For Messages, this is always `\"message\"\
            `.\n    "
        role:
          type: string
          const: assistant
          title: Role
          description: "Conversational role of the generated message.\n\n    This\
            \ will always be `\"assistant\"`.\n    "
        content:
          items:
            oneOf:
            - $ref: '#/components/schemas/TextBlock'
            - $ref: '#/components/schemas/ThinkingBlock'
            - $ref: '#/components/schemas/RedactedThinkingBlock'
            - $ref: '#/components/schemas/ToolUseBlock'
            - $ref: '#/components/schemas/ServerToolUseBlock'
            - $ref: '#/components/schemas/WebSearchToolResultBlock'
            - $ref: '#/components/schemas/WebFetchToolResultBlock-Output'
            - $ref: '#/components/schemas/CodeExecutionToolResultBlock-Output'
            - $ref: '#/components/schemas/BashCodeExecutionToolResultBlock-Output'
            - $ref: '#/components/schemas/TextEditorCodeExecutionToolResultBlock'
            - $ref: '#/components/schemas/ToolSearchToolResultBlock-Output'
            - $ref: '#/components/schemas/ContainerUploadBlock'
            discriminator:
              propertyName: type
              mapping:
                bash_code_execution_tool_result: '#/components/schemas/BashCodeExecutionToolResultBlock-Output'
                code_execution_tool_result: '#/components/schemas/CodeExecutionToolResultBlock-Output'
                container_upload: '#/components/schemas/ContainerUploadBlock'
                redacted_thinking: '#/components/schemas/RedactedThinkingBlock'
                server_tool_use: '#/components/schemas/ServerToolUseBlock'
                text: '#/components/schemas/TextBlock'
                text_editor_code_execution_tool_result: '#/components/schemas/TextEditorCodeExecutionToolResultBlock'
                thinking: '#/components/schemas/ThinkingBlock'
                tool_search_tool_result: '#/components/schemas/ToolSearchToolResultBlock-Output'
                tool_use: '#/components/schemas/ToolUseBlock'
                web_fetch_tool_result: '#/components/schemas/WebFetchToolResultBlock-Output'
                web_search_tool_result: '#/components/schemas/WebSearchToolResultBlock'
          type: array
          title: Content
          description: "Content generated by the model.\n\n    This is an array of\
            \ content blocks, each of which has a `type` that determines\n    its\
            \ shape.\n\n    Example:\n\n    ```json\n    [{ \"type\": \"text\", \"\
            text\": \"Hi\" }]\n    ```\n\n    If the request input `messages` ended\
            \ with an `assistant` turn, then the\n    response `content` will continue\
            \ directly from that last turn. You can use this\n    to constrain the\
            \ model's output.\n\n    For example, if the input `messages` were:\n\n\
            \    ```json\n    [\n      {\n        \"role\": \"user\",\n        \"\
            content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"\
            \n      },\n      { \"role\": \"assistant\", \"content\": \"The best answer\
            \ is (\" }\n    ]\n    ```\n\n    Then the response `content` might be:\n\
            \n    ```json\n    [{ \"type\": \"text\", \"text\": \"B)\" }]\n    ```\n\
            \    "
        model:
          type: string
          title: Model
          description: The model that will complete your prompt.
        stop_reason:
          anyOf:
          - type: string
            enum:
            - end_turn
            - max_tokens
            - stop_sequence
            - tool_use
            - pause_turn
            - refusal
          - type: 'null'
          title: Stop Reason
          description: "The reason that we stopped.\n\n    This may be one the following\
            \ values:\n\n    - `\"end_turn\"`: the model reached a natural stopping\
            \ point\n    - `\"max_tokens\"`: we exceeded the requested `max_tokens`\
            \ or the model's maximum\n    - `\"stop_sequence\"`: one of your provided\
            \ custom `stop_sequences` was generated\n    - `\"tool_use\"`: the model\
            \ invoked one or more tools\n    - `\"pause_turn\"`: we paused a long-running\
            \ turn. You may provide the response\n      back as-is in a subsequent\
            \ request to let the model continue.\n    - `\"refusal\"`: when streaming\
            \ classifiers intervene to handle potential policy\n      violations\n\
            \n    In non-streaming mode this value is always non-null. In streaming\
            \ mode, it is\n    null in the `message_start` event and non-null otherwise.\n\
            \    "
        stop_sequence:
          anyOf:
          - type: string
          - type: 'null'
          title: Stop Sequence
          description: "Which custom stop sequence was generated, if any.\n\n    This\
            \ value will be a non-null string if one of your custom stop sequences\
            \ was\n    generated.\n    "
        usage:
          $ref: '#/components/schemas/stdapi__types__anthropic_messages__Usage'
          description: "Billing and rate-limit usage.\n\n    The API bills and rate-limits\
            \ by token counts, as tokens represent the\n    underlying cost to our\
            \ systems.\n\n    Under the hood, the API transforms requests into a format\
            \ suitable for the\n    model. The model's output then goes through a\
            \ parsing stage before becoming an\n    API response. As a result, the\
            \ token counts in `usage` will not match one-to-one\n    with the exact\
            \ visible content of an API request or response.\n\n    For example, `output_tokens`\
            \ will be non-zero, even for an empty string response.\n\n    Total input\
            \ tokens in a request is the summation of `input_tokens`,\n    `cache_creation_input_tokens`,\
            \ and `cache_read_input_tokens`.\n    "
        container:
          anyOf:
          - $ref: '#/components/schemas/Container'
          - type: 'null'
          description: Information about the container used in the request (for the
            code execution tool).
      additionalProperties: false
      type: object
      required:
      - id
      - type
      - role
      - content
      - model
      - usage
      title: Message
      description: Messages API response.
    MessageCountTokensParams:
      properties:
        model:
          type: string
          title: Model
          description: The model that will complete your prompt.
        messages:
          items:
            $ref: '#/components/schemas/MessageParam'
          type: array
          title: Messages
          description: "Input messages.\n\n    Models are trained to operate on alternating\
            \ `user` and `assistant`\n    conversational turns. When creating a new\
            \ `Message`, you specify the prior\n    conversational turns with the\
            \ `messages` parameter, and the model then generates\n    the next `Message`\
            \ in the conversation. Consecutive `user` or `assistant` turns\n    in\
            \ your request will be combined into a single turn.\n\n    Each input\
            \ message must be an object with a `role` and `content`. You can\n   \
            \ specify a single `user`-role message, or you can include multiple `user`\
            \ and\n    `assistant` messages.\n\n    If the final message uses the\
            \ `assistant` role, the response content will\n    continue immediately\
            \ from the content in that message. This can be used to\n    constrain\
            \ part of the model's response.\n\n    Example with a single `user` message:\n\
            \n    ```json\n    [{ \"role\": \"user\", \"content\": \"Hello\" }]\n\
            \    ```\n\n    Example with multiple conversational turns:\n\n    ```json\n\
            \    [\n      { \"role\": \"user\", \"content\": \"Hello there.\" },\n\
            \      { \"role\": \"assistant\", \"content\": \"Hi. How can I help you?\"\
            \ },\n      { \"role\": \"user\", \"content\": \"Can you explain LLMs\
            \ in plain English?\" }\n    ]\n    ```\n\n    Example with a partially-filled\
            \ response:\n\n    ```json\n    [\n      {\n        \"role\": \"user\"\
            ,\n        \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios\
            \ (C) Sun\"\n      },\n      { \"role\": \"assistant\", \"content\": \"\
            The best answer is (\" }\n    ]\n    ```\n\n    Each input message `content`\
            \ may be either a single `string` or an array of\n    content blocks,\
            \ where each block has a specific `type`. Using a `string` for\n    `content`\
            \ is shorthand for an array of one content block of type `\"text\"`. The\n\
            \    following input messages are equivalent:\n\n    ```json\n    { \"\
            role\": \"user\", \"content\": \"Hello\" }\n    ```\n\n    ```json\n \
            \   { \"role\": \"user\", \"content\": [{ \"type\": \"text\", \"text\"\
            : \"Hello\" }] }\n    ```\n\n    Note that if you want to include a system\
            \ prompt, you can use the\n    top-level `system` parameter — there is\
            \ no `\"system\"` role for input messages in\n    the Messages API.\n\
            \    "
        system:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/TextBlockParam'
            type: array
          - type: 'null'
          title: System
          description: "System prompt.\n\n    A system prompt is a way of providing\
            \ context and instructions, such\n    as specifying a particular goal\
            \ or role.\n    "
        tools:
          anyOf:
          - items:
              anyOf:
              - $ref: '#/components/schemas/ToolParam'
              - $ref: '#/components/schemas/ToolBashParam'
              - $ref: '#/components/schemas/ToolTextEditorParam'
              - $ref: '#/components/schemas/ToolComputerParam'
              - $ref: '#/components/schemas/WebSearchToolParam'
              - $ref: '#/components/schemas/CodeExecutionToolParam'
              - $ref: '#/components/schemas/MemoryToolParam'
              - $ref: '#/components/schemas/WebFetchToolParam'
              - $ref: '#/components/schemas/ToolSearchToolBm25Param'
              - $ref: '#/components/schemas/ToolSearchToolRegexParam'
            type: array
          - type: 'null'
          title: Tools
          description: "Definitions of tools that the model may use.\n\n    If you\
            \ include `tools` in your API request, the model may return `tool_use`\n\
            \    content blocks that represent the model's use of those tools. You\
            \ can then run\n    those tools using the tool input generated by the\
            \ model and then optionally\n    return results back to the model using\
            \ `tool_result` content blocks.\n\n    There are two types of tools: **client\
            \ tools** and **server tools**. The\n    behavior described below applies\
            \ to client tools. For\n    server tools; see their individual documentation\
            \ as each has its own behavior.\n\n    Each tool definition includes:\n\
            \n    - `name`: Name of the tool.\n    - `description`: Optional, but\
            \ strongly-recommended description of the tool.\n    - `input_schema`:\
            \ [JSON schema](https://json-schema.org/draft/2020-12) for the\n     \
            \ tool `input` shape that the model will produce in `tool_use` output\
            \ content\n      blocks.\n\n    For example, if you defined `tools` as:\n\
            \n    ```json\n    [\n      {\n        \"name\": \"get_stock_price\",\n\
            \        \"description\": \"Get the current stock price for a given ticker\
            \ symbol.\",\n        \"input_schema\": {\n          \"type\": \"object\"\
            ,\n          \"properties\": {\n            \"ticker\": {\n          \
            \    \"type\": \"string\",\n              \"description\": \"The stock\
            \ ticker symbol, e.g. AAPL for Apple Inc.\"\n            }\n         \
            \ },\n          \"required\": [\"ticker\"]\n        }\n      }\n    ]\n\
            \    ```\n\n    And then asked the model \"What's the S&P 500 at today?\"\
            , the model might produce\n    `tool_use` content blocks in the response\
            \ like this:\n\n    ```json\n    [\n      {\n        \"type\": \"tool_use\"\
            ,\n        \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n        \"name\"\
            : \"get_stock_price\",\n        \"input\": { \"ticker\": \"^GSPC\" }\n\
            \      }\n    ]\n    ```\n\n    You might then run your `get_stock_price`\
            \ tool with `{\"ticker\": \"^GSPC\"}` as an\n    input, and return the\
            \ following back to the model in a subsequent `user`\n    message:\n\n\
            \    ```json\n    [\n      {\n        \"type\": \"tool_result\",\n   \
            \     \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n        \"\
            content\": \"259.75 USD\"\n      }\n    ]\n    ```\n\n    Tools can be\
            \ used for workflows that include running client-side tools and\n    functions,\
            \ or more generally whenever you want the model to produce a particular\n\
            \    JSON structure of output.\n    "
        tool_choice:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/ToolChoiceAutoParam'
            - $ref: '#/components/schemas/ToolChoiceAnyParam'
            - $ref: '#/components/schemas/ToolChoiceToolParam'
            - $ref: '#/components/schemas/ToolChoiceNoneParam'
            discriminator:
              propertyName: type
              mapping:
                any: '#/components/schemas/ToolChoiceAnyParam'
                auto: '#/components/schemas/ToolChoiceAutoParam'
                none: '#/components/schemas/ToolChoiceNoneParam'
                tool: '#/components/schemas/ToolChoiceToolParam'
          - type: 'null'
          title: Tool Choice
          description: "How the model should use the provided tools.\n\n    The model\
            \ can use a specific tool, any available tool, decide by itself, or not\n\
            \    use tools at all.\n    "
        output_config:
          anyOf:
          - $ref: '#/components/schemas/OutputConfigParam'
          - type: 'null'
          description: Configuration options for the model's output, such as the output
            format.
        thinking:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/ThinkingConfigEnabledParam'
            - $ref: '#/components/schemas/ThinkingConfigDisabledParam'
            - $ref: '#/components/schemas/ThinkingConfigAdaptiveParam'
            discriminator:
              propertyName: type
              mapping:
                adaptive: '#/components/schemas/ThinkingConfigAdaptiveParam'
                disabled: '#/components/schemas/ThinkingConfigDisabledParam'
                enabled: '#/components/schemas/ThinkingConfigEnabledParam'
          - type: 'null'
          title: Thinking
          description: "Configuration for enabling extended thinking.\n\n    When\
            \ enabled, responses include `thinking` content blocks showing models's\n\
            \    thinking process before the final answer.\n    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Top-level cache control automatically applies a cache_control
            marker to the last cacheable block in the request.
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - model
      - messages
      title: MessageCountTokensParams
      description: Count tokens request for the Messages API.
    MessageCreateParams:
      properties:
        model:
          type: string
          title: Model
          description: The model that will complete your prompt.
        messages:
          items:
            $ref: '#/components/schemas/MessageParam'
          type: array
          title: Messages
          description: "Input messages.\n\n    Models are trained to operate on alternating\
            \ `user` and `assistant`\n    conversational turns. When creating a new\
            \ `Message`, you specify the prior\n    conversational turns with the\
            \ `messages` parameter, and the model then generates\n    the next `Message`\
            \ in the conversation. Consecutive `user` or `assistant` turns\n    in\
            \ your request will be combined into a single turn.\n\n    Each input\
            \ message must be an object with a `role` and `content`. You can\n   \
            \ specify a single `user`-role message, or you can include multiple `user`\
            \ and\n    `assistant` messages.\n\n    If the final message uses the\
            \ `assistant` role, the response content will\n    continue immediately\
            \ from the content in that message. This can be used to\n    constrain\
            \ part of the model's response.\n\n    Example with a single `user` message:\n\
            \n    ```json\n    [{ \"role\": \"user\", \"content\": \"Hello\" }]\n\
            \    ```\n\n    Example with multiple conversational turns:\n\n    ```json\n\
            \    [\n      { \"role\": \"user\", \"content\": \"Hello there.\" },\n\
            \      { \"role\": \"assistant\", \"content\": \"Hi. How can I help you?\"\
            \ },\n      { \"role\": \"user\", \"content\": \"Can you explain LLMs\
            \ in plain English?\" }\n    ]\n    ```\n\n    Example with a partially-filled\
            \ response:\n\n    ```json\n    [\n      {\n        \"role\": \"user\"\
            ,\n        \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios\
            \ (C) Sun\"\n      },\n      { \"role\": \"assistant\", \"content\": \"\
            The best answer is (\" }\n    ]\n    ```\n\n    Each input message `content`\
            \ may be either a single `string` or an array of\n    content blocks,\
            \ where each block has a specific `type`. Using a `string` for\n    `content`\
            \ is shorthand for an array of one content block of type `\"text\"`. The\n\
            \    following input messages are equivalent:\n\n    ```json\n    { \"\
            role\": \"user\", \"content\": \"Hello\" }\n    ```\n\n    ```json\n \
            \   { \"role\": \"user\", \"content\": [{ \"type\": \"text\", \"text\"\
            : \"Hello\" }] }\n    ```\n\n    Note that if you want to include a system\
            \ prompt, you can use the\n    top-level `system` parameter — there is\
            \ no `\"system\"` role for input messages in\n    the Messages API.\n\
            \    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: "\n    Top-level cache control automatically applies a cache_control\
            \ marker to the last\n    cacheable block in the request.\n    "
        max_tokens:
          type: integer
          minimum: 1.0
          title: Max Tokens
          description: "The maximum number of tokens to generate before stopping.\n\
            \n    Note that our models may stop _before_ reaching this maximum. This\
            \ parameter\n    only specifies the absolute maximum number of tokens\
            \ to generate.\n\n    Different models have different maximum values for\
            \ this parameter.\n    "
        inference_geo:
          anyOf:
          - type: string
          - type: 'null'
          title: Inference Geo
          description: 'Specifies the geographic region for inference processing.

            UNSUPPORTED on this implementation. Data residency configuration is managed
            at server configuration level.'
        metadata:
          anyOf:
          - $ref: '#/components/schemas/MetadataParam'
          - type: 'null'
          description: Object describing metadata about the request.
        output_config:
          anyOf:
          - $ref: '#/components/schemas/OutputConfigParam'
          - type: 'null'
          description: Configuration options for the model's output, such as the output
            format.
        service_tier:
          anyOf:
          - type: string
            enum:
            - auto
            - standard_only
            - flex
            - priority
            - reserved
          - type: 'null'
          title: Service Tier
          description: Determines whether to use priority capacity (if available)
            or standard capacity. See service-tiers documentation for details.
        stop_sequences:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Stop Sequences
          description: "Custom text sequences that will cause the model to stop generating.\n\
            \n    Models will normally stop when they have naturally completed their\
            \ turn,\n    which will result in a response `stop_reason` of `\"end_turn\"\
            `.\n\n    If you want the model to stop generating when it encounters\
            \ custom strings of\n    text, you can use the `stop_sequences` parameter.\
            \ If the model encounters one of\n    the custom sequences, the response\
            \ `stop_reason` value will be `\"stop_sequence\"`\n    and the response\
            \ `stop_sequence` value will contain the matched stop sequence.\n    "
        stream:
          type: boolean
          title: Stream
          description: Whether to incrementally stream the response using server-sent
            events (SSE).
          default: false
        system:
          anyOf:
          - type: string
          - items:
              $ref: '#/components/schemas/TextBlockParam'
            type: array
          - type: 'null'
          title: System
          description: "System prompt.\n\n    A system prompt is a way of providing\
            \ context and instructions, such\n    as specifying a particular goal\
            \ or role.\n    "
        temperature:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Temperature
          description: "Amount of randomness injected into the response.\n\n    Defaults\
            \ to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0`\n\
            \    for analytical / multiple choice, and closer to `1.0` for creative\
            \ and\n    generative tasks.\n\n    Note that even with `temperature`\
            \ of `0.0`, the results will not be fully\n    deterministic.\n    "
        thinking:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/ThinkingConfigEnabledParam'
            - $ref: '#/components/schemas/ThinkingConfigDisabledParam'
            - $ref: '#/components/schemas/ThinkingConfigAdaptiveParam'
            discriminator:
              propertyName: type
              mapping:
                adaptive: '#/components/schemas/ThinkingConfigAdaptiveParam'
                disabled: '#/components/schemas/ThinkingConfigDisabledParam'
                enabled: '#/components/schemas/ThinkingConfigEnabledParam'
          - type: 'null'
          title: Thinking
          description: "Configuration for enabling extended thinking.\n\n    When\
            \ enabled, responses include `thinking` content blocks showing model's\n\
            \    thinking process before the final answer."
        tool_choice:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/ToolChoiceAutoParam'
            - $ref: '#/components/schemas/ToolChoiceAnyParam'
            - $ref: '#/components/schemas/ToolChoiceToolParam'
            - $ref: '#/components/schemas/ToolChoiceNoneParam'
            discriminator:
              propertyName: type
              mapping:
                any: '#/components/schemas/ToolChoiceAnyParam'
                auto: '#/components/schemas/ToolChoiceAutoParam'
                none: '#/components/schemas/ToolChoiceNoneParam'
                tool: '#/components/schemas/ToolChoiceToolParam'
          - type: 'null'
          title: Tool Choice
          description: "How the model should use the provided tools.\n\n    The model\
            \ can use a specific tool, any available tool, decide by itself, or not\n\
            \    use tools at all.\n    "
        tools:
          anyOf:
          - items:
              anyOf:
              - $ref: '#/components/schemas/ToolParam'
              - $ref: '#/components/schemas/ToolBashParam'
              - $ref: '#/components/schemas/ToolTextEditorParam'
              - $ref: '#/components/schemas/ToolComputerParam'
              - $ref: '#/components/schemas/WebSearchToolParam'
              - $ref: '#/components/schemas/CodeExecutionToolParam'
              - $ref: '#/components/schemas/MemoryToolParam'
              - $ref: '#/components/schemas/WebFetchToolParam'
              - $ref: '#/components/schemas/ToolSearchToolBm25Param'
              - $ref: '#/components/schemas/ToolSearchToolRegexParam'
            type: array
          - type: 'null'
          title: Tools
          description: "Definitions of tools that the model may use.\n\n    If you\
            \ include `tools` in your API request, the model may return `tool_use`\n\
            \    content blocks that represent the model's use of those tools. You\
            \ can then run\n    those tools using the tool input generated by the\
            \ model and then optionally\n    return results back to the model using\
            \ `tool_result` content blocks.\n\n    There are two types of tools: **client\
            \ tools** and **server tools**. The\n    behavior described below applies\
            \ to client tools. For\n    server tools, see their individual documentation\
            \ as each has its own behavior.\n\n    Each tool definition includes:\n\
            \n    - `name`: Name of the tool.\n    - `description`: Optional, but\
            \ strongly-recommended description of the tool.\n    - `input_schema`:\
            \ [JSON schema](https://json-schema.org/draft/2020-12) for the\n     \
            \ tool `input` shape that the model will produce in `tool_use` output\
            \ content\n      blocks.\n\n    For example, if you defined `tools` as:\n\
            \n    ```json\n    [\n      {\n        \"name\": \"get_stock_price\",\n\
            \        \"description\": \"Get the current stock price for a given ticker\
            \ symbol.\",\n        \"input_schema\": {\n          \"type\": \"object\"\
            ,\n          \"properties\": {\n            \"ticker\": {\n          \
            \    \"type\": \"string\",\n              \"description\": \"The stock\
            \ ticker symbol, e.g. AAPL for Apple Inc.\"\n            }\n         \
            \ },\n          \"required\": [\"ticker\"]\n        }\n      }\n    ]\n\
            \    ```\n\n    And then asked the model \"What's the S&P 500 at today?\"\
            , the model might produce\n    `tool_use` content blocks in the response\
            \ like this:\n\n    ```json\n    [\n      {\n        \"type\": \"tool_use\"\
            ,\n        \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n        \"name\"\
            : \"get_stock_price\",\n        \"input\": { \"ticker\": \"^GSPC\" }\n\
            \      }\n    ]\n    ```\n\n    You might then run your `get_stock_price`\
            \ tool with `{\"ticker\": \"^GSPC\"}` as an\n    input, and return the\
            \ following back to the model in a subsequent `user`\n    message:\n\n\
            \    ```json\n    [\n      {\n        \"type\": \"tool_result\",\n   \
            \     \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n        \"\
            content\": \"259.75 USD\"\n      }\n    ]\n    ```\n\n    Tools can be\
            \ used for workflows that include running client-side tools and\n    functions,\
            \ or more generally whenever you want the model to produce a particular\n\
            \    JSON structure of output."
        top_k:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Top K
          description: "Only sample from the top K options for each subsequent token.\n\
            \n    Used to remove \"long tail\" low probability responses.\n\n    Recommended\
            \ for advanced use cases only. You usually only need to use\n    `temperature`.\n\
            \n    Note: top_k is not supported by The AWs Bedrock Converse API and\
            \ is passed as = Field()\n    extra arguments, some models may required\
            \ passing this argument with a different name.\n    "
        top_p:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Top P
          description: "Use nucleus sampling.\n\n    In nucleus sampling, we compute\
            \ the cumulative distribution over all the options\n    for each subsequent\
            \ token in decreasing probability order and cut it off once it\n    reaches\
            \ a particular probability specified by `top_p`. You should either alter\n\
            \    `temperature` or `top_p`, but not both.\n\n    Recommended for advanced\
            \ use cases only. You usually only need to use\n    `temperature`.\n \
            \   "
        container:
          anyOf:
          - type: string
          - type: 'null'
          title: Container
          description: Container identifier for reuse across requests.
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - model
      - messages
      - max_tokens
      title: MessageCreateParams
      description: Create message request following the Messages API specification.
    MessageParam:
      properties:
        role:
          type: string
          enum:
          - user
          - assistant
          title: Role
          description: The role of the message author.
        content:
          anyOf:
          - type: string
          - items:
              anyOf:
              - $ref: '#/components/schemas/TextBlockParam'
              - $ref: '#/components/schemas/ImageBlockParam'
              - $ref: '#/components/schemas/DocumentBlockParam'
              - $ref: '#/components/schemas/SearchResultBlockParam'
              - $ref: '#/components/schemas/ThinkingBlockParam'
              - $ref: '#/components/schemas/RedactedThinkingBlockParam'
              - $ref: '#/components/schemas/ToolUseBlockParam'
              - $ref: '#/components/schemas/ToolResultBlockParam'
              - $ref: '#/components/schemas/ServerToolUseBlockParam'
              - $ref: '#/components/schemas/WebSearchToolResultBlockParam'
              - $ref: '#/components/schemas/WebFetchToolResultBlockParam'
              - $ref: '#/components/schemas/CodeExecutionToolResultBlockParam'
              - $ref: '#/components/schemas/BashCodeExecutionToolResultBlockParam'
              - $ref: '#/components/schemas/TextEditorCodeExecutionToolResultBlockParam'
              - $ref: '#/components/schemas/ToolSearchToolResultBlockParam'
              - $ref: '#/components/schemas/ContainerUploadBlockParam'
              - oneOf:
                - $ref: '#/components/schemas/TextBlock'
                - $ref: '#/components/schemas/ThinkingBlock'
                - $ref: '#/components/schemas/RedactedThinkingBlock'
                - $ref: '#/components/schemas/ToolUseBlock'
                - $ref: '#/components/schemas/ServerToolUseBlock'
                - $ref: '#/components/schemas/WebSearchToolResultBlock'
                - $ref: '#/components/schemas/WebFetchToolResultBlock-Input'
                - $ref: '#/components/schemas/CodeExecutionToolResultBlock-Input'
                - $ref: '#/components/schemas/BashCodeExecutionToolResultBlock-Input'
                - $ref: '#/components/schemas/TextEditorCodeExecutionToolResultBlock'
                - $ref: '#/components/schemas/ToolSearchToolResultBlock-Input'
                - $ref: '#/components/schemas/ContainerUploadBlock'
                discriminator:
                  propertyName: type
                  mapping:
                    bash_code_execution_tool_result: '#/components/schemas/BashCodeExecutionToolResultBlock-Input'
                    code_execution_tool_result: '#/components/schemas/CodeExecutionToolResultBlock-Input'
                    container_upload: '#/components/schemas/ContainerUploadBlock'
                    redacted_thinking: '#/components/schemas/RedactedThinkingBlock'
                    server_tool_use: '#/components/schemas/ServerToolUseBlock'
                    text: '#/components/schemas/TextBlock'
                    text_editor_code_execution_tool_result: '#/components/schemas/TextEditorCodeExecutionToolResultBlock'
                    thinking: '#/components/schemas/ThinkingBlock'
                    tool_search_tool_result: '#/components/schemas/ToolSearchToolResultBlock-Input'
                    tool_use: '#/components/schemas/ToolUseBlock'
                    web_fetch_tool_result: '#/components/schemas/WebFetchToolResultBlock-Input'
                    web_search_tool_result: '#/components/schemas/WebSearchToolResultBlock'
            type: array
          title: Content
          description: The message content.
      type: object
      required:
      - role
      - content
      title: MessageParam
      description: Base message parameter.
    MessageTokensCount:
      properties:
        input_tokens:
          type: integer
          title: Input Tokens
          description: The total number of tokens across the provided list of messages,
            system prompt, and tools.
      additionalProperties: false
      type: object
      required:
      - input_tokens
      title: MessageTokensCount
      description: Token count response from the Messages API.
    MetadataParam:
      properties:
        user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: User Id
          description: An external identifier for the end-user.
      type: object
      title: MetadataParam
      description: Request metadata for tracking and filtering.
    Model:
      properties:
        id:
          type: string
          minLength: 1
          title: Id
          description: The unique identifier for the model.
        object:
          type: string
          const: model
          title: Object
          description: The object type. Always "model".
          default: model
        created:
          type: integer
          minimum: 0.0
          title: Created
          description: The Unix timestamp when the model was created.
        owned_by:
          type: string
          minLength: 1
          title: Owned By
          description: The organization that owns the model.
      additionalProperties: false
      type: object
      required:
      - id
      - created
      - owned_by
      title: Model
      description: OpenAI-compatible Model.
    ModelDetails:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        provider:
          type: string
          title: Provider
        region:
          $ref: '#/components/schemas/RegionName'
        service:
          type: string
          title: Service
          default: AWS Bedrock
        input_modalities:
          items:
            type: string
          type: array
          title: Input Modalities
        output_modalities:
          items:
            type: string
          type: array
          title: Output Modalities
        response_streaming:
          type: boolean
          title: Response Streaming
          default: false
        legacy:
          type: boolean
          title: Legacy
          default: false
        start_of_life_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Start Of Life Time
        end_of_life_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Of Life Time
        legacy_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Legacy Time
        public_extended_access_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Public Extended Access Time
        inference_profile:
          anyOf:
          - type: string
          - type: 'null'
          title: Inference Profile
        aliases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aliases
        available_regions:
          items:
            $ref: '#/components/schemas/RegionName'
          type: array
          title: Available Regions
          default: []
        inference_profiles_by_region:
          additionalProperties:
            type: string
          propertyNames:
            $ref: '#/components/schemas/RegionName'
          type: object
          title: Inference Profiles By Region
          default: {}
      type: object
      required:
      - id
      - name
      - provider
      - region
      - input_modalities
      - output_modalities
      title: ModelDetails
      description: "Metadata and capability flags for a single Bedrock model.\n\n\
        Attributes:\n    id: Bedrock model identifier.\n    name: Human-readable model\
        \ name.\n    provider: Model provider name (e.g. Anthropic, Amazon).\n   \
        \ region: Primary AWS region where this model entry was discovered.\n    service:\
        \ AWS service hosting the model.\n    input_modalities: Accepted input types\
        \ (e.g. TEXT, IMAGE).\n    output_modalities: Produced output types (e.g.\
        \ TEXT, IMAGE).\n    response_streaming: Whether the model supports streaming\
        \ responses.\n    legacy: Whether the model is deprecated.\n    start_of_life_time:\
        \ GA date, if known.\n    end_of_life_time: Deprecation date, if known.\n\
        \    legacy_time: Date the model was marked legacy, if known.\n    public_extended_access_time:\
        \ Extended public-access end date, if known.\n    inference_profile: Default\
        \ cross-region inference profile ARN, if any.\n    aliases: Alternative model\
        \ IDs that resolve to this model.\n    available_regions: All regions where\
        \ the model is accessible.\n    inference_profiles_by_region: Per-region inference\
        \ profile ARNs."
    ModelInfo:
      properties:
        id:
          type: string
          title: Id
          description: Unique model identifier.
        created_at:
          type: string
          title: Created At
          description: RFC 3339 datetime string representing the time at which the
            model was released. May be set to an epoch value if the release date is
            unknown.
        display_name:
          type: string
          title: Display Name
          description: A human-readable name for the model.
        type:
          type: string
          const: model
          title: Type
          description: Object type. For Models, this is always `"model"`.
          default: model
      additionalProperties: false
      type: object
      required:
      - id
      - created_at
      - display_name
      title: ModelInfo
      description: Model information.
    ModelListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ModelInfo'
          type: array
          title: Data
          description: List of model objects.
        has_more:
          type: boolean
          title: Has More
          description: Whether there are more results available.
          default: false
        first_id:
          anyOf:
          - type: string
          - type: 'null'
          title: First Id
          description: The ID of the first model in the list.
        last_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Id
          description: The ID of the last model in the list.
      additionalProperties: false
      type: object
      required:
      - data
      title: ModelListResponse
      description: Paginated list of models.
    ModelsResponse:
      properties:
        object:
          type: string
          title: Object
          default: list
        data:
          items:
            $ref: '#/components/schemas/Model'
          type: array
          title: Data
      type: object
      required:
      - data
      title: ModelsResponse
      description: 'Response for the /v1/models endpoint following OpenAI API specification.


        Contains a list of available models and response metadata.'
    OutputConfigParam:
      properties:
        effort:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
            - max
          - type: 'null'
          title: Effort
          description: Effort level for the model's output processing.
        format:
          anyOf:
          - $ref: '#/components/schemas/JSONOutputFormatParam'
          - type: 'null'
          description: A schema to specify output format in responses. See structured
            outputs documentation.
      type: object
      title: OutputConfigParam
      description: Configuration options for the model's output.
    PlainTextSource:
      properties:
        data:
          type: string
          title: Data
          description: The data content.
        media_type:
          type: string
          const: text/plain
          title: Media Type
          description: The media type.
        type:
          type: string
          const: text
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - data
      - media_type
      - type
      title: PlainTextSource
      description: Plain text source.
    PlainTextSourceParam:
      properties:
        data:
          type: string
          title: Data
          description: The data content.
        media_type:
          type: string
          const: text/plain
          title: Media Type
          description: The media type.
        type:
          type: string
          const: text
          title: Type
          description: The type discriminator.
      type: object
      required:
      - data
      - media_type
      - type
      title: PlainTextSourceParam
      description: Plain text source for document content block.
    PromptTokensDetails:
      properties:
        audio_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Audio Tokens
          description: Audio input tokens present in the prompt.
        cached_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Cached Tokens
          description: Cached tokens present in the prompt.
      additionalProperties: false
      type: object
      title: PromptTokensDetails
      description: Breakdown of tokens used in the prompt.
    QwenTranslationMemory:
      properties:
        source:
          type: string
          title: Source
          description: Source statement
        target:
          type: string
          title: Target
          description: Target translation statement
      type: object
      required:
      - source
      - target
      title: QwenTranslationMemory
      description: 'Translation memory entry for Qwen translation.


        Provides example translations to guide the model.'
    QwenTranslationOptions:
      properties:
        source_lang:
          type: string
          title: Source Lang
          description: Full English name of the source language, or "auto" for automatic
            detection
        target_lang:
          type: string
          title: Target Lang
          description: Full English name of the target language
        terms:
          anyOf:
          - items:
              $ref: '#/components/schemas/QwenTranslationTerm'
            type: array
          - type: 'null'
          title: Terms
          description: Term intervention list with source and target properties for
            custom translations
        tm_list:
          anyOf:
          - items:
              $ref: '#/components/schemas/QwenTranslationMemory'
            type: array
          - type: 'null'
          title: Tm List
          description: Translation memory list with source and target statements
        domains:
          anyOf:
          - type: string
          - type: 'null'
          title: Domains
          description: Domain/realm hint statement in English (e.g., "medical", "legal",
            "technical")
      type: object
      required:
      - source_lang
      - target_lang
      title: QwenTranslationOptions
      description: 'Translation options for Qwen models with translation capabilities.


        Configures source/target languages, custom term translations, translation

        memory, and domain hints for specialized translation tasks.'
    QwenTranslationTerm:
      properties:
        source:
          type: string
          title: Source
          description: Source term to translate
        target:
          type: string
          title: Target
          description: Target translation for the term
      type: object
      required:
      - source
      - target
      title: QwenTranslationTerm
      description: 'Term intervention for Qwen translation.


        Allows specifying custom translations for specific terms.'
    RedactedThinkingBlock:
      properties:
        type:
          type: string
          const: redacted_thinking
          title: Type
          description: Content block type. Always `redacted_thinking`.
        data:
          type: string
          title: Data
          description: The redacted thinking content as a base64-encoded string.
      additionalProperties: false
      type: object
      required:
      - type
      - data
      title: RedactedThinkingBlock
      description: Redacted thinking content block.
    RedactedThinkingBlockParam:
      properties:
        type:
          type: string
          const: redacted_thinking
          title: Type
          description: Content block type. Always `redacted_thinking`.
        data:
          type: string
          title: Data
          description: The redacted thinking content as a base64-encoded string.
      type: object
      required:
      - type
      - data
      title: RedactedThinkingBlockParam
      description: Redacted thinking content block parameter.
    RegionName:
      type: string
    ResponseFormatJSONObject:
      properties:
        type:
          type: string
          const: json_object
          title: Type
          description: The type of response format being defined. Always `json_object`.
          default: json_object
      additionalProperties: false
      type: object
      title: ResponseFormatJSONObject
      description: The type of response format being defined.
    ResponseFormatJSONSchema:
      properties:
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: 'Whether to enable strict schema adherence when generating
            the function call.

            If set to true, the model will follow the exact schema defined in the
            `parameters` field. Only a subset of JSON Schema is supported when `strict`
            is `true`.Learn more about Structured Outputs in the [function calling
            guide](https://platform.openai.com/docs/guides/function-calling).'
        type:
          type: string
          const: json_schema
          title: Type
          description: The type of response format being defined. Always `json_schema`.
          default: json_schema
        json_schema:
          $ref: '#/components/schemas/JSONSchema'
          description: Structured Outputs configuration options, including a JSON
            Schema.
      type: object
      required:
      - json_schema
      title: ResponseFormatJSONSchema
      description: "Structured Outputs configuration options, including a JSON Schema.\n\
        \nAttributes:\n    type: Must be \"json_schema\".\n    json_schema: Structured\
        \ Outputs JSON Schema configuration."
    ResponseFormatText:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: The type of response format being defined. Always `text`.
          default: text
      additionalProperties: false
      type: object
      title: ResponseFormatText
      description: The type of response format being defined.
    SearchResultBlockParam:
      properties:
        type:
          type: string
          const: search_result
          title: Type
          description: Content block type. Always `search_result`.
        content:
          items:
            $ref: '#/components/schemas/TextBlockParam'
          type: array
          title: Content
          description: The content of the search result.
        source:
          type: string
          title: Source
          description: The source URL of the search result.
        title:
          type: string
          title: Title
          description: Title of the search result.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
        citations:
          anyOf:
          - $ref: '#/components/schemas/CitationsConfigParam'
          - type: 'null'
          description: Citations configuration for the search result.
      type: object
      required:
      - type
      - content
      - source
      - title
      title: SearchResultBlockParam
      description: Search result content block parameter.
    ServerToolCaller:
      properties:
        tool_id:
          type: string
          title: Tool Id
          description: The tool identifier.
        type:
          type: string
          pattern: ^code_execution(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - tool_id
      - type
      title: ServerToolCaller
      description: Tool invocation generated by a server-side tool.
    ServerToolUsage:
      properties:
        web_search_requests:
          type: integer
          title: Web Search Requests
          description: The number of web search tool requests.
        web_fetch_requests:
          type: integer
          title: Web Fetch Requests
          description: The number of web fetch tool requests.
      additionalProperties: false
      type: object
      required:
      - web_search_requests
      - web_fetch_requests
      title: ServerToolUsage
      description: Server tool usage statistics.
    ServerToolUseBlock:
      properties:
        type:
          type: string
          const: server_tool_use
          title: Type
          description: Content block type. Always `server_tool_use`.
        id:
          type: string
          title: Id
          description: Unique identifier for this server tool use.
        name:
          type: string
          title: Name
          description: Name of the server tool being used.
        input:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Input
          description: Tool input parameters as a JSON object.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      additionalProperties: false
      type: object
      required:
      - type
      - id
      - name
      - input
      title: ServerToolUseBlock
      description: Server-side tool use content block.
    ServerToolUseBlockParam:
      properties:
        type:
          type: string
          const: server_tool_use
          title: Type
          description: Content block type. Always `server_tool_use`.
        id:
          type: string
          title: Id
          description: Unique identifier for this server tool use.
        name:
          type: string
          title: Name
          description: Name of the server tool being used.
        input:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Input
          description: Tool input parameters as a JSON object.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      type: object
      required:
      - type
      - id
      - name
      - input
      title: ServerToolUseBlockParam
      description: Server-side tool use content block parameter.
    SpeechCreateParams:
      properties:
        input:
          type: string
          minLength: 1
          title: Input
          description: 'The text to generate audio for.

            With Amazon Polly models, the input can be a SSML document.'
        model:
          type: string
          title: Model
          description: 'One of the available TTS models.

            Available models: `amazon.polly-standard`, `amazon.polly-neural`, `amazon.polly-long-form`,
            `amazon.polly-generative`.'
        voice:
          type: string
          title: Voice
          description: 'The voice to use when generating the audio.

            Supported voices vary by model and language.'
        instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Instructions
          description: 'Control the voice of your generated audio with additional
            instructions.

            Does not work with `amazon.polly-standard`, `amazon.polly-neural`, `amazon.polly-long-form`
            or `amazon.polly-generative`.'
        response_format:
          type: string
          enum:
          - mp3
          - ogg
          - opus
          - aac
          - flac
          - wav
          - pcm
          title: Response Format
          description: 'The format to audio in.

            Supported formats: `mp3`, `opus`, `ogg` (vorbis), `aac`, `flac`, `wav`,
            and `pcm`'
          default: mp3
        speed:
          type: number
          maximum: 2.0
          minimum: 0.2
          title: Speed
          description: 'The speed of the generated audio.

            Select a value from `0.2` to `2.0`. `1.0` is the default.'
          default: 1.0
        stream_format:
          type: string
          enum:
          - audio
          - sse
          title: Stream Format
          description: 'The format to stream the audio in.

            Supported formats are `sse` and `audio`.'
          default: audio
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      type: object
      required:
      - input
      - model
      - voice
      title: SpeechCreateParams
      description: Request model for text-to-speech generation.
    TextBlock:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: Content block type. Always `text`.
        text:
          type: string
          title: Text
          description: Text content.
        citations:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/CitationCharLocation'
              - $ref: '#/components/schemas/CitationPageLocation'
              - $ref: '#/components/schemas/CitationContentBlockLocation'
              - $ref: '#/components/schemas/CitationsWebSearchResultLocation'
              - $ref: '#/components/schemas/CitationsSearchResultLocation'
              discriminator:
                propertyName: type
                mapping:
                  char_location: '#/components/schemas/CitationCharLocation'
                  content_block_location: '#/components/schemas/CitationContentBlockLocation'
                  page_location: '#/components/schemas/CitationPageLocation'
                  search_result_location: '#/components/schemas/CitationsSearchResultLocation'
                  web_search_result_location: '#/components/schemas/CitationsWebSearchResultLocation'
            type: array
          - type: 'null'
          title: Citations
          description: Citations supporting the text block.
      additionalProperties: false
      type: object
      required:
      - type
      - text
      title: TextBlock
      description: Text content block.
    TextBlockParam:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: Content block type. Always `text`.
        text:
          type: string
          title: Text
          description: Text content.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
        citations:
          anyOf:
          - items:
              anyOf:
              - $ref: '#/components/schemas/CitationCharLocationParam'
              - $ref: '#/components/schemas/CitationPageLocationParam'
              - $ref: '#/components/schemas/CitationContentBlockLocationParam'
              - $ref: '#/components/schemas/CitationWebSearchResultLocationParam'
              - $ref: '#/components/schemas/CitationSearchResultLocationParam'
            type: array
          - type: 'null'
          title: Citations
          description: Citations supporting the text block. The type of citation returned
            will depend on the type of document being cited. Citing a PDF results
            in `page_location`, plain text results in `char_location`, and content
            document results in `content_block_location`.
      type: object
      required:
      - type
      - text
      title: TextBlockParam
      description: Text content block parameter for system prompts and messages.
    TextEditorCodeExecutionCreateResultBlock:
      properties:
        is_file_update:
          type: boolean
          title: Is File Update
          description: Whether this result is a file update.
        type:
          type: string
          const: text_editor_code_execution_create_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - is_file_update
      - type
      title: TextEditorCodeExecutionCreateResultBlock
      description: Text editor code execution create result block.
    TextEditorCodeExecutionCreateResultBlockParam:
      properties:
        is_file_update:
          type: boolean
          title: Is File Update
          description: Whether this result is a file update.
        type:
          type: string
          const: text_editor_code_execution_create_result
          title: Type
          description: The type discriminator.
      type: object
      required:
      - is_file_update
      - type
      title: TextEditorCodeExecutionCreateResultBlockParam
      description: Text editor code execution create result block parameter.
    TextEditorCodeExecutionStrReplaceResultBlock:
      properties:
        lines:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Lines
          description: The lines of content.
        new_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: New Lines
          description: The number of lines in the new text.
        new_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: New Start
          description: The starting line of the new text.
        old_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Old Lines
          description: The number of lines in the original text.
        old_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: Old Start
          description: The starting line of the original text.
        type:
          type: string
          const: text_editor_code_execution_str_replace_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - type
      title: TextEditorCodeExecutionStrReplaceResultBlock
      description: Text editor code execution str replace result block.
    TextEditorCodeExecutionStrReplaceResultBlockParam:
      properties:
        type:
          type: string
          const: text_editor_code_execution_str_replace_result
          title: Type
          description: The type discriminator.
        lines:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Lines
          description: The lines of content.
        new_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: New Lines
          description: The number of lines in the new text.
        new_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: New Start
          description: The starting line of the new text.
        old_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Old Lines
          description: The number of lines in the original text.
        old_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: Old Start
          description: The starting line of the original text.
      type: object
      required:
      - type
      title: TextEditorCodeExecutionStrReplaceResultBlockParam
      description: Text editor code execution str replace result block parameter.
    TextEditorCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/TextEditorCodeExecutionToolResultError'
          - $ref: '#/components/schemas/TextEditorCodeExecutionViewResultBlock'
          - $ref: '#/components/schemas/TextEditorCodeExecutionCreateResultBlock'
          - $ref: '#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: text_editor_code_execution_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: TextEditorCodeExecutionToolResultBlock
      description: Text editor code execution tool result block.
    TextEditorCodeExecutionToolResultBlockParam:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/TextEditorCodeExecutionToolResultErrorParam'
          - $ref: '#/components/schemas/TextEditorCodeExecutionViewResultBlockParam'
          - $ref: '#/components/schemas/TextEditorCodeExecutionCreateResultBlockParam'
          - $ref: '#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlockParam'
          title: Content
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: text_editor_code_execution_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: TextEditorCodeExecutionToolResultBlockParam
      description: Text editor code execution tool result block parameter.
    TextEditorCodeExecutionToolResultError:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - unavailable
          - too_many_requests
          - execution_time_exceeded
          - file_not_found
          title: Error Code
          description: Machine-readable error code.
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
          description: Human-readable error message.
        type:
          type: string
          const: text_editor_code_execution_tool_result_error
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: TextEditorCodeExecutionToolResultError
      description: Text editor code execution tool result error.
    TextEditorCodeExecutionToolResultErrorParam:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - unavailable
          - too_many_requests
          - execution_time_exceeded
          - file_not_found
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: text_editor_code_execution_tool_result_error
          title: Type
          description: The type discriminator.
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
          description: Human-readable error message.
      type: object
      required:
      - error_code
      - type
      title: TextEditorCodeExecutionToolResultErrorParam
      description: Text editor code execution tool result error parameter.
    TextEditorCodeExecutionViewResultBlock:
      properties:
        content:
          type: string
          title: Content
          description: The content of the block.
        file_type:
          type: string
          enum:
          - text
          - image
          - pdf
          title: File Type
          description: The type of file output.
        num_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Lines
          description: The number of lines.
        start_line:
          anyOf:
          - type: integer
          - type: 'null'
          title: Start Line
          description: The starting line number.
        total_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Lines
          description: Total number of lines in the file.
        type:
          type: string
          const: text_editor_code_execution_view_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - file_type
      - type
      title: TextEditorCodeExecutionViewResultBlock
      description: Text editor code execution view result block.
    TextEditorCodeExecutionViewResultBlockParam:
      properties:
        content:
          type: string
          title: Content
          description: The content of the block.
        file_type:
          type: string
          enum:
          - text
          - image
          - pdf
          title: File Type
          description: The type of file output.
        type:
          type: string
          const: text_editor_code_execution_view_result
          title: Type
          description: The type discriminator.
        num_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Lines
          description: The number of lines.
        start_line:
          anyOf:
          - type: integer
          - type: 'null'
          title: Start Line
          description: The starting line number.
        total_lines:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Lines
          description: Total number of lines in the file.
      type: object
      required:
      - content
      - file_type
      - type
      title: TextEditorCodeExecutionViewResultBlockParam
      description: Text editor code execution view result block parameter.
    ThinkingBlock:
      properties:
        type:
          type: string
          const: thinking
          title: Type
          description: Content block type. Always `thinking`.
        thinking:
          type: string
          title: Thinking
          description: The thinking process content.
        signature:
          type: string
          title: Signature
          description: Signature for the thinking block.
      additionalProperties: false
      type: object
      required:
      - type
      - thinking
      - signature
      title: ThinkingBlock
      description: Thinking content block for extended thinking.
    ThinkingBlockParam:
      properties:
        type:
          type: string
          const: thinking
          title: Type
          description: Content block type. Always `thinking`.
        thinking:
          type: string
          title: Thinking
          description: The thinking process content.
        signature:
          anyOf:
          - type: string
          - type: 'null'
          title: Signature
          description: A token that verifies that the thinking text was generated
            by the model.
      type: object
      required:
      - type
      - thinking
      title: ThinkingBlockParam
      description: Thinking content block parameter.
    ThinkingConfigAdaptiveParam:
      properties:
        type:
          type: string
          const: adaptive
          title: Type
          description: Thinking config type. Always `adaptive`.
      type: object
      required:
      - type
      title: ThinkingConfigAdaptiveParam
      description: Adaptive thinking configuration.
    ThinkingConfigDisabledParam:
      properties:
        type:
          type: string
          const: disabled
          title: Type
          description: Thinking config type. Always `disabled`.
      type: object
      required:
      - type
      title: ThinkingConfigDisabledParam
      description: Disabled thinking configuration.
    ThinkingConfigEnabledParam:
      properties:
        type:
          type: string
          const: enabled
          title: Type
          description: Thinking config type. Always `enabled`.
        budget_tokens:
          type: integer
          title: Budget Tokens
          description: Determines how many tokens the model can use for its internal
            reasoning process. Larger budgets can enable more thorough analysis for
            complex problems, improving response quality. Must be less than `max_tokens`.
      type: object
      required:
      - type
      - budget_tokens
      title: ThinkingConfigEnabledParam
      description: Enabled thinking configuration.
    ToolBashParam:
      properties:
        type:
          type: string
          pattern: ^bash(?:_[0-9]{8})?$
          title: Type
          description: Tool type. Always `bash_*`.
        name:
          type: string
          const: bash
          title: Name
          description: "Name of the tool.\n\n    This is how the tool will be called\
            \ by the model and in `tool_use` blocks.\n    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        input_examples:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Input Examples
          description: Example inputs for the tool.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - type
      - name
      title: ToolBashParam
      description: Bash tool definition for command execution.
    ToolChoiceAnyParam:
      properties:
        type:
          type: string
          const: any
          title: Type
          description: Tool choice type. Always `any`.
        disable_parallel_tool_use:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Disable Parallel Tool Use
          description: Whether to disable parallel tool use.
      type: object
      required:
      - type
      title: ToolChoiceAnyParam
      description: Any tool choice - model must use at least one tool.
    ToolChoiceAutoParam:
      properties:
        type:
          type: string
          const: auto
          title: Type
          description: Tool choice type. Always `auto`.
        disable_parallel_tool_use:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Disable Parallel Tool Use
          description: Whether to disable parallel tool use.
      type: object
      required:
      - type
      title: ToolChoiceAutoParam
      description: Auto tool choice - model decides whether to use tools.
    ToolChoiceNoneParam:
      properties:
        type:
          type: string
          const: none
          title: Type
          description: The type discriminator.
      type: object
      required:
      - type
      title: ToolChoiceNoneParam
      description: The model will not be allowed to use tools.
    ToolChoiceToolParam:
      properties:
        type:
          type: string
          const: tool
          title: Type
          description: Tool choice type. Always `tool`.
        name:
          type: string
          title: Name
          description: Name of the tool to use.
        disable_parallel_tool_use:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Disable Parallel Tool Use
          description: Whether to disable parallel tool use.
      type: object
      required:
      - type
      - name
      title: ToolChoiceToolParam
      description: Specific tool choice - model must use the specified tool.
    ToolComputerParam:
      properties:
        type:
          type: string
          pattern: ^computer(?:_[0-9]{8})?$
          title: Type
          description: Tool type. Always ``computer_*``.
        name:
          type: string
          const: computer
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in ``tool_use`` blocks.
        display_width_px:
          type: integer
          title: Display Width Px
          description: The width of the display in pixels.
        display_height_px:
          type: integer
          title: Display Height Px
          description: The height of the display in pixels.
        display_number:
          anyOf:
          - type: integer
          - type: 'null'
          title: Display Number
          description: The X11 display number (e.g. 0, 1) for the display.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        enable_zoom:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Zoom
          description: Whether to enable an action to take a zoomed-in screenshot
            of the screen.  Added in ``computer_20251124``.
        input_examples:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Input Examples
          description: Example inputs for the tool.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - type
      - name
      - display_width_px
      - display_height_px
      title: ToolComputerParam
      description: Computer use tool definition for GUI automation.
    ToolInputSchema:
      properties:
        type:
          type: string
          const: object
          title: Type
          description: Schema type. Must be `object`.
          default: object
        properties:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/JsonValue'
            type: object
          - type: 'null'
          title: Properties
          description: Properties of the tool input schema.
        required:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Required
          description: Required properties.
      type: object
      title: ToolInputSchema
      description: JSON schema for tool input parameters.
    ToolParam:
      properties:
        type:
          type: string
          const: custom
          title: Type
          description: Tool type. Always `custom` for custom tools.
          default: custom
        name:
          type: string
          title: Name
          description: "Name of the tool.\n\n    This is how the tool will be called\
            \ by the model and in `tool_use` blocks.\n    "
        input_schema:
          $ref: '#/components/schemas/ToolInputSchema'
          description: "[JSON schema](https://json-schema.org/draft/2020-12) for this\
            \ tool's input.\n\n    This defines the shape of the `input` that your\
            \ tool accepts and that the model\n    will produce.\n    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: "Description of what this tool does.\n\n    Tool descriptions\
            \ should be as detailed as possible. The more information that\n    the\
            \ model has about what the tool is and how to use it, the better it will\n\
            \    perform. You can use natural language descriptions to reinforce important\n\
            \    aspects of the tool input JSON schema.\n    "
        eager_input_streaming:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Eager Input Streaming
          description: "Enable eager input streaming for this tool.\n\n    When true,\
            \ tool input parameters will be streamed incrementally as they are\n \
            \   generated, and types will be inferred on-the-fly rather than buffering\
            \ the full\n    JSON output. When false, streaming is disabled for this\
            \ tool even if the\n    fine-grained-tool-streaming beta is active. When\
            \ null (default), uses the\n    default behavior based on beta headers.\n\
            \    "
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        input_examples:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Input Examples
          description: Example inputs for the tool.
      type: object
      required:
      - name
      - input_schema
      title: ToolParam
      description: Tool definition for function calling.
    ToolReferenceBlock:
      properties:
        tool_name:
          type: string
          title: Tool Name
          description: The name of the tool.
        type:
          type: string
          const: tool_reference
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - tool_name
      - type
      title: ToolReferenceBlock
      description: Tool reference block.
    ToolReferenceBlockParam:
      properties:
        tool_name:
          type: string
          title: Tool Name
          description: The name of the tool.
        type:
          type: string
          const: tool_reference
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - tool_name
      - type
      title: ToolReferenceBlockParam
      description: Tool reference block that can be included in tool_result content.
    ToolResultBlockParam:
      properties:
        type:
          type: string
          const: tool_result
          title: Type
          description: Content block type. Always `tool_result`.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: ID of the tool use this result corresponds to.
        content:
          anyOf:
          - type: string
          - items:
              anyOf:
              - $ref: '#/components/schemas/TextBlockParam'
              - $ref: '#/components/schemas/ImageBlockParam'
            type: array
          title: Content
          description: Tool result content. Can be text or list of content blocks.
        is_error:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Error
          description: Whether this tool result represents an error.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
      type: object
      required:
      - type
      - tool_use_id
      - content
      title: ToolResultBlockParam
      description: Tool result content block parameter.
    ToolSearchToolBm25Param:
      properties:
        name:
          type: string
          const: tool_search_tool_bm25
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in `tool_use` blocks.
        type:
          type: string
          pattern: ^tool_search_tool_bm25(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - name
      - type
      title: ToolSearchToolBm25Param
      description: Tool search tool BM25 parameter.
    ToolSearchToolRegexParam:
      properties:
        name:
          type: string
          const: tool_search_tool_regex
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in `tool_use` blocks.
        type:
          type: string
          pattern: ^tool_search_tool_regex(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - name
      - type
      title: ToolSearchToolRegexParam
      description: Tool search tool regex parameter.
    ToolSearchToolResultBlock-Input:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/ToolSearchToolResultError'
          - $ref: '#/components/schemas/ToolSearchToolSearchResultBlock'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: tool_search_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: ToolSearchToolResultBlock
      description: Tool search tool result block.
    ToolSearchToolResultBlock-Output:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/ToolSearchToolResultError'
          - $ref: '#/components/schemas/ToolSearchToolSearchResultBlock'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: tool_search_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: ToolSearchToolResultBlock
      description: Tool search tool result block.
    ToolSearchToolResultBlockParam:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/ToolSearchToolResultErrorParam'
          - $ref: '#/components/schemas/ToolSearchToolSearchResultBlockParam'
          title: Content
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: tool_search_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: ToolSearchToolResultBlockParam
      description: Tool search tool result block parameter.
    ToolSearchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/ToolSearchToolResultErrorCode'
          description: Machine-readable error code.
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
          description: Human-readable error message.
        type:
          type: string
          const: tool_search_tool_result_error
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: ToolSearchToolResultError
      description: Tool search tool result error.
    ToolSearchToolResultErrorCode:
      type: string
      enum:
      - invalid_tool_input
      - unavailable
      - too_many_requests
      - execution_time_exceeded
    ToolSearchToolResultErrorParam:
      properties:
        error_code:
          $ref: '#/components/schemas/ToolSearchToolResultErrorCode'
          description: Machine-readable error code.
        type:
          type: string
          const: tool_search_tool_result_error
          title: Type
          description: The type discriminator.
      type: object
      required:
      - error_code
      - type
      title: ToolSearchToolResultErrorParam
      description: Tool search tool result error parameter.
    ToolSearchToolSearchResultBlock:
      properties:
        tool_references:
          items:
            $ref: '#/components/schemas/ToolReferenceBlock'
          type: array
          title: Tool References
          description: References to tools.
        type:
          type: string
          const: tool_search_tool_search_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - tool_references
      - type
      title: ToolSearchToolSearchResultBlock
      description: Tool search tool search result block.
    ToolSearchToolSearchResultBlockParam:
      properties:
        tool_references:
          items:
            $ref: '#/components/schemas/ToolReferenceBlockParam'
          type: array
          title: Tool References
          description: References to tools.
        type:
          type: string
          const: tool_search_tool_search_result
          title: Type
          description: The type discriminator.
      type: object
      required:
      - tool_references
      - type
      title: ToolSearchToolSearchResultBlockParam
      description: Tool search tool search result block parameter.
    ToolTextEditorParam:
      properties:
        type:
          type: string
          pattern: ^text_editor(?:_[0-9]{8})?$
          title: Type
          description: Tool type. Always `text_editor_*`.
        name:
          type: string
          enum:
          - str_replace_editor
          - str_replace_based_edit_tool
          title: Name
          description: "Name of the tool.\n\n    This is how the tool will be called\
            \ by the model and in `tool_use` blocks.\n    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        input_examples:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Input Examples
          description: Example inputs for the tool.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
        max_characters:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Characters
          description: Maximum number of characters to display when viewing a file.  If
            not specified, defaults to displaying the full file.
      type: object
      required:
      - type
      - name
      title: ToolTextEditorParam
      description: Text editor tool definition for file editing.
    ToolUseBlock:
      properties:
        type:
          type: string
          const: tool_use
          title: Type
          description: Content block type. Always `tool_use`.
        id:
          type: string
          title: Id
          description: Unique identifier for this tool use.
        name:
          type: string
          title: Name
          description: Name of the tool being used.
        input:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Input
          description: Tool input parameters as a JSON object.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      additionalProperties: false
      type: object
      required:
      - type
      - id
      - name
      - input
      title: ToolUseBlock
      description: Tool use content block.
    ToolUseBlockParam:
      properties:
        type:
          type: string
          const: tool_use
          title: Type
          description: Content block type. Always `tool_use`.
        id:
          type: string
          title: Id
          description: Unique identifier for this tool use.
        name:
          type: string
          title: Name
          description: Name of the tool being used.
        input:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Input
          description: Tool input parameters as a JSON object.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Cache control for this content block.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      type: object
      required:
      - type
      - id
      - name
      - input
      title: ToolUseBlockParam
      description: Tool use content block parameter.
    TopLogprob:
      properties:
        token:
          type: string
          title: Token
          description: The token.
        bytes:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Bytes
          description: A list of integers representing the UTF-8 bytes representation
            of the token. Useful in instances where characters are represented by
            multiple tokens and their byte representations must be combined to generate
            the correct text representation. Can be `null` if there is no bytes representation
            for the token.
        logprob:
          type: number
          title: Logprob
          description: The log probability of this token, if it is within the top
            20 most likely tokens. Otherwise, the value `-9999.0` is used to signify
            that the token is very unlikely.
      additionalProperties: false
      type: object
      required:
      - token
      - logprob
      title: TopLogprob
      description: Top log probability token information.
    URLImageSource:
      properties:
        type:
          type: string
          const: url
          title: Type
          description: Image source type. Always `url`.
        url:
          type: string
          minLength: 1
          title: Url
          description: URL of the image (or data URI, S3 URI or base64 encode string).
      type: object
      required:
      - type
      - url
      title: URLImageSource
      description: URL image source for image content block.
    URLPDFSource:
      properties:
        type:
          type: string
          const: url
          title: Type
          description: Document source type. Always `url`.
        url:
          type: string
          minLength: 1
          title: Url
          description: URL of the PDF document (or data URI, S3 URI or base 64 encoded
            string).
      type: object
      required:
      - type
      - url
      title: URLPDFSource
      description: URL PDF source for document content block.
    Upload:
      properties:
        id:
          type: string
          pattern: ^upload_[a-z2-7]{32}$
          title: Id
          description: The Upload unique identifier.
        object:
          type: string
          const: upload
          title: Object
          description: The object type, which is always 'upload'.
          default: upload
        bytes:
          type: integer
          title: Bytes
          description: The intended number of bytes to be uploaded.
        created_at:
          type: integer
          title: Created At
          description: The Unix timestamp (in seconds) for when the Upload was created.
        expires_at:
          type: integer
          title: Expires At
          description: The Unix timestamp (in seconds) for when the Upload will expire.
        filename:
          type: string
          title: Filename
          description: The name of the file to be uploaded.
        purpose:
          type: string
          enum:
          - assistants
          - batch
          - fine-tune
          - vision
          - user_data
          - evals
          title: Purpose
          description: The intended purpose of the file.
        status:
          type: string
          enum:
          - pending
          - completed
          - cancelled
          - expired
          title: Status
          description: The status of the Upload.
        file:
          anyOf:
          - $ref: '#/components/schemas/FileObject'
          - type: 'null'
          description: The ready File object after the Upload is completed.
      additionalProperties: false
      type: object
      required:
      - id
      - bytes
      - created_at
      - expires_at
      - filename
      - purpose
      - status
      title: Upload
      description: The Upload object can accept byte chunks in the form of Parts.
    UploadPart:
      properties:
        id:
          type: string
          pattern: ^part_[0-9a-f]{32}$
          title: Id
          description: The upload Part unique identifier.
        object:
          type: string
          const: upload.part
          title: Object
          description: The object type, which is always `upload.part`.
          default: upload.part
        created_at:
          type: integer
          title: Created At
          description: The Unix timestamp (in seconds) for when the Part was created.
        upload_id:
          type: string
          pattern: ^upload_[a-z2-7]{32}$
          title: Upload Id
          description: The ID of the Upload object that this Part was added to.
      additionalProperties: false
      type: object
      required:
      - id
      - created_at
      - upload_id
      title: UploadPart
      description: A part of a multipart upload.
    UsageInputTokensDetails:
      properties:
        image_tokens:
          type: integer
          minimum: 0.0
          title: Image Tokens
          description: The number of image tokens in the input prompt.
          default: 0
        text_tokens:
          type: integer
          minimum: 0.0
          title: Text Tokens
          description: The number of text tokens in the input prompt.
          default: 0
      additionalProperties: false
      type: object
      title: UsageInputTokensDetails
      description: Detailed input token usage for image generation.
    UserLocationParam:
      properties:
        type:
          type: string
          const: approximate
          title: Type
          description: The type discriminator.
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
          description: The city of the user.
        country:
          anyOf:
          - type: string
          - type: 'null'
          title: Country
          description: The two letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
            of the user.
        region:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
          description: The region of the user.
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
          description: The [IANA timezone](https://nodatime.org/TimeZones) of the
            user.
      type: object
      required:
      - type
      title: UserLocationParam
      description: User location parameter.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    WebFetchBlock-Input:
      properties:
        content:
          $ref: '#/components/schemas/DocumentBlock'
          description: The content of the block.
        retrieved_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Retrieved At
          description: ISO 8601 timestamp when the content was retrieved
        type:
          type: string
          const: web_fetch_result
          title: Type
          description: The type discriminator.
        url:
          type: string
          title: Url
          description: Fetched content URL
      additionalProperties: false
      type: object
      required:
      - content
      - type
      - url
      title: WebFetchBlock
      description: Web fetch block.
    WebFetchBlock-Output:
      properties:
        content:
          $ref: '#/components/schemas/DocumentBlock'
          description: The content of the block.
        retrieved_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Retrieved At
          description: ISO 8601 timestamp when the content was retrieved
        type:
          type: string
          const: web_fetch_result
          title: Type
          description: The type discriminator.
        url:
          type: string
          title: Url
          description: Fetched content URL
      additionalProperties: false
      type: object
      required:
      - content
      - type
      - url
      title: WebFetchBlock
      description: Web fetch block.
    WebFetchBlockParam:
      properties:
        content:
          $ref: '#/components/schemas/DocumentBlockParam'
          description: The content of the block.
        type:
          type: string
          const: web_fetch_result
          title: Type
          description: The type discriminator.
        url:
          type: string
          title: Url
          description: Fetched content URL
        retrieved_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Retrieved At
          description: ISO 8601 timestamp when the content was retrieved
      type: object
      required:
      - content
      - type
      - url
      title: WebFetchBlockParam
      description: Web fetch block parameter.
    WebFetchToolParam:
      properties:
        name:
          type: string
          const: web_fetch
          title: Name
          description: Name of the tool.  This is how the tool will be called by the
            model and in `tool_use` blocks.
        type:
          type: string
          pattern: ^web_fetch(?:_[0-9]{8})?$
          title: Type
          description: The type discriminator.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        allowed_domains:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allowed Domains
          description: List of domains to allow fetching from
        blocked_domains:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Blocked Domains
          description: List of domains to block fetching from
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        citations:
          anyOf:
          - $ref: '#/components/schemas/CitationsConfigParam'
          - type: 'null'
          description: Citations configuration for fetched documents.  Citations are
            disabled by default.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        max_content_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Content Tokens
          description: Maximum number of tokens used by including web page text content
            in the context.  The limit is approximate and does not apply to binary
            content such as PDFs.
        max_uses:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Uses
          description: Maximum number of times the tool can be used in the API request.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
      type: object
      required:
      - name
      - type
      title: WebFetchToolParam
      description: Web fetch tool parameter.
    WebFetchToolResultBlock-Input:
      properties:
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
        content:
          anyOf:
          - $ref: '#/components/schemas/WebFetchToolResultErrorBlock'
          - $ref: '#/components/schemas/WebFetchBlock-Input'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: web_fetch_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: WebFetchToolResultBlock
      description: Web fetch tool result block.
    WebFetchToolResultBlock-Output:
      properties:
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
        content:
          anyOf:
          - $ref: '#/components/schemas/WebFetchToolResultErrorBlock'
          - $ref: '#/components/schemas/WebFetchBlock-Output'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: web_fetch_tool_result
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: WebFetchToolResultBlock
      description: Web fetch tool result block.
    WebFetchToolResultBlockParam:
      properties:
        content:
          anyOf:
          - $ref: '#/components/schemas/WebFetchToolResultErrorBlockParam'
          - $ref: '#/components/schemas/WebFetchBlockParam'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: web_fetch_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: WebFetchToolResultBlockParam
      description: Web fetch tool result block parameter.
    WebFetchToolResultErrorBlock:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - url_too_long
          - url_not_allowed
          - url_not_accessible
          - unsupported_content_type
          - too_many_requests
          - max_uses_exceeded
          - unavailable
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: web_fetch_tool_result_error
          title: Type
          description: The type discriminator.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: WebFetchToolResultErrorBlock
      description: Web fetch tool result error block.
    WebFetchToolResultErrorBlockParam:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - url_too_long
          - url_not_allowed
          - url_not_accessible
          - unsupported_content_type
          - too_many_requests
          - max_uses_exceeded
          - unavailable
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: web_fetch_tool_result_error
          title: Type
          description: The type discriminator.
      type: object
      required:
      - error_code
      - type
      title: WebFetchToolResultErrorBlockParam
      description: Web fetch tool result error block parameter.
    WebSearchOptions:
      properties:
        search_context_size:
          type: string
          enum:
          - low
          - medium
          - high
          title: Search Context Size
          description: 'High level guidance for the amount of context window space
            to use for the search. One of `low`, `medium`, or `high`. `medium` is
            the default.

            UNSUPPORTED on this implementation.'
          default: medium
        user_location:
          anyOf:
          - $ref: '#/components/schemas/WebSearchOptionsUserLocation'
          - type: 'null'
          description: 'Approximate location parameters for the search.

            UNSUPPORTED on this implementation.'
      additionalProperties: false
      type: object
      title: WebSearchOptions
      description: 'Web search tool options.


        UNSUPPORTED on this implementation.'
    WebSearchOptionsUserLocation:
      properties:
        type:
          type: string
          const: approximate
          title: Type
          description: 'The type of location approximation. Always `approximate`.

            UNSUPPORTED on this implementation.'
        approximate:
          $ref: '#/components/schemas/WebSearchOptionsUserLocationApproximate'
          description: 'Approximate location parameters for the search.

            UNSUPPORTED on this implementation.'
      additionalProperties: false
      type: object
      required:
      - type
      - approximate
      title: WebSearchOptionsUserLocation
      description: 'User location parameters for web search (approximate).


        UNSUPPORTED on this implementation.'
    WebSearchOptionsUserLocationApproximate:
      properties:
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
          description: 'Free text input for the city of the user, e.g. `San Francisco`.

            UNSUPPORTED on this implementation.'
        country:
          anyOf:
          - type: string
          - type: 'null'
          title: Country
          description: 'The two-letter ISO country code of the user, e.g. `US`.

            UNSUPPORTED on this implementation.'
        region:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
          description: 'Free text input for the region of the user, e.g. `California`.

            UNSUPPORTED on this implementation.'
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
          description: 'The IANA timezone of the user, e.g. `America/Los_Angeles`.

            UNSUPPORTED on this implementation.'
      additionalProperties: false
      type: object
      title: WebSearchOptionsUserLocationApproximate
      description: 'Approximate user location for web search.


        UNSUPPORTED on this implementation.'
    WebSearchResultBlock:
      properties:
        type:
          type: string
          const: web_search_result
          title: Type
          description: Result type. Always `web_search_result`.
        encrypted_content:
          anyOf:
          - type: string
          - type: 'null'
          title: Encrypted Content
          description: Encrypted content of the web page.
        title:
          type: string
          title: Title
          description: Title of the web page.
        url:
          type: string
          title: Url
          description: URL of the web page.
        page_age:
          anyOf:
          - type: string
          - type: 'null'
          title: Page Age
          description: Age of the page (e.g., '2 days ago').
      additionalProperties: false
      type: object
      required:
      - type
      - title
      - url
      title: WebSearchResultBlock
      description: Individual web search result.
    WebSearchResultBlockParam:
      properties:
        encrypted_content:
          type: string
          title: Encrypted Content
          description: Encrypted content of the web page.
        title:
          type: string
          title: Title
          description: The title.
        type:
          type: string
          const: web_search_result
          title: Type
          description: The type discriminator.
        url:
          type: string
          title: Url
          description: The URL.
        page_age:
          anyOf:
          - type: string
          - type: 'null'
          title: Page Age
          description: How long ago the page was published or updated.
      type: object
      required:
      - encrypted_content
      - title
      - type
      - url
      title: WebSearchResultBlockParam
      description: Web search result block parameter.
    WebSearchToolParam:
      properties:
        type:
          type: string
          pattern: ^web_search(?:_[0-9]{8})?$
          title: Type
          description: Tool type. Always `web_search_*`.
        name:
          type: string
          const: web_search
          title: Name
          description: "Name of the tool.\n\n    This is how the tool will be called\
            \ by the model and in `tool_use` blocks.\n    "
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        allowed_callers:
          anyOf:
          - items:
              type: string
              pattern: ^(?:direct|code_execution(?:_[0-9]{8})?)$
            type: array
          - type: 'null'
          title: Allowed Callers
          description: List of allowed callers for this tool.
        allowed_domains:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allowed Domains
          description: If provided, only these domains will be included in results.  Cannot
            be used alongside `blocked_domains`.
        blocked_domains:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Blocked Domains
          description: If provided, these domains will never appear in results.  Cannot
            be used alongside `allowed_domains`.
        defer_loading:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Defer Loading
          description: If true, tool will not be included in initial system prompt.  Only
            loaded when returned via tool_reference from tool search.
        max_uses:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Uses
          description: Maximum number of times the tool can be used in the API request.
        strict:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Strict
          description: When true, guarantees schema validation on tool names and inputs
        user_location:
          anyOf:
          - $ref: '#/components/schemas/UserLocationParam'
          - type: 'null'
          description: Parameters for the user's location.  Used to provide more relevant
            search results.
      type: object
      required:
      - type
      - name
      title: WebSearchToolParam
      description: 'Web search tool definition.


        Supported on models that declare web search as a system tool

        (e.g., Amazon Nova 2 via ``nova_grounding``).'
    WebSearchToolRequestErrorParam:
      properties:
        error_code:
          type: string
          enum:
          - invalid_tool_input
          - unavailable
          - max_uses_exceeded
          - too_many_requests
          - query_too_long
          - request_too_large
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: web_search_tool_result_error
          title: Type
          description: The type discriminator.
      type: object
      required:
      - error_code
      - type
      title: WebSearchToolRequestErrorParam
      description: Web search tool request error parameter.
    WebSearchToolResultBlock:
      properties:
        type:
          type: string
          const: web_search_tool_result
          title: Type
          description: Content block type. Always `web_search_tool_result`.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: ID of the tool use this result corresponds to.
        content:
          anyOf:
          - $ref: '#/components/schemas/WebSearchToolResultError'
          - items:
              $ref: '#/components/schemas/WebSearchResultBlock'
            type: array
          title: Content
          description: Search results or error.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      additionalProperties: false
      type: object
      required:
      - type
      - tool_use_id
      - content
      title: WebSearchToolResultBlock
      description: Web search tool result content block.
    WebSearchToolResultBlockParam:
      properties:
        content:
          anyOf:
          - items:
              $ref: '#/components/schemas/WebSearchResultBlockParam'
            type: array
          - $ref: '#/components/schemas/WebSearchToolRequestErrorParam'
          title: Content
          description: The content of the block.
        tool_use_id:
          type: string
          title: Tool Use Id
          description: The ID of the tool use that produced this result.
        type:
          type: string
          const: web_search_tool_result
          title: Type
          description: The type discriminator.
        cache_control:
          anyOf:
          - $ref: '#/components/schemas/CacheControlEphemeralParam'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
        caller:
          anyOf:
          - $ref: '#/components/schemas/DirectCaller'
          - $ref: '#/components/schemas/ServerToolCaller'
          - type: 'null'
          title: Caller
          description: Tool invocation directly from the model.
      type: object
      required:
      - content
      - tool_use_id
      - type
      title: WebSearchToolResultBlockParam
      description: Web search tool result block parameter.
    WebSearchToolResultError:
      properties:
        error_code:
          type: string
          title: Error Code
          description: Machine-readable error code.
        type:
          type: string
          const: error
          title: Type
          description: Result type. Always `error`.
      additionalProperties: false
      type: object
      required:
      - error_code
      - type
      title: WebSearchToolResultError
      description: Web search tool result error.
    stdapi__types__anthropic_messages__Usage:
      properties:
        input_tokens:
          type: integer
          title: Input Tokens
          description: Number of input tokens.
        output_tokens:
          type: integer
          title: Output Tokens
          description: Number of output tokens.
        cache_creation_input_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Cache Creation Input Tokens
          description: Number of input tokens used to create the cache entry.
        cache_read_input_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Cache Read Input Tokens
          description: Number of input tokens read from the cache.
        cache_creation:
          anyOf:
          - $ref: '#/components/schemas/CacheCreation'
          - type: 'null'
          description: Detailed cache creation token usage breakdown.
        inference_geo:
          anyOf:
          - type: string
          - type: 'null'
          title: Inference Geo
          description: Inference geographic region.
        server_tool_use:
          anyOf:
          - $ref: '#/components/schemas/ServerToolUsage'
          - type: 'null'
          description: Server tool usage statistics.
        service_tier:
          anyOf:
          - type: string
            enum:
            - standard
            - priority
            - batch
          - type: 'null'
          title: Service Tier
          description: The service tier used for the request.
      additionalProperties: false
      type: object
      required:
      - input_tokens
      - output_tokens
      title: Usage
      description: Token usage information.
    stdapi__types__openai_embeddings__Usage:
      properties:
        prompt_tokens:
          type: integer
          minimum: 0.0
          title: Prompt Tokens
          description: The number of tokens used by the prompt.
          default: 0
        total_tokens:
          type: integer
          minimum: 0.0
          title: Total Tokens
          description: The total number of tokens used by the request.
          default: 0
      additionalProperties: false
      type: object
      title: Usage
      description: Embedding usage accounting compatible with OpenAI.
    stdapi__types__openai_images__Usage:
      properties:
        input_tokens:
          type: integer
          minimum: 0.0
          title: Input Tokens
          description: The number of tokens (images and text) in the input prompt.
          default: 0
        input_tokens_details:
          $ref: '#/components/schemas/UsageInputTokensDetails'
          description: The input tokens detailed information for the image generation.
        output_tokens:
          type: integer
          minimum: 0.0
          title: Output Tokens
          description: The number of output tokens generated by the model.
          default: 0
        total_tokens:
          type: integer
          minimum: 0.0
          title: Total Tokens
          description: The total number of tokens (images and text) used for the image
            generation.
          default: 0
      additionalProperties: false
      type: object
      required:
      - input_tokens_details
      title: Usage
      description: Image generation token usage information.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
