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

# Créer une réponse (OpenAI Responses API)

> OpenAI Responses API, utilisé pour créer des réponses de modèle.
Prend en charge le dialogue multi-tours, l'appel d'outils, le raisonnement et d'autres fonctionnalités.

Ajoute des cas d’usage asynchrones de génération d’images pour OpenAI Responses API. `background=true` sert à soumettre des tâches en arrière-plan ; l’interface de création renvoie immédiatement `status=queued` et `id` complets, puis utilise ce `id` pour appeler `GET /v1/responses/{response_id}` et interroger le résultat.

## Flux de génération asynchrone d’images

1. Appelez `POST /v1/responses` et transmettez `tools=[{ "type": "image_generation" }]` dans le corps de la requête, avec `background=true`.
2. Enregistrez le `id` complet renvoyé par l’interface de création, par exemple `resp_xxx`. Ne le tronquez pas, ne le réécrivez pas et ne conservez pas uniquement `metadata.task_id`.
3. Appelez `GET /v1/responses/{response_id}` pour interroger, jusqu’à `status=completed` ou `status=failed`.
4. Une fois l’opération réussie, lisez `output[].url` pour obtenir le lien de l’image.

### Exemple de création d’une tâche d’image asynchrone

```http
POST /v1/responses
Content-Type: application/json
```

```json
{
  "model": "gpt-image-2-2k",
  "input": "生成一张 2K 横屏产品海报，白色运动鞋，干净棚拍光线，高级商业摄影风格。",
  "stream": false,
  "tools": [
    {
      "type": "image_generation"
    }
  ],
  "background": true
}
```

Exemple de réponse de l’interface de création :

```json
{
  "id": "resp_xxx",
  "created_at": 1780649146,
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "metadata": {
    "task_id": "010c31178d26436ca6194cde07931b33"
  },
  "model": "gpt-image-2-2k",
  "object": "response",
  "output": [],
  "parallel_tool_calls": true,
  "temperature": null,
  "tool_choice": null,
  "tools": null,
  "top_p": null,
  "max_output_tokens": null,
  "previous_response_id": null,
  "reasoning": null,
  "status": "queued",
  "text": null,
  "truncation": null,
  "usage": null,
  "user": null,
  "store": null
}
```

Modèles pris en charge : `gpt-image-2-2k`, `gpt-image-2-4k`, `nano-banana-pro`.



## OpenAPI

````yaml api-reference/fr/openapi.json POST /v1/responses
openapi: 3.0.0
info:
  title: Documentation de référence de 出海营 API
  version: 1.0.0
  description: Public AI Gateway API Reference
servers:
  - url: https://api.aiid.edu.kg
security:
  - BearerAuth: []
tags:
  - name: OpenAIFormat (Chat)
  - name: Format OpenAI(Responses)
  - name: Format Gemini pour la génération d’images
  - name: Génération d’imagesOpenAI au format DALL-E
  - name: Obtenir la liste des modèles
  - name: Génération vidéoHappyHorse avec Wan
  - name: Format de génération vidéo Kling
  - name: Format Omni de génération vidéo et Veo
  - name: Génération vidéo Seedance
  - name: Formats compatibles avec la génération de vidéosSora
  - name: Génération vidéo Vidu
  - name: Format de tâche de génération musicale
paths:
  /v1/responses:
    post:
      tags:
        - Format OpenAI(Responses)
      summary: Créer une réponse (OpenAI Responses API)
      description: >-
        OpenAI Responses API, utilisé pour créer des réponses de modèle.

        Prend en charge le dialogue multi-tours, l'appel d'outils, le
        raisonnement et d'autres fonctionnalités.


        Ajoute des cas d’usage asynchrones de génération d’images pour OpenAI
        Responses API. `background=true` sert à soumettre des tâches en
        arrière-plan ; l’interface de création renvoie immédiatement
        `status=queued` et `id` complets, puis utilise ce `id` pour appeler `GET
        /v1/responses/{response_id}` et interroger le résultat.


        ## Flux de génération asynchrone d’images


        1. Appelez `POST /v1/responses` et transmettez `tools=[{ "type":
        "image_generation" }]` dans le corps de la requête, avec
        `background=true`.

        2. Enregistrez le `id` complet renvoyé par l’interface de création, par
        exemple `resp_xxx`. Ne le tronquez pas, ne le réécrivez pas et ne
        conservez pas uniquement `metadata.task_id`.

        3. Appelez `GET /v1/responses/{response_id}` pour interroger, jusqu’à
        `status=completed` ou `status=failed`.

        4. Une fois l’opération réussie, lisez `output[].url` pour obtenir le
        lien de l’image.


        ### Exemple de création d’une tâche d’image asynchrone


        ```http

        POST /v1/responses

        Content-Type: application/json

        ```


        ```json

        {
          "model": "gpt-image-2-2k",
          "input": "生成一张 2K 横屏产品海报，白色运动鞋，干净棚拍光线，高级商业摄影风格。",
          "stream": false,
          "tools": [
            {
              "type": "image_generation"
            }
          ],
          "background": true
        }

        ```


        Exemple de réponse de l’interface de création :


        ```json

        {
          "id": "resp_xxx",
          "created_at": 1780649146,
          "error": null,
          "incomplete_details": null,
          "instructions": null,
          "metadata": {
            "task_id": "010c31178d26436ca6194cde07931b33"
          },
          "model": "gpt-image-2-2k",
          "object": "response",
          "output": [],
          "parallel_tool_calls": true,
          "temperature": null,
          "tool_choice": null,
          "tools": null,
          "top_p": null,
          "max_output_tokens": null,
          "previous_response_id": null,
          "reasoning": null,
          "status": "queued",
          "text": null,
          "truncation": null,
          "usage": null,
          "user": null,
          "store": null
        }

        ```


        Modèles pris en charge : `gpt-image-2-2k`, `gpt-image-2-4k`,
        `nano-banana-pro`.
      operationId: createResponse
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesRequest'
              properties: {}
            examples:
              responses_image_async:
                summary: Génération d’images asynchrone
                value:
                  model: gpt-image-2-2k
                  input: 生成一张 2K 横屏产品海报，白色运动鞋，干净棚拍光线，高级商业摄影风格。
                  stream: false
                  tools:
                    - type: image_generation
                  background: true
        required: true
      responses:
        '200':
          description: Réponse de création réussie
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesResponse'
              examples:
                responses_image_async_queued:
                  summary: Retour de création asynchrone de génération d'image
                  value:
                    id: resp_xxx
                    created_at: 1780649146
                    error: null
                    incomplete_details: null
                    instructions: null
                    metadata:
                      task_id: 010c31178d26436ca6194cde07931b33
                    model: gpt-image-2-2k
                    object: response
                    output: []
                    parallel_tool_calls: true
                    temperature: null
                    tool_choice: null
                    tools: null
                    top_p: null
                    max_output_tokens: null
                    previous_response_id: null
                    reasoning: null
                    status: queued
                    text: null
                    truncation: null
                    usage: null
                    user: null
                    store: null
          headers: {}
      deprecated: false
      security:
        - BearerAuth: []
components:
  schemas:
    ResponsesRequest:
      type: object
      required:
        - model
      properties:
        model:
          type: string
        input:
          description: >-
            Contenu d'entrée, peut être une chaîne de caractères ou un tableau
            de messages
          oneOf:
            - type: string
            - type: array
              items:
                type: object
                properties: {}
        instructions:
          type: string
        max_output_tokens:
          type: integer
        temperature:
          type: number
        top_p:
          type: number
        stream:
          type: boolean
        tools:
          type: array
          items:
            type: object
            properties: {}
        tool_choice:
          oneOf:
            - type: string
            - type: object
              properties: {}
        reasoning:
          type: object
          properties:
            effort:
              type: string
              enum:
                - low
                - medium
                - high
            summary:
              type: string
        previous_response_id:
          type: string
        truncation:
          type: string
          enum:
            - auto
            - disabled
    ResponsesResponse:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
          example: response
        created_at:
          type: integer
        status:
          type: string
          enum:
            - completed
            - failed
            - in_progress
            - incomplete
        model:
          type: string
        output:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              id:
                type: string
              status:
                type: string
              role:
                type: string
              content:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                    text:
                      type: string
        usage:
          $ref: '#/components/schemas/Usage'
    Usage:
      type: object
      properties:
        prompt_tokens:
          type: integer
          description: Nombre de tokens de prompt
        completion_tokens:
          type: integer
          description: Nombre de tokens de complétion
        total_tokens:
          type: integer
          description: Nombre total de tokens
        prompt_tokens_details:
          type: object
          properties:
            cached_tokens:
              type: integer
            text_tokens:
              type: integer
            audio_tokens:
              type: integer
            image_tokens:
              type: integer
        completion_tokens_details:
          type: object
          properties:
            text_tokens:
              type: integer
            audio_tokens:
              type: integer
            reasoning_tokens:
              type: integer
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |-
        Utilisez l'authentification Bearer Token.
        Format : `Authorization: Bearer sk-xxxxxx`

````