> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# [Obsoleto] Completaciones de chat para el uso del SDK/client de OpenAI

> **Obsoleto: Utilice la API de Respuestas (`/api/v1/llm/responses`) en su lugar.** Punto de terminación de completación de chat compatible con OpenAI, diseñado para usarse con las bibliotecas de cliente oficiales de OpenAI (Python, Node.js, etc.). Soporta tanto solicitudes en streaming como no streaming al establecer el parámetro `stream`. Este punto de terminación maneja la solicitud/respuesta directamente y devuelve respuestas formateadas al estándar de OpenAI. Úselo al integrarse con el código de cliente de OpenAI existente. Nota: El controlador real está registrado en el nivel del servidor Bun para un rendimiento óptimo con el formato de streaming del SDK de OpenAI.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=es post /api/v1/llm/chat/completions
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    La API MKA1 es una API RESTful que proporciona acceso a la plataforma MKA1.
    Aprende cómo comenzar con la API y el SDK de TypeScript
    [aquí](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Propietario
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Gestiona permisos para recursos LLM. Crea recursos, otorga/revoca permisos
      y elimina recursos. Solo los propietarios de recursos pueden otorgar,
      revocar o eliminar permisos.
    x-displayName: Autorización de Recursos
  - name: Embeddings
    description: >-
      Puntos finales de la API de incrustación de texto para generar
      representaciones vectoriales del texto. Crea incrustaciones semánticas
      para búsqueda, agrupamiento y coincidencia de similitudes utilizando
      varios modelos de incrustación.
    x-displayName: Incrustaciones
  - name: Feedback
    description: >-
      API de retroalimentación del usuario para calificar y comentar sobre las
      completaciones de chat. Recopila calificaciones de pulgares arriba/abajo y
      comentarios detallados para mejorar las respuestas del modelo y rastrear
      la satisfacción del usuario.
    x-displayName: Retroalimentación
  - name: Images
    description: >-
      Puntos finales de la API de generación de imágenes para crear imágenes a
      partir de descripciones de texto. Genera imágenes con control sobre el
      tamaño, la calidad y el estilo.
    x-displayName: Imágenes
  - name: MCP Vault
    description: >-
      API de bóveda MCP para almacenar configuraciones de servidor MCP propiedad
      del usuario y credenciales encriptadas. Los agentes hacen referencia a los
      ID de la bóveda para que los secretos se resuelvan solo en el momento de
      la ejecución de la herramienta.
    x-displayName: Bóveda MCP
  - name: Speech
    description: >-
      Puntos finales de la API de voz para el procesamiento de audio. Convierte
      texto en habla natural (TTS) o transcribe el habla a texto (STT) en
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de seguimiento de uso y análisis para monitorear el consumo de tokens,
      la cantidad de solicitudes y el análisis de costos. Visualiza estadísticas
      detalladas por usuario, modelo y período de tiempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extracción de datos estructurados para extraer información de
      archivos. Define esquemas JSON para extraer datos estructurados de
      imágenes, PDFs y documentos. Soporta plantillas de esquemas reutilizables.
    x-displayName: Extracción
  - name: Text Classification
    description: >-
      API de clasificación de texto para categorizar texto en etiquetas
      predefinidas. Utilice modelos de IA para clasificar el contenido del texto
      para análisis de sentimientos, categorización de temas y moderación de
      contenido.
    x-displayName: Clasificación de Texto
  - name: Responses
    description: >-
      API de respuestas impulsadas por agentes para crear agentes de IA con uso
      autónomo de herramientas. Crea asistentes conversacionales que pueden
      utilizar búsqueda en la web, operaciones con archivos, generación de
      imágenes, ejecución de código, simulación de uso de computadoras e
      integraciones de MCP. Soporta procesamiento en segundo plano, transmisión
      y seguimiento de estado en tiempo real.
    x-displayName: Respuestas
  - name: Files
    description: >-
      API de gestión de archivos para cargar, almacenar y gestionar archivos con
      expiración automática e integración con S3. Carga archivos que se pueden
      usar con Asistentes, Almacenes Vectoriales y otras funciones. Los archivos
      se almacenan en S3 con metadatos rastreados en PostgreSQL. Soporta la
      limpieza automática de archivos expirados.
    x-displayName: Archivos
  - name: Vector Stores
    description: >-
      API de almacenamiento de vectores para almacenar y buscar documentos
      utilizando incrustaciones. Crea almacenes de vectores, sube archivos con
      fragmentación automática y generación de incrustaciones, y realiza
      búsquedas semánticas. Los archivos se procesan de forma asincrónica
      utilizando flujos de trabajo de Temporal para durabilidad. Soporta
      limpieza automática de almacenes caducados y LanceDB para almacenamiento
      eficiente de vectores.
    x-displayName: Almacenes de Vectores
  - name: Conversations
    description: >-
      API de gestión de conversaciones para almacenar y recuperar el estado de
      la conversación a través de llamadas a la API de respuesta. Crea
      conversaciones, añade elementos (mensajes de usuario, mensajes del
      asistente, mensajes del sistema) y mantiene el historial de la
      conversación. Soporta seguimiento de metadatos y gestión del estado del
      diálogo en múltiples turnos.
    x-displayName: Conversaciones
  - name: Guardrails
    description: >-
      API de salvaguardias de seguridad de IA para configurar la moderación de
      contenido y las políticas de seguridad. Configura listas de palabras
      prohibidas, detección de inyección de mensajes y prevención de filtración
      de mensajes del sistema. Las salvaguardias se aplican a todas las
      solicitudes de una cuenta y se pueden probar antes del despliegue.
    x-displayName: Barandillas
  - name: Models
    description: >-
      API de listado de modelos para descubrir modelos disponibles. Devuelve IDs
      de modelos, propiedad y metadatos para todos los modelos registrados en la
      puerta de enlace.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gestionar paquetes de instrucciones y archivos
      versionados siguiendo el estándar de Habilidades del Agente. Crea,
      versiona y descarga paquetes de habilidades reutilizables que incluyen
      manifiestos SKILL.md para entornos de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Usa la API de Respuestas (`/api/v1/llm/responses`) en su
      lugar.** Puntos finales de completación de chat con soporte para
      transmisión, llamadas a herramientas y múltiples proveedores.
    x-deprecated: true
    x-displayName: Completaciones de Chat
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Evaluaciones
  - name: Fine-Tuning
    x-displayName: Ajuste fino
  - name: Memory Stores
    x-displayName: Almacenes de memoria
  - name: Prompts
    x-displayName: Sugerencias
  - name: API Key
    x-displayName: Clave de API
  - name: Organization
    x-displayName: Organización
  - name: Cluster Admin
    x-displayName: Administrador de clúster
  - name: Sessions
    description: Crear, inspeccionar, acceder y terminar sesiones de sandbox.
    x-displayName: Sesiones
  - name: Browser
    description: >-
      Conéctate a las sesiones del navegador a través del proxy del puerto de la
      puerta de enlace. Las sesiones del navegador exponen un punto final del
      Protocolo de DevTools de Chrome en el puerto 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Ejecutar comandos de shell y código dentro de una sesión de sandbox
      existente.
    x-displayName: Ejecución
  - name: Workspace
    description: >-
      Inspeccionar el manifiesto del espacio de trabajo, transferir archivos o
      archivos comprimidos, y descargar artefactos generados.
    x-displayName: Espacio de trabajo
  - name: Sandbox Usage
    description: >-
      Agrega estadísticas de uso de sandbox entre sesiones, ejecución y
      operaciones del espacio de trabajo.
    x-displayName: Uso de Sandbox
  - name: Sandbox Pricing
    description: >-
      Gestión de administrador de clúster de la tarjeta de tarifas de cómputo
      del entorno aislado utilizada para el gasto presupuestado.
    x-displayName: Precios de Sandbox
  - name: Agents
    description: Crea y gestiona definiciones de agentes reutilizables.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspeccionar el historial de configuración de un agente y revertir a una
      versión anterior.
    x-displayName: Versiones de Agente
  - name: Agent Runs
    description: >-
      Ejecutar agentes guardados e inspeccionar los resultados de ejecución
      persistidos.
    x-displayName: Ejecuta Agentes
  - name: Agent Connectors
    description: >-
      Conecta agentes guardados a canales de mensajería externos como Telegram,
      incluyendo intercambio de texto, fotos y documentos compatibles.
    x-displayName: Conectores de agentes
  - name: Agent Schedules
    description: >-
      Crea y gestiona ejecuciones de agentes programadas o recurrentes
      guardadas.
    x-displayName: Horarios de Agentes
  - name: schema-4_other
    x-displayName: otro
  - name: Budgets
    x-displayName: Presupuestos
  - name: Settings
    x-displayName: Configuración
  - name: Deployments
    description: Servidores de inferencia de larga duración.
    x-displayName: Implementaciones
  - name: Fine-Tune Jobs
    description: Enviar, monitorear y cancelar trabajos de ajuste fino.
    x-displayName: Trabajos de ajuste fino
  - name: Container Images
    description: Imágenes de contenedor personalizadas para implementaciones y trabajos.
    x-displayName: Imágenes de contenedores
  - name: Serving Models
    description: Modelos registrados para implementación y ajuste fino.
    x-displayName: Sirviendo modelos
  - name: Volumes
    description: Almacenamiento persistente para pesos y puntos de control.
    x-displayName: Volúmenes
  - name: Secrets
    description: Credenciales inyectadas en tus cargas de trabajo.
    x-displayName: Secretos
  - name: Accelerators
    description: Tipos de aceleradores disponibles (GPU, NPU, TPU).
    x-displayName: Aceleradores
paths:
  /api/v1/llm/chat/completions:
    post:
      tags:
        - Chat Completions
      summary: '[Obsoleto] Completaciones de chat para el uso del SDK/client de OpenAI'
      description: >-
        **Obsoleto: Utilice la API de Respuestas (`/api/v1/llm/responses`) en su
        lugar.** Punto de terminación de completación de chat compatible con
        OpenAI, diseñado para usarse con las bibliotecas de cliente oficiales de
        OpenAI (Python, Node.js, etc.). Soporta tanto solicitudes en streaming
        como no streaming al establecer el parámetro `stream`. Este punto de
        terminación maneja la solicitud/respuesta directamente y devuelve
        respuestas formateadas al estándar de OpenAI. Úselo al integrarse con el
        código de cliente de OpenAI existente. Nota: El controlador real está
        registrado en el nivel del servidor Bun para un rendimiento óptimo con
        el formato de streaming del SDK de OpenAI.
      operationId: createChatCompletion
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenAIChatCompletionRequestParams'
            example:
              model: meetkai:functionary-urdu-mini-pak
              messages:
                - role: user
                  content: What is the capital of France?
              temperature: 0.7
              max_tokens: 100
      responses:
        '200':
          description: >-
            Respuesta de finalización de chat exitosa. Devuelve JSON para no
            transmitir (stream=false) o Eventos enviados por el servidor para
            transmisión (stream=true).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIChatCompletion'
              example:
                id: chatcmpl-abc123
                object: chat.completion
                created: 1704067200
                model: meetkai:functionary-urdu-mini-pak
                choices:
                  - index: 0
                    message:
                      role: assistant
                      content: The capital of France is Paris.
                    finish_reason: stop
                usage:
                  prompt_tokens: 15
                  completion_tokens: 8
                  total_tokens: 23
            text/event-stream:
              schema:
                type: string
              example: |+
                data: {"id":"chatcmpl-abc123"}

      deprecated: true
      security:
        - bearerAuth: []
components:
  schemas:
    OpenAIChatCompletionRequestParams:
      type: object
      properties:
        model:
          type: string
          minLength: 1
          description: >-
            ID del modelo a usar. Puedes utilizar el formato proveedor:model o
            simplemente el nombre del modelo con un proveedor predeterminado.
        messages:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OpenAIRequestMessage'
          description: >-
            Una lista de mensajes que comprende la conversación hasta ahora. Se
            requiere al menos un mensaje.
        tools:
          type: array
          items:
            $ref: '#/components/schemas/OpenAIToolDefinition'
          description: >-
            Una lista de herramientas que el modelo puede llamar. Utiliza esto
            para proporcionar definiciones de funciones que el modelo puede
            invocar.
        tool_choice:
          anyOf:
            - const: none
              description: >-
                El modelo no llamará a ninguna herramienta y, en su lugar,
                generará un mensaje.
            - const: auto
              description: >-
                El modelo puede elegir entre generar un mensaje o llamar a una o
                más herramientas.
            - const: required
              description: El modelo debe llamar a una o más herramientas.
            - type: object
              properties:
                type:
                  const: function
                  description: >-
                    El tipo de la herramienta. Actualmente solo se admite
                    'función'.
                function:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      description: El nombre de la función a llamar
                  required:
                    - name
                  description: La función a llamar
              required:
                - type
                - function
              description: Fuerza al modelo a llamar a una función específica.
          description: >-
            Controles qué herramienta (si es que hay alguna) es llamada por el
            modelo. 'ninguna' significa que el modelo no llamará a ninguna
            herramienta. 'automático' significa que el modelo puede elegir.
            'requerido' fuerza una llamada a la herramienta.
        stream:
          type: boolean
          description: >-
            Si se establece, los deltas de mensajes parciales se enviarán como
            eventos enviados por el servidor. Nota: Este campo es ignorado por
            el punto final de transmisión, utilizado solo por los puntos finales
            de clientes compatibles con OpenAI.
        'n':
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: >-
            Cuántas opciones de finalización de chat generar para cada mensaje
            de entrada. El valor predeterminado es 1.
        max_tokens:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: >-
            El número máximo de tokens que se pueden generar en la finalización
            del chat. La longitud total de los tokens de entrada y los tokens
            generados está limitada por la longitud del contexto del modelo.
        temperature:
          type: number
          minimum: 0
          maximum: 2
          description: >-
            ¿Qué temperatura de muestreo utilizar, entre 0 y 2? Valores más
            altos como 0.8 harán que la salida sea más aleatoria, mientras que
            valores más bajos como 0.2 la harán más enfocada y determinista.
        top_p:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Una alternativa al muestreo con temperatura, llamada muestreo de
            núcleo, donde el modelo considera los resultados de los tokens con
            masa de probabilidad top_p. Así que 0.1 significa que solo se
            consideran los tokens que comprenden el 10% superior de la masa de
            probabilidad.
        frequency_penalty:
          type: number
          description: >-
            Número entre -2.0 y 2.0. Los valores positivos penalizan nuevos
            tokens en función de su frecuencia existente en el texto hasta
            ahora, disminuyendo la probabilidad del modelo de repetir la misma
            línea de forma literal.
        presence_penalty:
          type: number
          description: >-
            Número entre -2.0 y 2.0. Los valores positivos penalizan nuevos
            tokens según si aparecen en el texto hasta ahora, aumentando la
            probabilidad del modelo de hablar sobre nuevos temas.
        seed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Si se especifica, el sistema hará un esfuerzo por muestrear de
            manera determinista. No se garantiza el determinismo, pero la misma
            semilla debería devolver típicamente resultados similares.
        stop:
          anyOf:
            - type: string
            - type: array
              maxItems: 4
              items:
                type: string
          description: >-
            Hasta 4 secuencias donde la API dejará de generar más tokens. El
            texto devuelto no contendrá la secuencia de parada.
        response_format:
          type: object
          properties:
            type:
              anyOf:
                - type: string
                - enum:
                    - text
                    - json_object
                  type: string
              description: >-
                El tipo de formato. Utiliza 'json_object' para habilitar el modo
                JSON, garantizando que el mensaje que genera el modelo sea un
                JSON válido.
            json_schema:
              type: object
              properties:
                name:
                  type: string
                schema:
                  type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
                strict:
                  type: boolean
              required:
                - name
                - schema
              description: >-
                Definición de esquema JSON para salida estructurada. Requerido
                cuando el tipo es 'json_schema'.
          required:
            - type
          description: >-
            Un objeto que especifica el formato que el modelo debe generar.
            Establecer en { 'type': 'json_object' } activa el modo JSON.
        logprobs:
          type: boolean
          description: >-
            Si se deben devolver las probabilidades logarítmicas de los tokens
            de salida. Si es verdadero, devuelve las probabilidades logarítmicas
            de cada token de salida devuelto en el contenido del mensaje.
        top_logprobs:
          type: integer
          minimum: 0
          maximum: 20
          description: >-
            Un entero entre 0 y 20 que especifica el número de tokens más
            probables a devolver en cada posición de token, cada uno con una
            probabilidad logarítmica asociada. logprobs debe estar configurado
            como verdadero si se utiliza este parámetro.
        user:
          type: string
          description: >-
            Un identificador único que representa a su usuario final, lo que
            puede ayudar a monitorear y detectar abusos. También se utiliza para
            el seguimiento de uso y análisis.
        stream_options:
          type: object
          properties:
            include_usage:
              type: boolean
              description: >-
                Si se establece, se transmitirá un fragmento adicional con
                estadísticas de uso de tokens antes del mensaje de datos:
                [DONE]. El campo de uso muestra el uso total de tokens para toda
                la solicitud.
          description: >-
            Opciones para la respuesta de streaming. Solo establece esto cuando
            configures stream: true.
        parallel_tool_calls:
          type: boolean
          default: true
          description: >-
            Si habilitar la llamada a funciones en paralelo durante el uso de la
            herramienta.
        reasoning_effort:
          anyOf:
            - enum:
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
              type: string
            - type: 'null'
          description: >-
            Restringe el esfuerzo en el razonamiento para los modelos de
            razonamiento. Un esfuerzo menor resulta en respuestas más rápidas y
            menos tokens de razonamiento. Valores soportados: 'ninguno',
            'mínimo', 'bajo', 'medio', 'alto', 'muy alto' o nulo.
        auto_routing:
          type: boolean
          description: >-
            Cuando es verdadero, la puerta de enlace analiza la complejidad de
            la solicitud y enruta automáticamente entre variantes cuantizadas,
            MoE y densas de la familia de modelos solicitada.
      required:
        - model
        - messages
      additionalProperties: false
      description: >-
        Parámetros de solicitud para crear una finalización de chat. Basado en
        la API de Finalizaciones de Chat de OpenAI.
      examples:
        - model: meetkai:functionary-urdu-mini-pak
          messages:
            - role: user
              content: What is the capital of France?
          temperature: 0.7
          max_tokens: 100
    OpenAIChatCompletion:
      type: object
      properties:
        id:
          type: string
          description: Un identificador único para la finalización del chat
        object:
          const: chat.completion
          description: El tipo de objeto, siempre 'chat.completion'
        created:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            La marca de tiempo de Unix (en segundos) de cuando se creó la
            finalización del chat.
        model:
          type: string
          description: El modelo utilizado para la finalización del chat
        choices:
          type: array
          items:
            $ref: '#/components/schemas/OpenAIChatCompletionChoice'
          description: >-
            Una lista de opciones de finalización de chat. Puede haber más de
            una si n es mayor que 1.
        usage:
          type: object
          properties:
            prompt_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Número de tokens en el aviso
            completion_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Número de tokens en la conclusión generada
            total_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: >-
                Número total de tokens utilizados en la solicitud (mensaje +
                respuesta)
            completion_tokens_details:
              type: object
              properties:
                reasoning_tokens:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Número de tokens utilizados para el razonamiento
                audio_tokens:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Número de tokens utilizados para audio
              description: Desglose de tokens de finalización por tipo
          required:
            - prompt_tokens
            - completion_tokens
            - total_tokens
          description: Estadísticas de uso para la solicitud de finalización
        system_fingerprint:
          type: string
          description: >-
            Esta huella digital representa la configuración del backend con la
            que se ejecuta el modelo. Se puede utilizar junto con el parámetro
            de solicitud seed para entender cuándo se han realizado cambios en
            el backend que podrían afectar el determinismo.
      required:
        - id
        - object
        - created
        - model
        - choices
        - usage
      description: Representa una respuesta de finalización de chat de la API
      examples:
        - id: chatcmpl-abc123
          object: chat.completion
          created: 1704067200
          model: meetkai:functionary-urdu-mini-pak
          choices:
            - index: 0
              message:
                role: assistant
                content: The capital of France is Paris.
              finish_reason: stop
          usage:
            prompt_tokens: 15
            completion_tokens: 8
            total_tokens: 23
      example:
        id: chatcmpl-abc123
        object: chat.completion
        created: 1704067200
        model: meetkai:functionary-urdu-mini-pak
        choices:
          - index: 0
            message:
              role: assistant
              content: The capital of France is Paris.
            finish_reason: stop
        usage:
          prompt_tokens: 15
          completion_tokens: 8
          total_tokens: 23
    OpenAIRequestMessage:
      type: object
      properties:
        role:
          enum:
            - system
            - user
            - assistant
            - tool
            - developer
          type: string
          description: >-
            El papel del autor del mensaje. Determina cómo el mensaje es
            interpretado por el modelo.
        name:
          type: string
          description: >-
            Un nombre opcional para el participante. Para los mensajes de rol de
            herramienta, este es el nombre de la función llamada.
        tool_call_id:
          type: string
          description: >-
            Llamada de herramienta a la que esta mensaje está respondiendo.
            Requerido cuando el rol es 'herramienta'.
        content:
          anyOf:
            - type: string
            - type: array
              items:
                anyOf:
                  - type: object
                    properties:
                      type:
                        const: text
                        description: >-
                          Identificador de tipo de contenido para contenido de
                          texto
                      text:
                        type: string
                        description: El contenido del texto a incluir en el mensaje
                    required:
                      - type
                      - text
                  - type: object
                    properties:
                      type:
                        const: image_url
                        description: >-
                          Identificador de tipo de contenido para contenido de
                          URL de imagen
                      image_url:
                        type: object
                        properties:
                          url:
                            type: string
                            description: >-
                              La URL de la imagen, o una URL de datos de imagen
                              codificada en base64
                          detail:
                            enum:
                              - auto
                              - low
                              - high
                            type: string
                            description: >-
                              El nivel de detalle del análisis de la imagen.
                              'bajo' desactiva el modo de alta resolución,
                              'alto' lo activa, 'automático' permite que el
                              modelo decida.
                        required:
                          - url
                    required:
                      - type
                      - image_url
                  - type: object
                    properties:
                      type:
                        const: input_audio
                        description: >-
                          Identificador de tipo de contenido para contenido de
                          entrada de audio
                      input_audio:
                        type: object
                        properties:
                          data:
                            type: string
                            description: Datos de audio codificados en Base64
                          format:
                            enum:
                              - wav
                              - mp3
                            type: string
                            description: El formato de los datos de audio codificados
                        required:
                          - data
                          - format
                    required:
                      - type
                      - input_audio
                  - type: object
                    properties:
                      type:
                        const: file
                        description: >-
                          Identificador de tipo de contenido para contenido de
                          archivo
                      file:
                        anyOf:
                          - type: object
                            properties:
                              filename:
                                type: string
                                description: El nombre del archivo
                              file_data:
                                type: string
                                description: Datos del archivo codificados en Base64
                            required:
                              - filename
                              - file_data
                          - type: object
                            properties:
                              file_id:
                                type: string
                                description: >-
                                  El identificador único de un archivo
                                  previamente cargado.
                              filename:
                                type: string
                                description: Anulación opcional del nombre de archivo
                            required:
                              - file_id
                        description: >-
                          El archivo a incluir en el mensaje, ya sea como datos
                          en bruto o por referencia.
                    required:
                      - type
                      - file
                description: >-
                  Una parte de contenido que se puede incluir en un mensaje.
                  Soporta texto, imágenes, audio y archivos.
            - type: 'null'
          description: >-
            El contenido del mensaje. Puede ser una cadena, un array de partes
            de contenido (para entradas multimodales), o nulo para mensajes del
            asistente con llamadas a herramientas.
        tool_calls:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: La identificación de la llamada a la herramienta
              type:
                const: function
                description: >-
                  El tipo de la herramienta. Actualmente solo se admite
                  'función'.
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: El nombre de la función a llamar
                  arguments:
                    type: string
                    description: >-
                      Los argumentos para llamar a la función, como una cadena
                      JSON.
                required:
                  - name
                  - arguments
                description: La función que se va a llamar
            required:
              - id
              - type
              - function
          description: >-
            Las llamadas a la herramienta generadas por el modelo, como las
            llamadas a funciones. Solo están presentes en los mensajes del
            asistente con llamadas a la herramienta.
      required:
        - role
        - content
      description: >-
        Un mensaje en la solicitud de finalización del chat. Representa un turno
        de conversación del usuario, asistente, sistema o herramienta.
    OpenAIToolDefinition:
      type: object
      properties:
        type:
          const: function
          description: El tipo de la herramienta. Actualmente solo se admite 'función'.
        function:
          type: object
          properties:
            name:
              type: string
              minLength: 1
              description: >-
                El nombre de la función a ser llamada. Debe ser a-z, A-Z, 0-9,
                guiones bajos y guiones, con una longitud máxima de 64
                caracteres.
            description:
              type: string
              description: >-
                Una descripción de lo que hace la función. Utilizada por el
                modelo para elegir cuándo y cómo llamar a la función.
            parameters:
              description: >-
                Los parámetros que la función acepta, descritos como un objeto
                JSON Schema. Omitir para aceptar ningún parámetro.
          required:
            - name
          description: La definición de la función
      required:
        - type
        - function
      description: Una herramienta que el modelo puede llamar al generar una respuesta.
    OpenAIChatCompletionChoice:
      type: object
      properties:
        index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: El índice de esta elección en la lista de elecciones.
        message:
          type: object
          properties:
            role:
              const: assistant
              description: >-
                El rol del autor del mensaje debe ser 'asistente' para los
                mensajes del asistente.
            name:
              type: string
              description: >-
                Un nombre opcional para el participante. Para los mensajes de
                rol de herramienta, este es el nombre de la función llamada.
            tool_call_id:
              type: string
              description: >-
                Llamada de herramienta a la que esta mensaje está respondiendo.
                Requerido cuando el rol es 'herramienta'.
            content:
              anyOf:
                - type: string
                - type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            const: text
                            description: >-
                              Identificador de tipo de contenido para contenido
                              de texto
                          text:
                            type: string
                            description: El contenido del texto a incluir en el mensaje
                        required:
                          - type
                          - text
                      - type: object
                        properties:
                          type:
                            const: image_url
                            description: >-
                              Identificador de tipo de contenido para contenido
                              de URL de imagen
                          image_url:
                            type: object
                            properties:
                              url:
                                type: string
                                description: >-
                                  La URL de la imagen, o una URL de datos de
                                  imagen codificada en base64
                              detail:
                                enum:
                                  - auto
                                  - low
                                  - high
                                type: string
                                description: >-
                                  El nivel de detalle del análisis de la imagen.
                                  'bajo' desactiva el modo de alta resolución,
                                  'alto' lo activa, 'automático' permite que el
                                  modelo decida.
                            required:
                              - url
                        required:
                          - type
                          - image_url
                      - type: object
                        properties:
                          type:
                            const: input_audio
                            description: >-
                              Identificador de tipo de contenido para contenido
                              de entrada de audio
                          input_audio:
                            type: object
                            properties:
                              data:
                                type: string
                                description: Datos de audio codificados en Base64
                              format:
                                enum:
                                  - wav
                                  - mp3
                                type: string
                                description: El formato de los datos de audio codificados
                            required:
                              - data
                              - format
                        required:
                          - type
                          - input_audio
                      - type: object
                        properties:
                          type:
                            const: file
                            description: >-
                              Identificador de tipo de contenido para contenido
                              de archivo
                          file:
                            anyOf:
                              - type: object
                                properties:
                                  filename:
                                    type: string
                                    description: El nombre del archivo
                                  file_data:
                                    type: string
                                    description: Datos del archivo codificados en Base64
                                required:
                                  - filename
                                  - file_data
                              - type: object
                                properties:
                                  file_id:
                                    type: string
                                    description: >-
                                      El identificador único de un archivo
                                      previamente cargado.
                                  filename:
                                    type: string
                                    description: Anulación opcional del nombre de archivo
                                required:
                                  - file_id
                            description: >-
                              El archivo a incluir en el mensaje, ya sea como
                              datos en bruto o por referencia.
                        required:
                          - type
                          - file
                    description: >-
                      Una parte de contenido que se puede incluir en un mensaje.
                      Soporta texto, imágenes, audio y archivos.
                - type: 'null'
              description: >-
                El contenido del mensaje del asistente. Puede ser nulo cuando el
                mensaje contiene solo llamadas a herramientas.
            reasoning:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                El contenido de razonamiento generado por el modelo antes de
                producir la respuesta final. Presente en los modelos que apoyan
                el razonamiento de cadena de pensamiento.
            tool_calls:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: La identificación de la llamada a la herramienta
                  type:
                    const: function
                    description: >-
                      El tipo de la herramienta. Actualmente solo se admite
                      'función'.
                  function:
                    type: object
                    properties:
                      name:
                        type: string
                        description: El nombre de la función a llamar
                      arguments:
                        type: string
                        description: >-
                          Los argumentos para llamar a la función, como una
                          cadena JSON.
                    required:
                      - name
                      - arguments
                    description: La función que llamó el modelo
                required:
                  - id
                  - type
                  - function
              description: >-
                Las llamadas a herramientas generadas por el modelo, como
                llamadas a funciones.
          required:
            - role
            - content
          description: El mensaje generado por el modelo
        finish_reason:
          anyOf:
            - anyOf:
                - enum:
                    - stop
                    - length
                    - tool_calls
                    - content_filter
                  type: string
                  description: La razón por la cual el modelo dejó de generar tokens.
                - type: string
            - type: 'null'
          description: >-
            La razón por la que el modelo dejó de generar tokens. 'stop'
            significa punto de parada natural o secuencia de parada
            proporcionada, 'length' significa que se alcanzó el límite de
            max_tokens, 'tool_calls' significa que el modelo llamó a una
            herramienta, 'content_filter' significa que el contenido fue
            filtrado debido a violaciones de políticas.
        logprobs:
          anyOf:
            - type: object
              properties:
                tokens:
                  type: array
                  items:
                    type: string
                  description: La lista de tokens
                token_logprobs:
                  type: array
                  items:
                    type: number
                  description: La probabilidad logarítmica de cada token
                top_logprobs:
                  type: array
                  items:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties:
                      type: number
                  description: >-
                    Las probabilidades logarítmicas más altas para cada posición
                    de token
                text_offset:
                  type: array
                  items:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  description: >-
                    La posición de carácter desde el comienzo del texto devuelto
                    para cada token.
              required:
                - tokens
                - token_logprobs
                - top_logprobs
                - text_offset
              description: Información de probabilidad logarítmica para la elección
            - type: 'null'
          description: Información de probabilidad logarítmica para la elección
      required:
        - index
        - message
        - finish_reason
      description: Una opción de finalización de chat generada por el modelo
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````