Astra ya está en la API: comprueba el acceso de tu proyecto
GPT-6 Astra ya está disponible en la API, según la actualización oficial de OpenAI consultada el 5 de septiembre de 2026. Para una aplicación que llama directamente a OpenAI, el identificador es gpt-6-astra. La disponibilidad del producto permite empezar a comprobar el acceso; el resultado de tu solicitud depende también de la organización, el proyecto, la clave y la facturación que utilices.
Ver Astra en el selector de ChatGPT no resuelve esa comprobación. OpenAI distingue el acceso del espacio de trabajo del acceso mediante una clave de API, que corresponde a su organización y proyecto. Las condiciones de un despliegue de ChatGPT Enterprise, incluido Daybreak, no deben convertirse en un requisito general para cualquier aplicación. Consulta la distinción oficial entre cuentas y productos si tienes varias formas de iniciar sesión.
Antes de escribir código, identifica estas tres cosas en la plataforma de OpenAI:
- El proyecto que vas a utilizar. Comprueba que la clave pertenece a ese proyecto y dispone de los permisos necesarios para crear respuestas. En una organización compartida, pide al administrador que revise el acceso del proyecto concreto.
- La facturación de la API. Comprueba el saldo o la modalidad de pago y los límites aplicables. La suscripción a ChatGPT no es saldo de API. La ficha de Astra no admite el nivel de uso Free; una mención genérica a pruebas gratuitas en otra guía no garantiza una llamada gratuita a este modelo.
- El servicio que recibirá la clave. El ejemplo de este artículo usa
https://api.openai.com/v1/responses. Si tu configuración contiene otra dirección base, comprueba primero qué proveedor la gestiona y qué credenciales exige.
España figura en la lista oficial de países admitidos. Para una aplicación desplegada fuera de España, revisa también desde dónde se conecta el servidor. El idioma de la aplicación no determina el país desde el que se utiliza el servicio.
Envía una solicitud pequeña y guarda el resultado completo
Para la primera comprobación conviene usar Responses, sin herramientas ni historial de conversación. Astra también admite Chat Completions, pero las llamadas a herramientas requieren Responses. La guía del modelo indica además que no se deben trasladar parámetros como temperature o top_p desde ejemplos de otros modelos, y que none y minimal deben sustituirse por un nivel compatible, como low.
El siguiente ejemplo para macOS o Linux necesita curl y una variable de entorno OPENAI_API_KEY con una clave válida de OpenAI. Configúrala en el entorno de tu terminal o mediante tu gestor de secretos. No incluyas la clave en el código que entregas al navegador. La guía de inicio oficial explica cómo crearla y cargarla en el entorno.
Guarda este contenido como solicitud.json:
json{ "model": "gpt-6-astra", "input": "Explica en una frase para qué sirve una clave de API.", "reasoning": { "effort": "low" }, "max_output_tokens": 2048, "service_tier": "default" }
Ejecuta la solicitud desde la carpeta donde has guardado el archivo:
bashcurl --silent --show-error \ --dump-header cabeceras.txt \ --output respuesta.json \ --write-out 'HTTP %{http_code}\n' \ https://api.openai.com/v1/responses \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ --data-binary @solicitud.json
El comando conserva el cuerpo en respuesta.json incluso si el servidor devuelve un error. Así puedes leer su explicación, en lugar de quedarte únicamente con un código HTTP. Las cabeceras quedan en cabeceras.txt, donde puedes consultar el identificador de solicitud y, cuando aparezca, Retry-After.
El límite de 2.048 tokens del ejemplo es un tope de generación para esta comprobación, no una garantía de obtener texto. max_output_tokens incluye el razonamiento y la salida visible. La documentación de razonamiento advierte de que una respuesta puede quedar incompleta antes de producir texto y aun así generar consumo. Si ocurre, interpreta primero el motivo y decide si ampliar el límite dentro de tu presupuesto. Ejecutar este ejemplo puede tener coste.
La modalidad default solicita el procesamiento Standard. Si tu proyecto tiene residencia de datos en la UE, esta elección también evita solicitar Fast o priority, modalidades que Astra no admite con esa configuración. Esa restricción depende de la residencia de datos del proyecto, no de que el usuario hable español. El proyecto debe permitir la modalidad elegida, como explica la guía de compatibilidad de Astra.
Distingue una respuesta válida de una conexión que solo funciona
Un HTTP 200 es una primera señal, pero todavía hay que mirar el contenido. En esta prueba de texto, comprueba que el objeto tiene un identificador de respuesta, que model corresponde al modelo solicitado, que status es completed y que existe texto utilizable. Conserva también usage para relacionar la prueba con su consumo.
En el JSON de Responses, output es una lista que puede mezclar mensajes, razonamiento y otros elementos. No des por hecho que el texto está en output[0].content[0].text. La guía de generación de texto distingue esa estructura de output_text, la propiedad práctica que ofrecen los SDK para reunir el texto generado.

Puedes inspeccionar el archivo con Python 3 sin instalar el SDK ni enviar otra solicitud. Guarda lo siguiente como leer_respuesta.py y ejecuta python3 leer_respuesta.py:
pythonimport json from pathlib import Path data = json.loads(Path("respuesta.json").read_text(encoding="utf-8")) if "error" in data: error = data["error"] print("Código:", error.get("code")) print("Tipo:", error.get("type")) print("Mensaje:", error.get("message")) raise SystemExit(1) parts = [ part["text"] for item in data.get("output", []) if item.get("type") == "message" for part in item.get("content", []) if part.get("type") == "output_text" ] text = "\n".join(parts).strip() print("ID:", data.get("id")) print("Modelo:", data.get("model")) print("Estado:", data.get("status")) print("Texto:", text) print("Consumo:", data.get("usage")) if data.get("status") != "completed" or not text: print("Detalles:", data.get("incomplete_details")) raise SystemExit("La comprobación de texto todavía no está completa.")
Si ya usas el SDK oficial de Python, el texto agregado se obtiene con response.output_text; sigue comprobando response.status y response.model. Que el modelo escriba «soy Astra» no sustituye a los datos de la respuesta. Tampoco hace falta exigir una frase idéntica en cada ejecución: la prueba busca una respuesta terminada y legible, no una salida literal fija.
Si ves status: "incomplete" y incomplete_details.reason: "max_output_tokens", la solicitud ha llegado al servicio, pero el presupuesto de generación no ha bastado. Si el JSON contiene mensajes y tu aplicación no muestra nada, revisa antes cómo extraes output; volver a pagar otra llamada no corrige un lector de respuestas que apunta al elemento equivocado.
El error indica qué debes cambiar
Lee error.code, error.type y error.message juntos. La referencia oficial de errores separa los problemas de autenticación, facturación, tráfico y disponibilidad temporal. Un mismo HTTP 429 puede exigir acciones muy distintas:
| Resultado | Qué comprobar | Siguiente acción |
|---|---|---|
| 401 de autenticación | Clave revocada o incorrecta, proyecto, permisos y posibles restricciones de IP | Corrige las credenciales o pide acceso al administrador del proyecto. |
| 403 por país no admitido | País o territorio desde el que accede el servidor | Contrasta la ubicación con la lista oficial de países admitidos. |
| Error que menciona un modelo inexistente o sin acceso | Identificador exacto, dirección del servicio y proyecto de la clave | Revisa esos datos y el mensaje completo; no atribuyas automáticamente el fallo al despliegue de Astra. |
| 400 por parámetro incompatible | Nombre y valor del parámetro señalado | Retira la opción heredada o utiliza un valor compatible con Astra y Responses. |
400 relativo a service_tier | Modalidades permitidas en el proyecto y residencia de datos | Solicita una modalidad permitida; omitir el parámetro puede seguir resolviéndose a una modalidad restringida. |
429 con credit_balance_exhausted | Saldo de la organización | Revisa la facturación y añade saldo si corresponde. |
429 con project_spend_limit_exceeded u organization_spend_limit_exceeded | Límite de gasto del proyecto o de la organización | Revisa el límite con quien administra el presupuesto. |
429 con organization_usage_limit_exceeded | Límite de uso asignado por OpenAI | Solicita una ampliación; cambiar solo un presupuesto interno no basta. |
429 por tráfico, incluido slow_down | Frecuencia de solicitudes y aumentos bruscos de carga | Reduce el ritmo y respeta Retry-After cuando esté presente. |
503 con server_is_overloaded | Sobrecarga temporal del modelo | Espera el tiempo indicado y reintenta de forma limitada. |

No programes reintentos continuos para errores de saldo, gasto o permisos: esas condiciones requieren un cambio antes de volver a llamar. Si el problema aparece al aumentar la carga, pasa a la guía de límites de la API de OpenAI, donde el objetivo ya es controlar concurrencia y consumo compartido.
Para pedir ayuda, conserva la hora, el proyecto, el modelo solicitado, el código y mensaje del error y el identificador de solicitud. Comparte esos datos con el administrador o el soporte del servicio; excluye la clave de API y cualquier contenido privado.
Si utilizas un proveedor intermediario
Un cliente compatible con OpenAI puede enviar las solicitudes a otro servicio. En ese caso, verifica conjuntamente dirección base, clave e identificador de modelo en la documentación de ese proveedor. Un nombre con prefijo como openai/gpt-6-astra pertenece al catálogo que lo define; no lo copies sin más en una llamada directa a OpenAI, cuyo identificador documentado es gpt-6-astra.
Los permisos, el saldo y los errores de ese servicio se resuelven con su propio panel y soporte. Una solicitud aceptada por el intermediario prueba el funcionamiento de esa conexión; no concede permisos a un proyecto de OpenAI. Comprueba también qué datos devuelve sobre el modelo y qué modalidades y herramientas documenta antes de trasladar la prueba a tu aplicación.
Cuando la primera solicitud directa termine con texto utilizable, podrás afirmar que esa clave y ese proyecto han completado esa operación. El siguiente paso es probar una entrada representativa de tu aplicación y estimar su coste con la guía de precios de la API de GPT-6 Astra. Una frase breve sirve para comprobar el acceso; los documentos largos, las herramientas y la concurrencia necesitan sus propias pruebas.



