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

Modo en segundo plano

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

Agentes como Codex e Investigación profunda demuestran 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 con modelos como GPT-5.2 y GPT-5.2 Pro de forma confiable, sin preocuparte por tiempos de espera agotados ni otros problemas de conectividad.

El modo en segundo plano inicia estas tareas de forma asíncrona, y los desarrolladores pueden consultar periódicamente los objetos de respuesta para comprobar su estado. Para iniciar la generación de una respuesta en segundo plano, realiza 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 respuesta se almacenan temporalmente en disco durante aproximadamente 10 minutos para permitir la ejecución asíncrona y el sondeo.

En los proyectos que usan monitoreo de abusos modificado, incluido el monitoreo de abusos modificado mejorado, las solicitudes en primer plano siguen la política de retención estándar cuando se omite store o se establece en true. Las respuestas en segundo plano se conservan después del período de sondeo solo cuando se proporciona explícitamente store=true. Si se omite store o se establece en false en una solicitud en segundo plano, la respuesta se elimina después de aproximadamente 10 minutos.

Genera 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)

Sondeo de respuestas en segundo plano

Para comprobar el estado de las solicitudes en segundo plano, usa el punto de acceso GET de Responses. Continúa con el sondeo mientras la solicitud esté en el estado queued o in_progress. Cuando sale de estos estados, ha alcanzado un estado final (terminal).

Recupera una respuesta que se está ejecutando 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:

Cancela 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)

Cancelar dos veces es idempotente: las llamadas posteriores simplemente devuelven el objeto Response final.

Streaming de una respuesta en segundo plano

Puedes crear una Response en segundo plano y comenzar a transmitir sus eventos de inmediato. Esto puede ser útil si prevés que el cliente interrumpirá el streaming y quieres tener la opción de reanudarlo más adelante. Para ello, crea una Response con background y stream establecidos en true. Conviene que lleves un registro de un “cursor” correspondiente al sequence_number que recibes en cada evento de streaming.

Actualmente, el tiempo que tardas en recibir el primer token de una respuesta en segundo plano es mayor que el de una respuesta síncrona. Estamos trabajando para reducir esta diferencia de latencia en las próximas semanas.

Genera y transmite 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 respuesta se almacenan temporalmente para permitir la ejecución asíncrona y el sondeo.
  2. Para cancelar una respuesta síncrona, cierra la conexión
  3. Solo puedes iniciar un nuevo streaming de una respuesta en segundo plano si la creaste con stream=true.