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

# Interfaz de todos los modelos GLM - Inicio rápido de Chat Completions

> - Llama a los modelos de la serie GLM mediante el protocolo OpenAI Chat Completions, eligiendo el modelo concreto con el parámetro `model`
- Bastan los dos parámetros `model` y `messages`
- Ventana de contexto de 1M tokens en toda la serie, con hasta 131.072 tokens de salida
- El pensamiento profundo viene activado por defecto en toda la serie y el razonamiento se devuelve en `reasoning_content`
- Para streaming, llamadas a herramientas, ajuste de la intensidad de pensamiento, entrada de imagen y demás capacidades, consulta la página «Referencia completa»

<Note>
  **BaseURL**: La BaseURL predeterminada es `https://direct.evolink.ai`, que ofrece mejor compatibilidad con los modelos de texto y las conexiones de larga duración. `https://api.evolink.ai` es el endpoint principal para los servicios multimodales y sirve como dirección de respaldo para los modelos de texto.
</Note>


## OpenAPI

````yaml es/api-manual/language-series/glm/chat-completions/chat-completions-quickstart.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: Interfaz de todos los modelos GLM - Inicio rápido de Chat Completions
  description: >-
    Ejemplo de inicio rápido para llamar a los modelos de texto Zhipu GLM
    mediante la API Chat Completions compatible con OpenAI. Basta con `model` y
    `messages` para iniciar una conversación; para el conjunto completo de
    parámetros, consulta la página «Referencia completa».
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Producción (recomendado)
  - url: https://api.evolink.ai
    description: URL alternativa
security:
  - bearerAuth: []
tags:
  - name: Generación de chat
    description: Endpoints relacionados con la generación de chat de IA
paths:
  /v1/chat/completions:
    post:
      tags:
        - Generación de chat
      summary: Conversación rápida GLM (todos los modelos)
      description: >-
        - Llama a los modelos de la serie GLM mediante el protocolo OpenAI Chat
        Completions, eligiendo el modelo concreto con el parámetro `model`

        - Bastan los dos parámetros `model` y `messages`

        - Ventana de contexto de 1M tokens en toda la serie, con hasta 131.072
        tokens de salida

        - El pensamiento profundo viene activado por defecto en toda la serie y
        el razonamiento se devuelve en `reasoning_content`

        - Para streaming, llamadas a herramientas, ajuste de la intensidad de
        pensamiento, entrada de imagen y demás capacidades, consulta la página
        «Referencia completa»
      operationId: glmChatCompletionsQuick
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionQuickRequest'
            examples:
              simple:
                summary: Llamada mínima
                value:
                  model: glm-5.3
                  messages:
                    - role: user
                      content: Hola, preséntate en una frase
              flash:
                summary: Cambiar al modelo ligero
                description: >-
                  `glm-5.3-flash` cuesta mucho menos que `glm-5.3` y resulta
                  adecuado para llamadas de alta frecuencia.
                value:
                  model: glm-5.3-flash
                  messages:
                    - role: user
                      content: Explica en una frase qué es HTTP
              multi_turn:
                summary: Conversación de varios turnos
                value:
                  model: glm-5.3
                  messages:
                    - role: user
                      content: >-
                        Recomiéndame un lenguaje de programación adecuado para
                        principiantes
                    - role: assistant
                      content: >-
                        Recomiendo Python: sintaxis concisa y un ecosistema
                        rico.
                    - role: user
                      content: ¿Cuánto tiempo se tarda aproximadamente en aprenderlo?
      responses:
        '200':
          description: Completado de chat generado exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: Parámetros de solicitud no válidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: No autorizado, token inválido o expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Cuota insuficiente, se requiere recarga
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota_error
                  fallback_suggestion: https://evolink.ai/dashboard/billing
        '403':
          description: Acceso denegado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Access denied for this model
                  type: permission_error
                  param: model
        '404':
          description: Recurso no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 404
                  message: Specified model not found
                  type: not_found_error
                  param: model
                  fallback_suggestion: glm-5.3
        '429':
          description: Límite de frecuencia de solicitudes excedido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
                  fallback_suggestion: retry after 60 seconds
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: internal_server_error
                  fallback_suggestion: try again later
        '502':
          description: Error del servicio upstream
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Upstream AI service unavailable
                  type: upstream_error
                  fallback_suggestion: try different model
        '503':
          description: Servicio temporalmente no disponible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 503
                  message: Service temporarily unavailable
                  type: service_unavailable_error
                  fallback_suggestion: retry after 30 seconds
components:
  schemas:
    ChatCompletionQuickRequest:
      title: Chat Completion Quick Request
      type: object
      required:
        - model
        - messages
      properties:
        model:
          type: string
          description: >
            Modelo a invocar:


            | ID del modelo | Posicionamiento |

            |---|---|

            | `glm-5.3` | Modelo insignia, con avances generalizados en
            ingeniería de software compleja y tareas de agente; contexto de 1M |

            | `glm-5.3-flash` | Modelo multimodal ligero, coste muy bajo,
            entrada de imagen nativa; contexto de 1M |

            | `glm-5.2` | Insignia de la generación anterior, razonamiento
            complejo y contexto muy largo; contexto de 1M |
          enum:
            - glm-5.3
            - glm-5.3-flash
            - glm-5.2
          default: glm-5.3
          example: glm-5.3
        messages:
          type: array
          description: >-
            Lista de mensajes de la conversación, en orden cronológico. Se
            requiere al menos un mensaje.
          minItems: 1
          items:
            $ref: '#/components/schemas/MessageSimple'
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: '`ID` de la tarea'
          example: chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a
        object:
          type: string
          description: Tipo de respuesta
          enum:
            - chat.completion
          example: chat.completion
        request_id:
          type: string
          description: >-
            `ID` de la solicitud (se devuelve cuando se proporciona `request_id`
            en la solicitud)
          example: req-7f3a2c1e8b9d4f0a
        created:
          type: integer
          description: Hora de creación de la solicitud, marca de tiempo `Unix` (segundos)
          example: 1777021417
        model:
          type: string
          description: Nombre del modelo
          example: glm-5.3
        choices:
          type: array
          description: Lista de respuestas del modelo
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
        content_filter:
          type: array
          description: Información relacionada con la seguridad del contenido
          items:
            $ref: '#/components/schemas/ContentFilter'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: Código de error de estado HTTP
            message:
              type: string
              description: Descripción del error
            type:
              type: string
              description: Tipo de error
            param:
              type: string
              description: Nombre del parámetro relacionado
            fallback_suggestion:
              type: string
              description: Sugerencia cuando ocurre un error
    MessageSimple:
      title: Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - system
            - user
            - assistant
          description: >-
            Rol del mensaje


            - `system`: indicación del sistema

            - `user`: entrada del usuario

            - `assistant`: respuesta del modelo (incluida en conversaciones de
            varios turnos)
          example: user
        content:
          type: string
          description: Contenido del mensaje (texto plano)
          example: Hola, preséntate en una frase
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: Índice del resultado
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: >-
            Motivo de finalización del razonamiento


            - `stop`: finalización natural o activación de una palabra de parada

            - `tool_calls`: el modelo invocó una función (llamada a herramienta)

            - `length`: se alcanzó el límite de longitud de tokens

            - `sensitive`: el contenido fue bloqueado por la auditoría de
            seguridad (evalúa y decide si retirar el contenido público)

            - `network_error`: anomalía en el razonamiento del modelo

            - `model_context_window_exceeded`: se superó la ventana de contexto
            del modelo
          enum:
            - stop
            - tool_calls
            - length
            - sensitive
            - network_error
            - model_context_window_exceeded
          example: stop
    Usage:
      type: object
      description: Estadísticas de uso de tokens devueltas al finalizar la llamada
      properties:
        prompt_tokens:
          type: integer
          description: Número de tokens de la entrada del usuario
          example: 24
        completion_tokens:
          type: integer
          description: >-
            Número de tokens de la salida (incluida la parte de la cadena de
            pensamiento `reasoning_tokens`)
          example: 346
        total_tokens:
          type: integer
          description: Número total de tokens = prompt_tokens + completion_tokens
          example: 370
        prompt_tokens_details:
          type: object
          description: Desglose detallado de los tokens de entrada
          properties:
            cached_tokens:
              type: integer
              description: Número de tokens que acertaron en caché
              example: 0
        completion_tokens_details:
          type: object
          description: Desglose detallado de los tokens de salida
          properties:
            reasoning_tokens:
              type: integer
              description: >-
                Número de tokens producidos por la cadena de pensamiento
                (pensamiento profundo), contabilizados en `completion_tokens`
              example: 321
    ContentFilter:
      type: object
      description: Información de seguridad del contenido
      properties:
        role:
          type: string
          description: |-
            Etapa en la que se aplica la seguridad

            - `assistant`: razonamiento del modelo
            - `user`: entrada del usuario
            - `history`: contexto histórico
          enum:
            - assistant
            - user
            - history
        level:
          type: integer
          description: Grado de gravedad `0-3`, `0` indica el más grave y `3` indica leve
          minimum: 0
          maximum: 3
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: Rol de la conversación actual, predeterminado `assistant`
          enum:
            - assistant
          example: assistant
        content:
          type:
            - string
            - 'null'
          description: >-
            Contenido de texto de la conversación


            **Notas**: puede ser `null` al invocar herramientas (`tool_calls`);
            de lo contrario, devuelve el contenido de la respuesta del modelo
          example: >-
            ¡Hola! Soy GLM-5.3 y puedo ayudarte con conversación, razonamiento,
            redacción, código y muchas otras tareas.
        reasoning_content:
          type: string
          description: >-
            Contenido de la cadena de pensamiento


            **Notas**: se devuelve cuando `thinking` está activado, y registra
            el proceso de razonamiento del modelo
          example: Primero déjame analizar este problema...
        tool_calls:
          type: array
          description: >-
            Información de las llamadas a herramientas generadas (se devuelve
            cuando el modelo decide invocar una herramienta)
          items:
            type: object
            properties:
              id:
                type: string
                description: Identificador único de la llamada a la herramienta
              type:
                type: string
                description: Tipo de llamada a la herramienta
                enum:
                  - function
              function:
                type: object
                description: >-
                  Información de la llamada a la función (incluye el nombre de
                  la función generado y los argumentos en formato JSON)
                properties:
                  name:
                    type: string
                    description: Nombre de la función generado
                  arguments:
                    type: string
                    description: >-
                      Cadena en formato JSON de los argumentos de la llamada a
                      la función; valida los argumentos antes de invocar la
                      función
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las API requieren autenticación con Bearer Token##


        **Obtener la API Key:**


        Visita la [página de gestión de API
        Keys](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Añadir al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````