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

# API tous modèles GLM - Démarrage rapide Responses

> Appelez GLM avec model et input. Modèles disponibles : glm-5.3, glm-5.3-flash, glm-5.3-flashx et glm-5.2. Fixez max_output_tokens à 1024 ou plus pour réserver de la place à la réflexion et à la réponse.

Consultez la [référence complète](./responses-reference) pour les autres exemples et les différences entre modèles.

<Note>
  **BaseURL** : la BaseURL par défaut est `https://direct.evolink.ai`, qui offre une meilleure prise en charge des modèles textuels et des connexions de longue durée. `https://api.evolink.ai` est le point de terminaison principal pour les services multimodaux et sert d'adresse de repli pour les modèles textuels.
</Note>

Utilisez POST /v1/responses et choisissez le modèle avec model. Seuls model et input sont obligatoires. Les exemples définissent aussi un budget de sortie et un effort de raisonnement pour faciliter la prise en main.

<Warning>
  Responses utilise `reasoning.effort` imbriqué, au lieu de `reasoning_effort` ou `thinking` à la racine. Les tokens de réflexion sont inclus dans output\_tokens. Une tâche simple peut renvoyer `reasoning_tokens=0` ; cela ne signifie pas que la réflexion peut être désactivée.

  Effort de raisonnement ; `low` est recommandé.

  **Règles de compatibilité de `glm-5.3` / `glm-5.3-flash` / `glm-5.3-flashx`**

  | Valeur fournie         | Niveau de réflexion effectif      |
  | ---------------------- | --------------------------------- |
  | `low` / `high` / `max` | Inchangé                          |
  | `xhigh`                | `max`                             |
  | `medium`               | `high`                            |
  | `minimal` / `none`     | `low` ; réflexion toujours active |

  **`minimal` et `none` ne désactivent pas la réflexion de la série 5.3.** Les tokens de réflexion sont facturés en sortie. Les valeurs inconnues restent inchangées, sans correspondance de compatibilité ; utilisez les valeurs indiquées. Ces correspondances ne s’appliquent pas à glm-5.2.

  Sur cet endpoint, `glm-5.2` peut encore produire des tokens de réflexion avec none. Cette valeur ne garantit pas la désactivation de la réflexion.
</Warning>

## Lire la réponse

Éléments de sortie ordonnés. Extrayez text des entrées content de type `output_text` dans les éléments type=message. reasoning peut précéder la réponse ; un tour `function_call` peut n’avoir aucun texte de réponse. Ne lisez pas systématiquement output\[0].

Après avoir analysé la réponse JSON dans response, extrayez le texte ainsi :

```python theme={null}
text = "".join(
    part["text"]
    for item in response.get("output", [])
    if item.get("type") == "message"
    for part in item.get("content", [])
    if part.get("type") == "output_text"
)
print(text)
```

<Note>
  Nombre maximal de tokens de sortie de cette génération, réflexion comprise. Commencez à 1024 et adaptez à la tâche. Un budget trop faible peut être épuisé pendant la réflexion et produire uniquement des éléments reasoning, sans réponse. Vérifiez status et incomplete\_details. Le paramètre s’appelle `max_output_tokens`, pas max\_tokens.
</Note>

Consultez la [référence complète](./responses-reference) pour les outils, les images, SSE et les conversations à plusieurs tours.


## OpenAPI

````yaml fr/api-manual/language-series/glm/responses/responses-quickstart.json POST /v1/responses
openapi: 3.1.0
info:
  title: API tous modèles GLM - Démarrage rapide Responses
  description: >-
    Appelez la série GLM de Zhipu au format Responses compatible avec OpenAI.
    Modèles pris en charge : glm-5.3, glm-5.3-flash, glm-5.3-flashx et glm-5.2.
    Les fonctions optionnelles varient selon le modèle.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Production (recommandée)
  - url: https://api.evolink.ai
    description: URL alternative
security:
  - bearerAuth: []
tags:
  - name: Responses
    description: API GLM Responses
paths:
  /v1/responses:
    post:
      tags:
        - Responses
      summary: Démarrage rapide GLM Responses
      description: >-
        Appelez GLM avec model et input. Modèles disponibles : glm-5.3,
        glm-5.3-flash, glm-5.3-flashx et glm-5.2. Fixez max_output_tokens à 1024
        ou plus pour réserver de la place à la réflexion et à la réponse.


        Consultez la [référence complète](./responses-reference) pour les autres
        exemples et les différences entre modèles.
      operationId: glmResponsesQuick
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesQuickRequest'
            examples:
              basic:
                summary: Conversation textuelle de base
                value:
                  model: glm-5.3-flash
                  input: Présente-toi en une phrase.
                  max_output_tokens: 1024
                  reasoning:
                    effort: low
              stream:
                summary: Sortie SSE en streaming
                value:
                  model: glm-5.3-flash
                  input: Présente-toi en une phrase.
                  max_output_tokens: 1024
                  reasoning:
                    effort: low
                  stream: true
              flashx:
                summary: Appeler GLM-5.3-FlashX
                value:
                  model: glm-5.3-flashx
                  input: Présente-toi en une phrase.
                  max_output_tokens: 1024
                  reasoning:
                    effort: low
      responses:
        '200':
          description: >-
            Génération terminée ou résultat incomplet ; vérifiez status. Le
            streaming renvoie text/event-stream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesResponse'
              example:
                id: response_demo
                object: response
                created_at: 1789971757
                model: glm-5.3-flash
                status: completed
                output:
                  - type: message
                    id: message_demo
                    status: completed
                    role: assistant
                    content:
                      - type: output_text
                        text: >-
                          Bonjour, je suis GLM. Je peux vous aider à discuter,
                          rédiger et programmer.
                        annotations: []
                usage:
                  input_tokens: 17
                  output_tokens: 24
                  total_tokens: 41
                  input_tokens_details:
                    cached_tokens: 0
                  output_tokens_details:
                    reasoning_tokens: 0
                error: null
            text/event-stream:
              schema:
                type: string
              example: >+
                event: response.output_text.delta

                data:
                {"type":"response.output_text.delta","item_id":"message_demo","output_index":0,"content_index":0,"delta":"Bonjour"}


                event: response.completed

                data:
                {"type":"response.completed","response":{"id":"response_demo","object":"response","created_at":1789971757,"model":"glm-5.3-flash","status":"completed","output":[{"type":"message","id":"message_demo","status":"completed","role":"assistant","content":[{"type":"output_text","text":"Bonjour","annotations":[]}]}],"usage":{"input_tokens":17,"output_tokens":3,"total_tokens":20},"error":null}}

        '400':
          description: >-
            Paramètres incorrects : input absent, paramètres reasoning mal
            formés ou modèle ne prenant pas en charge previous_response_id, par
            exemple.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Clé API invalide ou expirée.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Crédits disponibles insuffisants.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Limite de fréquence dépassée. Réessayez avec un délai croissant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Erreur du serveur.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service temporairement indisponible. Réessayez plus tard.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ResponsesQuickRequest:
      type: object
      properties:
        model:
          type: string
          description: >-
            Choisissez un modèle GLM. Les quatre acceptent du texte sur cet
            endpoint. Les fonctions optionnelles varient selon le modèle.


            | ID du modèle | Entrée | Remarques sur la réflexion |

            | --- | --- | --- |

            | `glm-5.3` | Texte | Niveaux effectifs : low / high / max ; valeurs
            compatibles dans reasoning. La réflexion ne peut pas être
            désactivée. |

            | `glm-5.3-flash` | Texte, images | Comme glm-5.3 ; utilisez
            input_image pour les images. |

            | `glm-5.3-flashx` | Texte, images | Comme glm-5.3 ; utilisez
            input_image pour les images. |

            | `glm-5.2` | Texte | none peut encore produire des tokens de
            réflexion et ne garantit pas sa désactivation. |
          enum:
            - glm-5.3
            - glm-5.3-flash
            - glm-5.3-flashx
            - glm-5.2
          default: glm-5.3-flash
          example: glm-5.3-flash
        input:
          description: >-
            Obligatoire. Chaîne de texte ou tableau d’éléments d’entrée
            Responses. Le tableau accepte des messages, des éléments de sortie
            du modèle renvoyés tels quels et function_call_output. Pour
            plusieurs échanges, incluez l’historique complet à chaque requête.
            Placez le prompt système en premier avec role=system. Les images
            utilisent input_image, uniquement avec glm-5.3-flash et
            glm-5.3-flashx. N’utilisez pas le format de blocs messages /
            image_url de Chat Completions.
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/InputItem'
          example: Présente-toi en une phrase.
        max_output_tokens:
          type: integer
          minimum: 1
          description: >-
            Nombre maximal de tokens de sortie de cette génération, réflexion
            comprise. Commencez à 1024 et adaptez à la tâche. Un budget trop
            faible peut être épuisé pendant la réflexion et produire uniquement
            des éléments reasoning, sans réponse. Vérifiez status et
            incomplete_details. Le paramètre s’appelle max_output_tokens, pas
            max_tokens.
          example: 1024
        stream:
          type: boolean
          default: false
          description: >-
            Active le streaming SSE. Lisez le texte dans delta des événements
            response.output_text.delta. L’événement final de réussite est
            response.completed. Terminez aussi le tour et traitez
            response.incomplete, response.failed ou error. N’attendez pas
            uniquement [DONE] ou la fermeture de la connexion.
        reasoning:
          type: object
          properties:
            effort:
              type: string
              description: >-
                Effort de raisonnement ; low est recommandé.


                **Règles de compatibilité de glm-5.3 / glm-5.3-flash /
                glm-5.3-flashx**


                | Valeur fournie | Niveau de réflexion effectif |

                | --- | --- |

                | `low` / `high` / `max` | Inchangé |

                | `xhigh` | `max` |

                | `medium` | `high` |

                | `minimal` / `none` | low ; réflexion toujours active |


                **minimal et none ne désactivent pas la réflexion de la série
                5.3.** Les tokens de réflexion sont facturés en sortie. Les
                valeurs inconnues restent inchangées, sans correspondance de
                compatibilité ; utilisez les valeurs indiquées. Ces
                correspondances ne s’appliquent pas à glm-5.2.


                Sur cet endpoint, glm-5.2 peut encore produire des tokens de
                réflexion avec none. Cette valeur ne garantit pas la
                désactivation de la réflexion.
              enum:
                - max
                - xhigh
                - high
                - medium
                - low
                - minimal
                - none
              example: low
          description: >-
            Responses utilise reasoning.effort imbriqué, au lieu de
            reasoning_effort ou thinking à la racine. Les tokens de réflexion
            sont inclus dans output_tokens. Une tâche simple peut renvoyer
            reasoning_tokens=0 ; cela ne signifie pas que la réflexion peut être
            désactivée.
      required:
        - model
        - input
    ResponsesResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifiant de cette réponse. À transmettre sans modification dans
            previous_response_id.
          example: response_demo
        object:
          type: string
          const: response
        created_at:
          type: integer
          description: Date de création en secondes Unix.
        model:
          type: string
          example: glm-5.3-flash
        status:
          type: string
          description: >-
            completed indique la fin de génération du tour, éventuellement avec
            uniquement des appels d’outils. incomplete indique une sortie
            incomplète. Vérifiez output et error.
          enum:
            - completed
            - incomplete
            - failed
            - in_progress
            - queued
        output:
          type: array
          items:
            $ref: '#/components/schemas/OutputItem'
          description: >-
            Éléments de sortie ordonnés. Extrayez text des entrées content de
            type output_text dans les éléments type=message. reasoning peut
            précéder la réponse ; un tour function_call peut n’avoir aucun texte
            de réponse. Ne lisez pas systématiquement output[0].
        output_text:
          type: string
          description: >-
            Texte de réponse agrégé facultatif ; il peut être absent. Les
            clients génériques doivent parcourir output.
        usage:
          $ref: '#/components/schemas/Usage'
        error:
          type:
            - object
            - 'null'
          description: Erreur de réponse, généralement null en cas de réussite.
          additionalProperties: true
        incomplete_details:
          type: object
          properties:
            reason:
              type: string
              description: Détails d’une sortie tronquée, par exemple max_output_tokens.
        metadata:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
            param:
              type:
                - string
                - 'null'
            code:
              type:
                - string
                - integer
                - 'null'
      required:
        - error
    InputItem:
      description: >-
        Message, résultat de fonction ou élément repris sans modification du
        précédent output. Pour les résultats d’outils, utilisez le call_id
        renvoyé et conservez les champs d’origine des éléments de sortie
        précédents.
      oneOf:
        - $ref: '#/components/schemas/InputMessage'
        - $ref: '#/components/schemas/FunctionCallOutput'
        - type: object
          properties:
            type:
              type: string
              description: Type de l’élément de sortie renvoyé.
              enum:
                - function_call
                - reasoning
                - web_search_call
            id:
              type: string
            call_id:
              type: string
            name:
              type: string
            arguments:
              type: string
              description: Arguments encodés sous forme de chaîne JSON.
            status:
              type: string
            action:
              type: object
              additionalProperties: true
              description: Action de recherche ou d’accès à une page de web_search_call.
          required:
            - type
    OutputItem:
      type: object
      properties:
        type:
          type: string
          description: >-
            Types courants : message, reasoning, function_call et
            web_search_call.
          enum:
            - message
            - reasoning
            - function_call
            - web_search_call
        id:
          type: string
        status:
          type: string
        role:
          type: string
        content:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              text:
                type: string
              annotations:
                type: array
                items:
                  type: object
          description: >-
            output_text dans un élément message ; éventuellement reasoning_text
            dans un élément reasoning.
        summary:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              text:
                type: string
          description: >-
            La réflexion peut aussi être renvoyée via summary_text. Un élément
            reasoning n’a pas nécessairement de champ content.
        call_id:
          type: string
          description: >-
            Identifiant de l’appel de fonction utilisé pour renvoyer son
            résultat.
        name:
          type: string
          description: Nom de la fonction.
        arguments:
          type: string
          description: >-
            Arguments de fonction sous forme de chaîne JSON. Analysez-les et
            validez-les avant l’exécution.
        action:
          type: object
          additionalProperties: true
          description: Action de recherche ou d’accès à une page de web_search_call.
      required:
        - type
    Usage:
      type: object
      properties:
        input_tokens:
          type: integer
          description: Total des tokens d’entrée, y compris ceux du cache.
        output_tokens:
          type: integer
          description: Total des tokens de sortie, réflexion comprise.
        total_tokens:
          type: integer
          description: Somme des tokens d’entrée et de sortie.
        input_tokens_details:
          type: object
          properties:
            cached_tokens:
              type: integer
              description: >-
                Sous-ensemble des tokens d’entrée trouvé dans le cache ; ne
                l’ajoutez pas de nouveau à input_tokens. Le cache de préfixe est
                automatique, sans cache_control explicite. Le nombre de tokens
                concernés est celui renvoyé dans la réponse.
        output_tokens_details:
          type: object
          properties:
            reasoning_tokens:
              type: integer
              description: >-
                Sous-ensemble des tokens de sortie consacré à la réflexion ; ne
                le comptez pas de nouveau dans output_tokens. Cette valeur peut
                être absente ou nulle.
    InputMessage:
      type: object
      properties:
        role:
          type: string
          enum:
            - system
            - user
            - assistant
        content:
          description: >-
            Chaîne de texte ou tableau de blocs d’entrée. Lors du renvoi d’une
            sortie assistant existante, ses blocs output_text peuvent être
            conservés tels quels.
          oneOf:
            - type: string
            - type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/InputText'
                  - $ref: '#/components/schemas/InputImage'
                  - $ref: '#/components/schemas/OutputText'
      required:
        - role
        - content
    FunctionCallOutput:
      type: object
      properties:
        type:
          type: string
          const: function_call_output
        call_id:
          type: string
          description: call_id du function_call d’origine.
        output:
          type: string
          description: Résultat de fonction, généralement une chaîne encodée en JSON.
      required:
        - type
        - call_id
        - output
    InputText:
      type: object
      properties:
        type:
          type: string
          const: input_text
        text:
          type: string
      required:
        - type
        - text
    InputImage:
      type: object
      properties:
        type:
          type: string
          const: input_image
        image_url:
          type: string
          description: >-
            URL publique d’image ou Data URL Base64, par exemple
            data:image/png;base64,... pour un PNG. Seuls glm-5.3-flash /
            glm-5.3-flashx acceptent les images ; utilisez uniquement du texte
            avec glm-5.3 et glm-5.2.
      required:
        - type
        - image_url
    OutputText:
      type: object
      properties:
        type:
          type: string
          const: output_text
        text:
          type: string
        annotations:
          type: array
          items:
            type: object
      required:
        - type
        - text
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Transmettez Bearer YOUR_API_KEY dans l’en-tête Authorization.

````