For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Mode en arrière-plan

Exécutez des tâches de longue durée de manière asynchrone en arrière-plan.

Des agents comme Codex et Recherche approfondie montrent que les modèles de raisonnement peuvent prendre plusieurs minutes pour résoudre des problèmes complexes. Le mode en arrière-plan vous permet d’exécuter des tâches de longue durée avec des modèles comme GPT-5.2 et GPT-5.2 Pro de manière fiable, sans vous soucier des délais d’expiration ou d’autres problèmes de connexion.

Le mode en arrière-plan lance ces tâches de manière asynchrone. Les développeurs peuvent ensuite interroger régulièrement les objets de réponse pour suivre leur état. Pour lancer la génération d’une réponse en arrière-plan, envoyez une requête API avec background défini sur true :

Les requêtes en arrière-plan des projets soumis à la politique de non-conservation des données (ZDR) s’exécutent avec store=false. Les données de réponse sont temporairement stockées sur disque pendant environ 10 minutes pour permettre l’exécution asynchrone et l’interrogation périodique.

Pour les projets utilisant la surveillance modifiée des abus, y compris sa version renforcée, les requêtes au premier plan suivent les règles standard de conservation lorsque store est omis ou défini sur true. Les réponses en arrière-plan sont conservées après la période d’interrogation uniquement lorsque store=true est explicitement fourni. Si store est omis ou défini sur false pour une requête en arrière-plan, la réponse est supprimée après environ 10 minutes.

Générez une réponse en arrière-plan
from openai import OpenAI

client = OpenAI()

resp = client.responses.create(
    model="gpt-6-astra",
    input="Write a very long novel about otters in space.",
    background=True,
)

print(resp.status)

Interrogation périodique des réponses en arrière-plan

Pour vérifier l’état des requêtes en arrière-plan, utilisez le point de terminaison GET de l’API Responses. Continuez à l’interroger tant que la requête est à l’état queued ou in_progress. Lorsqu’elle quitte ces états, elle a atteint un état final (terminal).

Récupérez une réponse en cours de génération en arrière-plan
from openai import OpenAI
from time import sleep

client = OpenAI()

resp = client.responses.create(
    model="gpt-6-astra",
    input="Write a very long novel about otters in space.",
    background=True,
)

while resp.status in {"queued", "in_progress"}:
    print(f"Current status: {resp.status}")
    sleep(2)
    resp = client.responses.retrieve(resp.id)

print(f"Final status: {resp.status}\nOutput:\n{resp.output_text}")

Annulation d’une réponse en arrière-plan

Vous pouvez également annuler une réponse en cours de génération de la manière suivante :

Annulez une réponse en cours de génération
import os

from openai import OpenAI

response_id = os.environ["OPENAI_RESPONSE_ID"]
client = OpenAI()

resp = client.responses.cancel(response_id)

print(resp.status)

L’annulation est idempotente : si vous la demandez plusieurs fois, les appels suivants renvoient simplement l’objet Response final.

Streaming d’une réponse en arrière-plan

Vous pouvez créer un objet Response en arrière-plan et commencer immédiatement à recevoir ses événements en streaming. Cela peut être utile si vous prévoyez que le client interrompe le flux et souhaitez pouvoir le reprendre plus tard. Pour cela, créez un objet Response avec background et stream tous deux définis sur true. Veillez à conserver un « curseur » correspondant au sequence_number reçu dans chaque événement du flux.

Actuellement, le délai de réception du premier token d’une réponse en arrière-plan est plus long que celui d’une réponse synchrone. Nous travaillons à réduire cet écart de latence dans les semaines à venir.

Générez une réponse en arrière-plan et recevez-la en streaming
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
  "model": "gpt-6-astra",
  "input": "Write a very long novel about otters in space.",
  "background": true,
  "stream": true
}'

// To resume:
curl "https://api.openai.com/v1/responses/resp_123?stream=true&starting_after=42" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY"

Limites

  1. Les requêtes en arrière-plan peuvent utiliser store=false, mais les données de réponse sont temporairement stockées pour permettre l’exécution asynchrone et l’interrogation périodique.
  2. Pour annuler une réponse synchrone, fermez la connexion
  3. Vous ne pouvez démarrer un nouveau flux à partir d’une réponse en arrière-plan que si vous l’avez créée avec stream=true.