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

# Qwen3.8-Max-Preview - Full Parameter Documentation

> > 🚧 **This model is not yet available, stay tuned**

- Call Qwen3.8-Max-Preview using the OpenAI Chat Completions protocol
- **Multi-turn conversation**: supports single-turn or multi-turn contextual conversations
- **System prompt**: set the AI's role and behavior via a `role=system` message
- **Multimodal input**: pass a content part array in `content`, supporting `text` / `image_url` / `input_audio` / `video_url`
- **Context caching**: add `cache_control` on a content part to declare explicit caching; see `usage.prompt_tokens_details` in the response for hit details
- **Thinking mode**: enabled with `enable_thinking=true`, thinking content returned through `reasoning_content`
- **Streaming output**: when `stream=true`, returned chunk by chunk via SSE

<Note>
  **BaseURL note**: The default BaseURL is `https://direct.evolink.ai`, which offers better support for text models and long connections. `https://api.evolink.ai` is the primary multimodal endpoint; use it when your request includes image / audio / video input.
</Note>


## OpenAPI

````yaml en/api-manual/language-series/qwen3.8-max-preview/qwen3.8-max-preview-chat.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: Qwen3.8-Max-Preview Full Parameter Documentation (OpenAI-Compatible)
  description: >-
    API reference for the Tongyi Qwen3.8-Max-Preview chat API (OpenAI Chat
    Completions compatible).


    **Model capabilities**:

    - Context length: **1,000,000 tokens** (1M)

    - Thinking mode: enabled via `enable_thinking`, thinking content returned
    through `reasoning_content`

    - Multimodal input: `content` supports mixed text + image / audio / video

    - Context caching: supports explicit caching (`cache_control`) and implicit
    caching, cache hits significantly reduce cost

    - Tool calling: supports Function Calling

    - Streaming output: supports SSE streaming
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: >-
      Production environment (recommended, better long-connection support for
      text models)
  - url: https://api.evolink.ai
    description: >-
      Primary multimodal endpoint (use when input includes image / audio /
      video)
security:
  - bearerAuth: []
tags: []
paths:
  /v1/chat/completions:
    post:
      summary: Qwen3.8-Max-Preview Chat API (OpenAI-Compatible)
      description: >-
        > 🚧 **This model is not yet available, stay tuned**


        - Call Qwen3.8-Max-Preview using the OpenAI Chat Completions protocol

        - **Multi-turn conversation**: supports single-turn or multi-turn
        contextual conversations

        - **System prompt**: set the AI's role and behavior via a `role=system`
        message

        - **Multimodal input**: pass a content part array in `content`,
        supporting `text` / `image_url` / `input_audio` / `video_url`

        - **Context caching**: add `cache_control` on a content part to declare
        explicit caching; see `usage.prompt_tokens_details` in the response for
        hit details

        - **Thinking mode**: enabled with `enable_thinking=true`, thinking
        content returned through `reasoning_content`

        - **Streaming output**: when `stream=true`, returned chunk by chunk via
        SSE
      operationId: createChatCompletionQwen38MaxPreview
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
            examples:
              basic:
                summary: Basic text conversation
                value:
                  model: qwen3.8-max-preview
                  messages:
                    - role: system
                      content: You are a helpful assistant.
                    - role: user
                      content: Hello, please introduce yourself
              multimodal:
                summary: Multimodal input (image)
                value:
                  model: qwen3.8-max-preview
                  messages:
                    - role: user
                      content:
                        - type: text
                          text: Describe the content of this image
                        - type: image_url
                          image_url:
                            url: https://example.com/image.jpg
              explicit_cache:
                summary: Explicit caching (cache_control)
                value:
                  model: qwen3.8-max-preview
                  messages:
                    - role: system
                      content:
                        - type: text
                          text: <a stable system prompt exceeding 1024 tokens...>
                          cache_control:
                            type: ephemeral
                    - role: user
                      content: Answer the question based on the context above
      responses:
        '200':
          description: Conversation generated successfully
          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 balance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient credits
                  type: insufficient_quota
        '429':
          description: Too many requests (rate limited)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: server_error
components:
  schemas:
    ChatCompletionRequest:
      type: object
      required:
        - model
        - messages
      properties:
        model:
          type: string
          description: Chat model name
          enum:
            - qwen3.8-max-preview
          example: qwen3.8-max-preview
        messages:
          type: array
          description: >-
            List of conversation messages, supporting multi-turn conversations.
            Messages from different roles (system / user / assistant / tool)
            have different field structures; select the corresponding role to
            view details.
          items:
            oneOf:
              - $ref: '#/components/schemas/SystemMessage'
              - $ref: '#/components/schemas/UserMessage'
              - $ref: '#/components/schemas/AssistantRequestMessage'
              - $ref: '#/components/schemas/ToolMessage'
        enable_thinking:
          type: boolean
          description: >-
            Whether to enable deep thinking


            - `true`: the model outputs its thinking process, returned through
            `reasoning_content`

            - `false` (default): does not output the thinking process


            > Note: some models require this to be explicitly set to `true` to
            return thinking content in non-streaming calls.
          default: false
        temperature:
          type: number
          description: >-
            Sampling temperature, controls output randomness. Lower values are
            more deterministic, higher values more diverse. Range `[0, 2]`. It
            is recommended not to adjust temperature and top_p at the same time.
          minimum: 0
          maximum: 2
        top_p:
          type: number
          description: >-
            Nucleus Sampling parameter, samples from the tokens within the top
            cumulative probability. Range `(0, 1]`. It is recommended not to
            adjust temperature and top_p at the same time.
          minimum: 0
          maximum: 1
        max_completion_tokens:
          type: integer
          description: >-
            Upper limit on the length of generated content (in tokens),
            **including the chain of thought and the answer**. Recommended for
            thinking models. The default and maximum values are both the model's
            maximum output length; once exceeded, generation stops early with
            `finish_reason=length`.
        max_tokens:
          type: integer
          description: >-
            Legacy generation length limit parameter.


            > **Deprecated**: new integrations should use
            `max_completion_tokens` instead. This parameter only limits the
            answer portion (excluding the chain of thought).
        stream:
          type: boolean
          description: |-
            Whether to return the response in a streaming manner.

            - `true`: returned chunk by chunk via SSE (Server-Sent Events)
            - `false` (default): returns the full response at once
          default: false
        stream_options:
          type: object
          description: Streaming response options, effective only when `stream=true`.
          properties:
            include_usage:
              type: boolean
              description: >-
                When `true`, returns an additional data chunk containing only
                `usage` before the stream ends.
        tools:
          type: array
          description: >-
            List of tool definitions for Function Calling. Each tool must define
            a name, description, and parameter schema.
          items:
            $ref: '#/components/schemas/Tool'
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this conversation
          example: chatcmpl-xxxxxxxx
        object:
          type: string
          example: chat.completion
        created:
          type: integer
          description: Creation time (Unix seconds)
          example: 1735120033
        model:
          type: string
          example: qwen3.8-max-preview
        choices:
          type: array
          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: Name of the related parameter
    SystemMessage:
      type: object
      title: System Message
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - system
          description: Message role, fixed to `system`
        content:
          description: >-
            System instruction. Pass a string for plain text; pass a content
            part array when declaring explicit caching.
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
    UserMessage:
      type: object
      title: User Message
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - user
          description: Message role, fixed to `user`
        content:
          description: >-
            User message content.


            - Pass a string directly for plain text

            - For multimodal input or explicit caching, pass a content part
            array supporting `text` / `image_url` / `input_audio` / `video_url`
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
    AssistantRequestMessage:
      type: object
      title: Assistant Message
      required:
        - role
      properties:
        role:
          type: string
          enum:
            - assistant
          description: Message role, fixed to `assistant`
        content:
          description: >-
            Assistant's historical reply content. Can be a string or a content
            part array.
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
        tool_calls:
          type: array
          description: >-
            List of tool calls initiated by the assistant in the previous turn
            (used to backfill Function Calling history).
          items:
            type: object
    ToolMessage:
      type: object
      title: Tool Message
      required:
        - role
        - content
        - tool_call_id
      properties:
        role:
          type: string
          enum:
            - tool
          description: Message role, fixed to `tool` (tool execution result)
        content:
          description: >-
            Tool execution result content. Can be a string or a content part
            array.
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
        tool_call_id:
          type: string
          description: ID of the corresponding tool call
    Tool:
      type: object
      description: Function Calling tool definition.
      required:
        - type
        - function
      properties:
        type:
          type: string
          enum:
            - function
          description: Tool type, fixed to `function`
        function:
          type: object
          required:
            - name
          properties:
            name:
              type: string
              description: Function name
            description:
              type: string
              description: Description of the function's purpose
            parameters:
              type: object
              description: JSON Schema of the function parameters
    Choice:
      type: object
      properties:
        index:
          type: integer
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: |-
            Stop reason

            - `stop`: normal completion
            - `length`: reached the `max_completion_tokens` limit
            - `tool_calls`: a tool call is required
          example: stop
    Usage:
      type: object
      description: Token usage statistics.
      properties:
        prompt_tokens:
          type: integer
          description: Number of input tokens
          example: 3019
        completion_tokens:
          type: integer
          description: Number of output tokens (including thinking)
          example: 104
        total_tokens:
          type: integer
          description: Total number of tokens
          example: 3123
        completion_tokens_details:
          type: object
          description: Breakdown of output tokens
          properties:
            reasoning_tokens:
              type: integer
              description: Number of thinking-process tokens
              example: 0
        prompt_tokens_details:
          type: object
          description: Breakdown of input token caching
          properties:
            cached_tokens:
              type: integer
              description: Number of input tokens served from cache (cache read)
              example: 2048
            cache_creation_input_tokens:
              type: integer
              description: >-
                Number of tokens newly written to cache in this request (cache
                write, returned for explicit caching)
              example: 0
    ContentPart:
      type: object
      description: >-
        Multimodal content part; declare the type via `type` and fill in only
        the fields matching that type. You can attach `cache_control` on any
        part to declare explicit caching.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - text
            - image_url
            - input_audio
            - video_url
          description: |-
            Content type

            - `text`: text block
            - `image_url`: image input
            - `input_audio`: audio input
            - `video_url`: video file input
        text:
          type: string
          description: Text content when `type=text`
        image_url:
          type: object
          description: >-
            Image input (when `type=image_url`). Supports JPEG / PNG / GIF /
            WEBP.
          required:
            - url
          properties:
            url:
              type: string
              description: Image URL, or a base64 data URL starting with `data:`
            detail:
              type: string
              description: |-
                Image parsing precision

                - `low`: low precision, consumes fewer tokens
                - `high`: high precision, finer recognition
                - `auto` (default): decided automatically by the model
              enum:
                - low
                - high
                - auto
              default: auto
        input_audio:
          type: object
          description: Audio input (when `type=input_audio`).
          required:
            - data
            - format
          properties:
            data:
              type: string
              description: Audio URL, or a base64 data URL starting with `data:`
            format:
              type: string
              description: Audio format, such as `mp3`, `wav`, etc.
        video_url:
          type: object
          description: Video file input (when `type=video_url`).
          required:
            - url
          properties:
            url:
              type: string
              description: Video file URL, or a base64 data URL starting with `data:`
        cache_control:
          type: object
          description: >-
            Explicit cache marker. The system uses this marker's position as the
            endpoint and traces backward to create / hit a cache block.


            - Minimum cacheable length **1024 tokens**, valid for **5 minutes**
            (reset on hit)

            - Up to **4** cache markers per request

            - Mutually exclusive with implicit caching; only one applies per
            request


            See `usage.prompt_tokens_details` in the response for hit / creation
            details.
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - ephemeral
              description: Cache type, fixed to `ephemeral` (5-minute temporary cache)
    AssistantMessage:
      type: object
      description: Assistant reply message.
      properties:
        role:
          type: string
          example: assistant
        content:
          type: string
          description: Reply body
          example: Hello! I am Tongyi Qwen3.8-Max-Preview.
        reasoning_content:
          type: string
          description: Thinking process content (returned when `enable_thinking=true`)
        tool_calls:
          type: array
          description: List of tool calls initiated by the model
          items:
            type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##All APIs require Bearer Token authentication##


        **Get API Key**:


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


        **Add to request header**:

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````