For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal
Theme

Modo en segundo plano

Ejecuta tareas de larga duración de forma asíncrona en segundo plano.

Agentes como Codex e investigación profunda muestran que los modelos de razonamiento pueden tardar varios minutos en resolver problemas complejos. El modo en segundo plano te permite ejecutar tareas de larga duración de forma confiable con modelos como GPT-5.2 y GPT-5.2 Pro, sin preocuparte por que se agote el tiempo de espera ni por otros problemas de conexión.

El modo en segundo plano inicia estas tareas de forma asíncrona. Puedes consultar periódicamente los objetos de respuesta para conocer el estado de las tareas. Para empezar a generar una respuesta en segundo plano, envía una solicitud a la API con background establecido en true:

Las solicitudes en segundo plano de proyectos con retención cero de datos (ZDR) se ejecutan con store=false. Los datos de la respuesta se guardan temporalmente en disco durante unos 10 minutos para permitir la ejecución asíncrona y las consultas periódicas.

En los proyectos que usan el monitoreo modificado de abusos, incluida su modalidad mejorada, las solicitudes en primer plano siguen la política de retención estándar si omites store o lo estableces en true. Las respuestas en segundo plano solo se conservan después del período de consulta si especificas store=true de forma explícita. Si omites store o lo estableces en false en una solicitud en segundo plano, la respuesta se elimina después de unos 10 minutos.

Generar una respuesta en 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)

Consultar el estado de las respuestas en segundo plano

Para consultar el estado de las solicitudes en segundo plano, usa el punto de acceso GET de Responses. Repite la consulta mientras el estado de la solicitud sea queued o in_progress. Cualquier otro estado es final (terminal).

Recuperar una respuesta que se está generando en 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}")

Cancelar una respuesta en segundo plano

También puedes cancelar una respuesta en curso de esta manera:

Cancelar una respuesta en curso
import os

from openai import OpenAI

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

resp = client.responses.cancel(response_id)

print(resp.status)

La cancelación es idempotente. Si vuelves a solicitarla, las llamadas posteriores simplemente devuelven el objeto Response final.

Transmitir una respuesta en segundo plano

Puedes crear un objeto Response en segundo plano y empezar a recibir sus eventos de inmediato. Esto puede ser útil si prevés que el cliente interrumpirá la transmisión y quieres poder reanudarla más adelante. Para hacerlo, crea un objeto Response con background y stream establecidos en true. Lleva un registro del “cursor” que corresponde al sequence_number que recibes en cada evento de la transmisión.

Actualmente, el primer token tarda más en llegar en una respuesta en segundo plano que en una síncrona. Estamos trabajando para reducir esta diferencia de latencia en las próximas semanas.

Generar y transmitir una respuesta en segundo plano
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"

Límites

  1. Las solicitudes en segundo plano pueden usar store=false, pero los datos de la respuesta se guardan temporalmente para permitir la ejecución asíncrona y las consultas periódicas.
  2. Para cancelar una respuesta síncrona, cierra la conexión.
  3. Solo puedes iniciar una nueva transmisión a partir de una respuesta en segundo plano si la creaste con stream=true.