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

# EvoLink Auto - Smart Model Routing

> The system automatically selects the most suitable model to process the request

## Smart Model Routing

EvoLink Auto is an intelligent model routing feature that automatically selects a suitable AI model based on your request content, without manual model specification.

### Key Benefits

* **Smart Matching**: Automatically analyzes request content and selects a suitable model
* **Cost Optimization**: Prioritizes cost-effective models while maintaining quality
* **Load Balancing**: Automatically distributes requests across multiple models for improved stability
* **Transparency**: Returns the actual model name used in the response for tracking and optimization

### How It Works

The system selects the best-fit model from the model pool based on request complexity, length, and type.

### Supported Models

EvoLink Auto intelligently routes between mainstream AI models including GPT-4, GPT-3.5, Claude, Gemini, and more.

### Limitations

* Not suitable for scenarios requiring specific model capabilities (e.g., GPT-4 vision features)
* Does not guarantee the same model for every request

### Use Cases

Ideal for scenarios where you're unsure which model to use, or want the system to automatically optimize model selection.

<Note>
  Simply set the `model` parameter to `evolink/auto`, and the system will automatically select a suitable model for you.
</Note>

<Note>
  **BaseURL**: The default BaseURL is `https://direct.evolink.ai`, which has better support for text models and long-lived connections. `https://api.evolink.ai` is the primary endpoint for multimodal services and serves as a fallback address for text models.
</Note>


## OpenAPI

````yaml /en/api-manual/language-series/evolink-auto/evolink-auto-quickstart.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: EvoLink Auto - Smart Model Selection
  description: >-
    Smart model routing feature that automatically selects the most suitable AI
    model
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Production (recommended)
  - url: https://api.evolink.ai
    description: Alternative URL
security:
  - bearerAuth: []
paths:
  /v1/chat/completions:
    post:
      tags:
        - Smart Routing
      summary: Smart Model Routing
      description: >-
        The system automatically selects the most suitable model to process the
        request
      operationId: createChatCompletionAuto
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoRequest'
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Unauthenticated, invalid or expired token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Insufficient quota, recharge required
          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: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Access denied for this feature
                  type: permission_error
        '429':
          description: Rate limit exceeded
          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: Internal server error
          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: Upstream service error
          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: Service temporarily unavailable
          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: Use smart routing
          enum:
            - evolink/auto
          default: evolink/auto
          example: evolink/auto
        messages:
          type: array
          description: List of conversation messages
          items:
            $ref: '#/components/schemas/MessageInput'
          minItems: 1
          example:
            - role: user
              content: Introduce the history of artificial intelligence
        temperature:
          type: number
          description: |-
            Sampling temperature, controls the randomness of the output

            **Notes**:
            - Lower values (e.g., 0.2): More deterministic and focused output
            - Higher values (e.g., 1.5): More random and creative output
          minimum: 0
          maximum: 2
          example: 0.7
        top_p:
          type: number
          description: >-
            Nucleus Sampling parameter


            **Notes**:

            - Controls sampling from the top tokens by cumulative probability

            - For example, 0.9 means sampling from tokens whose cumulative
            probability reaches 90%

            - Default: 1.0 (considers all tokens)


            **Recommendation**: Do not adjust both temperature and top_p
            simultaneously
          minimum: 0
          maximum: 1
          example: 0.9
        top_k:
          type: integer
          description: >-
            Top-K sampling parameter


            **Notes**:

            - For example, 10 means only the top 10 highest-probability tokens
            are considered during each sampling step

            - Smaller values make the output more focused

            - No limit by default
          minimum: 1
          example: 40
        stream:
          type: boolean
          description: |-
            Whether to return the response in streaming mode

            - `true`: Stream response, returning content in real-time chunks
            - `false`: Wait for the complete response before returning
          default: false
          example: false
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the chat completion
          example: chatcmpl-20260308112637503180122ABCD1234
        model:
          type: string
          description: The model actually used
          example: gpt-5.4
        object:
          type: string
          enum:
            - chat.completion
          description: Response type
          example: chat.completion
        created:
          type: integer
          description: Creation timestamp
          example: 1741428397
        choices:
          type: array
          description: List of generated choices
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP status error code
            message:
              type: string
              description: Error description
            type:
              type: string
              description: Error type
            param:
              type: string
              description: Related parameter name
            fallback_suggestion:
              type: string
              description: Suggestion on error
    MessageInput:
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          description: Message role
          enum:
            - system
            - user
            - assistant
        content:
          type: string
          description: Message content
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: Index of the choice
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: Finish reason
          enum:
            - stop
            - length
            - content_filter
          example: stop
    Usage:
      type: object
      description: Token usage statistics
      properties:
        prompt_tokens:
          type: integer
          description: Number of tokens in the input
          example: 15
        completion_tokens:
          type: integer
          description: Number of tokens in the output
          example: 120
        total_tokens:
          type: integer
          description: Total number of tokens
          example: 135
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: Role of the message sender
          enum:
            - assistant
          example: assistant
        content:
          type: string
          description: AI response message content
          example: The history of artificial intelligence dates back to the 1950s...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ## All endpoints require Bearer Token authentication ##


        **Get your API Key:**


        Visit the [API Key Management Page](https://evolink.ai/dashboard/keys)
        to get your API Key


        **Add the following to your request headers:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```
      bearerFormat: sk-evo-xxxxxxxxxx

````