For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

Modo em segundo plano

Execute tarefas de longa duração de forma assíncrona em segundo plano.

Agentes como o Codex e a Pesquisa aprofundada mostram que modelos de raciocínio podem levar vários minutos para resolver problemas complexos. O modo em segundo plano permite executar tarefas de longa duração em modelos como GPT-5.2 e GPT-5.2 Pro de forma confiável, sem se preocupar com tempos limite ou outros problemas de conectividade.

O modo em segundo plano inicia essas tarefas de forma assíncrona, e os desenvolvedores podem consultar periodicamente os objetos de resposta para acompanhar o status. Para iniciar a geração de uma resposta em segundo plano, faça uma requisição à API com background definido como true:

Requisições em segundo plano de projetos com zero retenção de dados (ZDR) são executadas com store=false. Os dados da resposta são armazenados temporariamente em disco por cerca de 10 minutos para permitir a execução assíncrona e as consultas periódicas.

Em projetos que usam monitoramento modificado de abuso, incluindo o monitoramento modificado de abuso aprimorado, as requisições em primeiro plano seguem a política padrão de retenção quando store é omitido ou definido como true. As respostas em segundo plano são retidas após o período de consultas somente quando store=true é fornecido explicitamente. Se store for omitido ou definido como false em uma requisição em segundo plano, a resposta será excluída após cerca de 10 minutos.

Gere uma resposta em segundo plano
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)

Consultas periódicas a respostas em segundo plano

Para verificar o status das requisições em segundo plano, use o endpoint GET de Responses. Continue consultando enquanto a requisição estiver no estado queued ou in_progress. Quando ela sair desses estados, terá atingido um estado final (terminal).

Recupere uma resposta em execução em segundo plano
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}")

Cancelamento de uma resposta em segundo plano

Você também pode cancelar uma resposta em andamento assim:

Cancele uma resposta em andamento
import os

from openai import OpenAI

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

resp = client.responses.cancel(response_id)

print(resp.status)

Cancelar duas vezes é uma operação idempotente: chamadas subsequentes simplesmente retornam o objeto Response final.

Streaming de uma resposta em segundo plano

Você pode criar um objeto Response em segundo plano e começar a receber seus eventos por streaming imediatamente. Isso pode ser útil se você prevê que o cliente interrompa o streaming e quer ter a opção de retomá-lo depois. Para isso, crie um objeto Response com background e stream definidos como true. Mantenha um registro de um "cursor" correspondente ao sequence_number recebido em cada evento de streaming.

Atualmente, o tempo até o recebimento do primeiro token de uma resposta em segundo plano é maior do que o de uma resposta síncrona. Estamos trabalhando para reduzir essa diferença de latência nas próximas semanas.

Gere uma resposta em segundo plano e receba-a por 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. Requisições em segundo plano podem usar store=false, mas os dados da resposta são armazenados temporariamente para permitir a execução assíncrona e as consultas periódicas.
  2. Para cancelar uma resposta síncrona, encerre a conexão
  3. Você só pode iniciar um novo streaming de uma resposta em segundo plano se ela tiver sido criada com stream=true.