> ## 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.

# EvoLink Auto - Enrutamiento Inteligente de Modelos

> El sistema selecciona automaticamente el modelo mas adecuado para procesar la solicitud

## Enrutamiento Inteligente de Modelos

EvoLink Auto es una función de enrutamiento inteligente de modelos que selecciona automáticamente un modelo de IA adecuado según el contenido de su solicitud, sin especificación manual del modelo.

### Ventajas Clave

* **Coincidencia Inteligente**: Analiza automáticamente el contenido de la solicitud y selecciona un modelo apropiado
* **Optimización de Costos**: Prioriza modelos rentables mientras mantiene la calidad
* **Balanceo de Carga**: Distribuye automáticamente las solicitudes entre múltiples modelos para mejorar la estabilidad
* **Transparencia**: Devuelve el nombre del modelo realmente utilizado en la respuesta para seguimiento y optimización

### Cómo Funciona

El sistema selecciona el modelo más adecuado del conjunto de modelos según la complejidad, longitud y tipo de solicitud.

### Modelos Soportados

EvoLink Auto enruta inteligentemente entre modelos de IA principales incluyendo GPT-4, GPT-3.5, Claude, Gemini y más.

### Limitaciones

* No es adecuado para escenarios que requieren capacidades específicas del modelo (por ejemplo, funciones de visión de GPT-4)
* No garantiza el mismo modelo para cada solicitud

### Casos de Uso

Ideal para escenarios donde no está seguro de qué modelo usar, o desea que el sistema optimice automáticamente la selección del modelo.

<Note>
  Simplemente establezca el parámetro `model` en `evolink/auto`, y el sistema seleccionará automáticamente un modelo adecuado para usted.
</Note>

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


## OpenAPI

````yaml es/api-manual/language-series/evolink-auto/evolink-auto-quickstart.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: EvoLink Auto - Seleccion inteligente de modelo
  description: >-
    Funcion de enrutamiento inteligente de modelos, el sistema selecciona
    automaticamente el modelo de IA mas adecuado
  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: []
paths:
  /v1/chat/completions:
    post:
      tags:
        - Enrutamiento inteligente
      summary: Enrutamiento inteligente de modelos
      description: >-
        El sistema selecciona automaticamente el modelo mas adecuado para
        procesar la solicitud
      operationId: createChatCompletionAuto
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoRequest'
      responses:
        '200':
          description: Solicitud exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: Parametros de solicitud invalidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: No autenticado, token invalido 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 feature
                  type: permission_error
        '429':
          description: Limite de frecuencia de solicitud 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 again later
        '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:
    AutoRequest:
      type: object
      required:
        - model
        - messages
      properties:
        model:
          type: string
          description: Usar enrutamiento inteligente
          enum:
            - evolink/auto
          default: evolink/auto
          example: evolink/auto
        messages:
          type: array
          description: Lista de mensajes de la conversacion
          items:
            $ref: '#/components/schemas/MessageInput'
          minItems: 1
          example:
            - role: user
              content: >-
                Presenta la historia del desarrollo de la inteligencia
                artificial
        temperature:
          type: number
          description: |-
            Temperatura de muestreo, controla la aleatoriedad de la salida

            **Descripcion**:
            - Valores mas bajos (ej. 0.2): salida mas determinista y enfocada
            - Valores mas altos (ej. 1.5): salida mas aleatoria y creativa
          minimum: 0
          maximum: 2
          example: 0.7
        top_p:
          type: number
          description: >-
            Parametro de muestreo nuclear (Nucleus Sampling)


            **Descripcion**:

            - Controla el muestreo de los tokens con mayor probabilidad
            acumulada

            - Por ejemplo, 0.9 significa seleccionar entre los tokens cuya
            probabilidad acumulada alcanza el 90%

            - Valor por defecto: 1.0 (considerar todos los tokens)


            **Recomendacion**: No ajustar temperature y top_p simultaneamente
          minimum: 0
          maximum: 1
          example: 0.9
        top_k:
          type: integer
          description: >-
            Parametro de muestreo Top-K


            **Descripcion**:

            - Por ejemplo, 10 significa limitar el muestreo a los 10 tokens con
            mayor probabilidad

            - Valores mas pequenos hacen la salida mas enfocada

            - Sin limite por defecto
          minimum: 1
          example: 40
        stream:
          type: boolean
          description: >-
            Si se devuelve la respuesta en modo streaming


            - `true`: Respuesta en streaming, devuelve el contenido en tiempo
            real por fragmentos

            - `false`: Espera la respuesta completa y la devuelve de una sola
            vez
          default: false
          example: false
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: Identificador unico para el completado de la conversacion
          example: chatcmpl-20260308112637503180122ABCD1234
        model:
          type: string
          description: Nombre del modelo realmente utilizado
          example: gpt-5.4
        object:
          type: string
          enum:
            - chat.completion
          description: Tipo de respuesta
          example: chat.completion
        created:
          type: integer
          description: Marca de tiempo de creacion
          example: 1741428397
        choices:
          type: array
          description: Lista de opciones generadas en la conversacion
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: Codigo de error de estado HTTP
            message:
              type: string
              description: Descripcion del error
            type:
              type: string
              description: Tipo de error
            param:
              type: string
              description: Nombre del parametro relacionado
            fallback_suggestion:
              type: string
              description: Sugerencia para manejar el error
    MessageInput:
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          description: Rol del mensaje
          enum:
            - system
            - user
            - assistant
        content:
          type: string
          description: Contenido del mensaje
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: Indice de la opcion
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: Razon de finalizacion
          enum:
            - stop
            - length
            - content_filter
          example: stop
    Usage:
      type: object
      description: Estadisticas de uso de tokens
      properties:
        prompt_tokens:
          type: integer
          description: Numero de tokens en la entrada
          example: 15
        completion_tokens:
          type: integer
          description: Numero de tokens en la salida
          example: 120
        total_tokens:
          type: integer
          description: Numero total de tokens
          example: 135
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: Rol del remitente del mensaje
          enum:
            - assistant
          example: assistant
        content:
          type: string
          description: Contenido de la respuesta de la IA
          example: >-
            La historia del desarrollo de la inteligencia artificial se remonta
            a la decada de 1950...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ## Todas las APIs requieren autenticacion Bearer Token ##


        **Obtener API Key:**


        Visita la [Pagina de gestion de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```
      bearerFormat: sk-evo-xxxxxxxxxx

````