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

# GLM Schnittstelle für alle Modelle - Schnellstart Chat Completions

> - GLM-Modelle über das OpenAI-Chat-Completions-Protokoll aufrufen, das konkrete Modell wird über den Parameter `model` gewählt
- Es genügen die beiden Parameter `model` und `messages`
- Kontextfenster von 1M Token in der gesamten Serie, bis zu 131.072 Ausgabe-Token
- In der gesamten Serie ist tiefes Denken standardmäßig aktiv; der Denkprozess wird über `reasoning_content` zurückgegeben
- Für Streaming, Werkzeugaufrufe, Steuerung der Denktiefe, Bildeingabe und weitere Funktionen siehe die Seite „Vollständige Parameter“

<Note>
  **BaseURL**: Die Standard-BaseURL ist `https://direct.evolink.ai`, die Textmodelle und langlebige Verbindungen besser unterstützt. `https://api.evolink.ai` ist der primäre Endpunkt für multimodale Dienste und dient als Ausweichadresse für Textmodelle.
</Note>


## OpenAPI

````yaml de/api-manual/language-series/glm/chat-completions/chat-completions-quickstart.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: GLM Schnittstelle für alle Modelle - Schnellstart Chat Completions
  description: >-
    Schnelleinstiegsbeispiel für den Aufruf von Zhipu-GLM-Textmodellen über die
    OpenAI-kompatible Chat-Completions-API. `model` und `messages` genügen, um
    ein Gespräch zu starten; den vollständigen Parametersatz finden Sie auf der
    Seite „Vollständige Parameter“.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Produktion (empfohlen)
  - url: https://api.evolink.ai
    description: Alternative URL
security:
  - bearerAuth: []
tags:
  - name: Chat-Vervollständigung
    description: Endpunkte für KI-Chat-Vervollständigung
paths:
  /v1/chat/completions:
    post:
      tags:
        - Chat-Vervollständigung
      summary: GLM Schnellgespräch (alle Modelle)
      description: >-
        - GLM-Modelle über das OpenAI-Chat-Completions-Protokoll aufrufen, das
        konkrete Modell wird über den Parameter `model` gewählt

        - Es genügen die beiden Parameter `model` und `messages`

        - Kontextfenster von 1M Token in der gesamten Serie, bis zu 131.072
        Ausgabe-Token

        - In der gesamten Serie ist tiefes Denken standardmäßig aktiv; der
        Denkprozess wird über `reasoning_content` zurückgegeben

        - Für Streaming, Werkzeugaufrufe, Steuerung der Denktiefe, Bildeingabe
        und weitere Funktionen siehe die Seite „Vollständige Parameter“
      operationId: glmChatCompletionsQuick
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionQuickRequest'
            examples:
              simple:
                summary: Minimaler Aufruf
                value:
                  model: glm-5.3
                  messages:
                    - role: user
                      content: Hallo, bitte stelle dich in einem Satz vor
              flash:
                summary: Auf das leichtgewichtige Modell wechseln
                description: >-
                  `glm-5.3-flash` ist deutlich günstiger als `glm-5.3` und
                  eignet sich für häufige Aufrufe.
                value:
                  model: glm-5.3-flash
                  messages:
                    - role: user
                      content: Erkläre in einem Satz, was HTTP ist
              multi_turn:
                summary: Mehrstufige Konversation
                value:
                  model: glm-5.3
                  messages:
                    - role: user
                      content: >-
                        Empfiehl eine Programmiersprache, die für Einsteiger
                        geeignet ist
                    - role: assistant
                      content: >-
                        Ich empfehle Python: knappe Syntax und ein reichhaltiges
                        Ökosystem.
                    - role: user
                      content: Wie lange dauert es ungefähr, das zu lernen?
      responses:
        '200':
          description: Chat-Vervollständigung erfolgreich generiert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: Ungültige Anfrageparameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Nicht autorisiert, ungültiges oder abgelaufenes Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Unzureichendes Kontingent, Aufladung erforderlich
          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: Zugriff verweigert
          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: Ressource nicht gefunden
          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: Ratenlimit überschritten
          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: Interner Serverfehler
          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-Dienstfehler
          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: Dienst vorübergehend nicht verfügbar
          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: >
            Aufzurufendes Modell:


            | Modell-ID | Positionierung |

            |---|---|

            | `glm-5.3` | Flaggschiffmodell mit durchgängigen Fortschritten bei
            komplexer Softwareentwicklung und Agentenaufgaben; 1M Kontext |

            | `glm-5.3-flash` | Leichtgewichtiges multimodales Modell, äußerst
            günstig, native Bildeingabe; 1M Kontext |

            | `glm-5.2` | Flaggschiff der vorigen Generation, komplexes
            Reasoning und sehr langer Kontext; 1M Kontext |
          enum:
            - glm-5.3
            - glm-5.3-flash
            - glm-5.2
          default: glm-5.3
          example: glm-5.3
        messages:
          type: array
          description: >-
            Liste der Konversationsnachrichten in chronologischer Reihenfolge.
            Mindestens eine Nachricht ist erforderlich.
          minItems: 1
          items:
            $ref: '#/components/schemas/MessageSimple'
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: Aufgaben-`ID`
          example: chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a
        object:
          type: string
          description: Antworttyp
          enum:
            - chat.completion
          example: chat.completion
        request_id:
          type: string
          description: >-
            Anfrage-`ID` (wird zurückgegeben, wenn in der Anfrage `request_id`
            angegeben wurde)
          example: req-7f3a2c1e8b9d4f0a
        created:
          type: integer
          description: Erstellungszeit der Anfrage, `Unix`-Zeitstempel (Sekunden)
          example: 1777021417
        model:
          type: string
          description: Modellname
          example: glm-5.3
        choices:
          type: array
          description: Liste der Modellantworten
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
        content_filter:
          type: array
          description: Informationen zur Inhaltssicherheit
          items:
            $ref: '#/components/schemas/ContentFilter'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP-Statusfehlercode
            message:
              type: string
              description: Fehlerbeschreibung
            type:
              type: string
              description: Fehlertyp
            param:
              type: string
              description: Zugehöriger Parametername
            fallback_suggestion:
              type: string
              description: Vorschlag bei Fehlerauftreten
    MessageSimple:
      title: Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - system
            - user
            - assistant
          description: >-
            Rolle der Nachricht


            - `system`: System-Prompt

            - `user`: Benutzereingabe

            - `assistant`: Antwort des Modells (bei mehrstufigen Konversationen
            enthalten)
          example: user
        content:
          type: string
          description: Nachrichteninhalt (Klartext)
          example: Hallo, bitte stelle dich in einem Satz vor
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: Ergebnisindex
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: >-
            Grund für den Abschluss des Schlussfolgerns


            - `stop`: Natürlicher Abschluss oder Stoppwort ausgelöst

            - `tool_calls`: Das Modell hat eine Funktion getroffen
            (Werkzeugaufruf)

            - `length`: Token-Längengrenze erreicht

            - `sensitive`: Inhalt durch die Sicherheitsprüfung blockiert (bitte
            prüfen und entscheiden, ob öffentlicher Inhalt zurückgezogen werden
            soll)

            - `network_error`: Anomalie bei der Modellinferenz

            - `model_context_window_exceeded`: Kontextfenster des Modells
            überschritten
          enum:
            - stop
            - tool_calls
            - length
            - sensitive
            - network_error
            - model_context_window_exceeded
          example: stop
    Usage:
      type: object
      description: >-
        Token-Nutzungsstatistik, die bei Abschluss des Aufrufs zurückgegeben
        wird
      properties:
        prompt_tokens:
          type: integer
          description: Anzahl der vom Benutzer eingegebenen Tokens
          example: 24
        completion_tokens:
          type: integer
          description: >-
            Anzahl der ausgegebenen Tokens (einschließlich des Anteils der
            Gedankenkette `reasoning_tokens`)
          example: 346
        total_tokens:
          type: integer
          description: Gesamtanzahl der Tokens = prompt_tokens + completion_tokens
          example: 370
        prompt_tokens_details:
          type: object
          description: Detaillierte Aufschlüsselung der Eingabe-Tokens
          properties:
            cached_tokens:
              type: integer
              description: Anzahl der Tokens, die den Cache getroffen haben
              example: 0
        completion_tokens_details:
          type: object
          description: Detaillierte Aufschlüsselung der Ausgabe-Tokens
          properties:
            reasoning_tokens:
              type: integer
              description: >-
                Anzahl der von der Gedankenkette (tiefes Nachdenken) erzeugten
                Tokens, zählt zu `completion_tokens`
              example: 321
    ContentFilter:
      type: object
      description: Informationen zur Inhaltssicherheit
      properties:
        role:
          type: string
          description: |-
            Phase, in der die Sicherheit wirksam wird

            - `assistant`: Modellinferenz
            - `user`: Benutzereingabe
            - `history`: Historischer Kontext
          enum:
            - assistant
            - user
            - history
        level:
          type: integer
          description: >-
            Schweregrad `0-3`, `0` bedeutet am schwerwiegendsten, `3` bedeutet
            geringfügig
          minimum: 0
          maximum: 3
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: Aktuelle Konversationsrolle, Standard `assistant`
          enum:
            - assistant
          example: assistant
        content:
          type:
            - string
            - 'null'
          description: >-
            Textinhalt der Konversation


            **Hinweise**: Beim Werkzeugaufruf (`tool_calls`) möglicherweise
            `null`, andernfalls wird der Antwortinhalt des Modells zurückgegeben
          example: >-
            Hallo! Ich bin GLM-5.3 und kann dir bei Konversation,
            Schlussfolgern, Schreiben, Programmieren und vielen weiteren
            Aufgaben helfen.
        reasoning_content:
          type: string
          description: >-
            Inhalt der Gedankenkette


            **Hinweise**: Wird bei aktiviertem `thinking` zurückgegeben und
            protokolliert den Schlussfolgerungsprozess des Modells
          example: Lass mich dieses Problem zunächst analysieren...
        tool_calls:
          type: array
          description: >-
            Generierte Werkzeugaufruf-Informationen (werden zurückgegeben, wenn
            das Modell beschließt, ein Werkzeug aufzurufen)
          items:
            type: object
            properties:
              id:
                type: string
                description: Eindeutiger Bezeichner des Tool-Aufrufs
              type:
                type: string
                description: Typ des Werkzeugaufrufs
                enum:
                  - function
              function:
                type: object
                description: >-
                  Informationen zum Funktionsaufruf (enthält den generierten
                  Funktionsnamen und Argumente im JSON-Format)
                properties:
                  name:
                    type: string
                    description: Generierter Funktionsname
                  arguments:
                    type: string
                    description: >-
                      Zeichenkette der Funktionsaufruf-Argumente im JSON-Format;
                      bitte validieren Sie die Argumente vor dem Funktionsaufruf
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Alle APIs erfordern eine Bearer-Token-Authentifizierung##


        **API-Schlüssel abrufen:**


        Besuchen Sie die
        [API-Schlüsselverwaltung](https://evolink.ai/dashboard/keys), um Ihren
        API-Schlüssel abzurufen


        **Zum Anfrage-Header hinzufügen:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````