OpenAI объявила GPT-6 Astra 3 сентября 2026. Идентификатор API — gpt-6-astra; клиенты API смогли вызвать его 4 сентября. Большинство запросов «как вызвать» спотыкаются не о ценник 10/50 долларов и не об окне в 1,05 млн токенов. Они застревают ниже: в ChatGPT уже виден GPT-6 Pro, а Python отвечает model_not_found; или прошлогодний сниппет Chat Completions вставляют как есть, и первое поле tools даёт 400. Эта статья не пересказывает, что такое Astra — это в гайде по релизу, цене и агентам. Она ведёт от ключа API к первому напечатанному output_text.
Почему первый запрос обычно падает
Старый рефлекс — в день флагмана подменить строку модели. Новый — выровнять четыре факта: платный проект, ключ только в окружении, верный эндпоинт, зафиксированный ID плюс effort. Развилка не в том, умеете ли вы собрать OpenAI(). Она в том, считаете ли вы ещё окно ChatGPT и проект API одной системой.
Пять путей отказа независимы и часто складываются. Первый: Plus или Pro может болтать с GPT-6 Pro, а проекта на platform.openai.com с Astra нет. Второй: корпоративные пространства по умолчанию выключают модель; SDK не говорит «спросите админа», он говорит, что модели нет. Третий: бесплатный ярус Astra не обслуживает — не отлаживайте SDK до биллинга. Четвёртый: голый текст ещё можно гнать в Chat Completions, но вызовы инструментов принадлежат Responses. Пятый: ключ в исходнике, ноутбуке или чате после отзыва внезапно даёт 401.
Отсечка знаний — 30 апреля 2026. reasoning.effort принимает low, medium, high, xhigh и max. none нельзя — будет 400. Шлюзы часто держат low. Для первого ping берите low. Вы проверяете путь, а не сжигаете max-рассуждение на «hello».
Лимиты следуют ярусу расхода. Официальные таблицы помечают Free как неподдерживаемый; Tier 1 начинается примерно с 500 RPM и 500 000 TPM и растёт вместе с тратами. Если первый вызов дал 429, проверьте ярус проекта и потолок организации, прежде чем переписывать клиент. Ключ в чужом проекте выглядит как сетевой баг и им не является.
Разделить ключ, эндпоинт и ID модели
Разрежьте услышанные имена на четыре слоя, чтобы «я залогинен в ChatGPT» перестало значить «я могу бить API».
| Слой | Что слышите | Что нужно первому запросу |
|---|---|---|
| Дверь продукта | ChatGPT / API / Azure / Bedrock | Этот учебник — OpenAI API; облака требуют свой SDK и имя деплоя |
| Секрет | User key / project key | Создать в платном проекте; только окружение; никогда исходник |
| Эндпоинт | Responses / Chat Completions / Batch | Новые приложения: Responses; старый текст: Completions; офлайн-объём: Batch |
| Модель | GPT-6 / Astra / GPT-6 Pro / Ultra | Слать gpt-6-astra; в проде закрепить снимок из каталога |
Кратчайший путь к ключу: открыть platform.openai.com, подтвердить биллинг организации и проекта и что это не free, создать ключ только для этого ноутбука или этого CI и скопировать один раз — UI больше не покажет полное значение. В Windows — системное хранилище или секрет-менеджер; в macOS и Linux — export. Не вставляйте ключ в чат коллеге и не дайте Jupyter сохранить его в ячейке вывода.
# macOS / Linux export OPENAI_API_KEY="sk-..." # never commit the key echo 'OPENAI_API_KEY=sk-...' >> .env echo '.env' >> .gitignore
Поставьте официальный пакет openai. Старый клиент может вообще не отдавать client.responses. Это выглядит как «Astra закрыта», а на деле SDK только под Completions.
python3 -m pip install -U "openai>=1.0" python3 -c "import openai; print(openai.__version__)"
На старте модель принимает текст и изображение на вход и текст на выход. Аудио и видео на вход закрыты. Инструменты Responses: веб-поиск, поиск по файлам, генерация изображений, интерпретатор кода, hosted shell, apply patch, Skills, computer use, MCP и tool search. Function calling и structured output есть; fine-tuning нет. Всё это стоит на работающем текстовом ping. Не цепляйте computer use на шаге один.
Responses против Chat Completions
Асимметричная строка: голый текст может идти в обе двери; инструменты, хостовые возможности и async-вызовы требуют Responses. Не приваривайте нового агента к Completions только потому, что вы уже знаете массив messages.
| Возможность | Responses API | Chat Completions | Batch / Flex |
|---|---|---|---|
Голый текст gpt-6-astra | Да; умолчание для новых приложений | Да; годится для старого текстового пути | Да; 50% стандарта |
| Вызовы функций / structured output | Да; рекомендуемая дверь | Не умолчание для нового Astra tool loop | Правила batch |
| Хостовые инструменты (поиск, shell, computer use) | Да | Не основной путь | Не для интерактивного рабочего стола |
| Стрим | Да | Да | Не для живого терминала |
| Первый зонд | Рекомендуется | Только если шлюз не умеет уйти с Completions | Не для проверки ключа |
Прайс остаётся 10 долларов за миллион входных токенов и 50 за миллион выходных; кэш на чтение — 1, запись кэша — 12,50. Контекст 1 050 000, максимум выхода 128 000. Вход выше 272K тарифицирует весь запрос как 2× вход и кэш и 1,5× выход. Fast — двойной применимый тариф. Поиск и computer use добавляют плату за вызов инструмента. Одно предложение на low должно быть достаточно дешёвым, чтобы его игнорировать. Если первый вызов похож на long-context eval, вы написали бенчмарк, а не зонд.
Цикл инструментов — тот же протокол: модель выдаёт структурированный запрос; рантайм делает побочный эффект. Если три JSON-диалекта вендоров ещё живут в бизнес-if/else, сначала сверните внутренний ToolCall. См. сравнение Function Calling. Маршрутизация против Gemini и прошлой линии GPT: Gemini 4 vs GPT-5.6.
Минимальный Python: от ключа до первого запроса
Скрипт ниже делает три вещи: читает окружение, фиксирует gpt-6-astra и тратит low effort на одно подтверждающее предложение. Успех — не качество прозы. Успех — напечатать output_text и response.id. Сохраните id. «Кажется, сработало» — не артефакт инцидента.
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
instructions="You are a concise engineering assistant.",
input="Reply with one sentence: Astra API is reachable.",
reasoning={"effort": "low"},
)
print(response.output_text)
print(response.id)
print(getattr(response, "usage", None))
Если старый шлюз умеет только массив messages, текстовый зонд может идти в Chat Completions. Это доказывает ключ и ID модели. Это не доказывает, что потом можно навесить hosted shell.
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a concise engineering assistant."},
{"role": "user", "content": "Reply with one sentence: Astra API is reachable."},
],
)
print(completion.choices[0].message.content)
Стрим — необязательный второй шаг, не первый урок. Сначала посадите нестримовый вызов, потом stream=True. Типы событий следуют установленному SDK. Сниппет читает обычный response.output_text.delta. Если поле другое, печатайте event.type и сверяйтесь с официальной таблицей, а не угадывайте.
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-6-astra",
input="List three safe checks before a production cutover.",
reasoning={"effort": "low"},
stream=True,
)
for event in stream:
if getattr(event, "type", "") == "response.output_text.delta":
print(event.delta, end="", flush=True)
Не повторяйте каждую ошибку. Обрывы соединения — сеть и прокси. 429 — Retry-After и ярус. 400 почти всегда плохой ID, effort или схема: десять тысяч ретраев не вылечат. 401 и 403 возвращают к выключателю проекта и области ключа. Если причина — free-ярус или корпоративный замок, не меняйте модели тихо в прикладном коде. Так прод незаметно едет за старым флагманом.
from openai import APIConnectionError, APIStatusError, OpenAI, RateLimitError
client = OpenAI()
try:
client.responses.create(
model="gpt-6-astra",
input="ping",
reasoning={"effort": "low"},
)
except APIConnectionError as exc:
print("network", exc)
except RateLimitError as exc:
print("rate_limit", exc)
except APIStatusError as exc:
print(exc.status_code, exc.message)
Как выбирать
| Если вы | выбирайте | Почему |
|---|---|---|
| Впервые проверяете ключ и ID модели | Responses + gpt-6-astra + effort low | Кратчайший путь, самый дешёвый счёт, самые богатые поля отладки |
| Застряли на шлюзе только с messages | Chat Completions лишь для текстового зонда | Доказывает доступ; новая инструментальная работа всё равно уходит в Responses |
| Вешаете функции, поиск, shell или computer use | Responses, не сварку Completions | Хостовые инструменты сидят на Responses |
| Можете отложить офлайн-оценки | Batch / Flex | Половина цены; плохо для «мне нужно первое предложение сейчас» |
| Собираетесь править репозиторий, гонять тесты или браузер | Любой текстовый путь + изолированный Mac | Не хватает границы исполнения |
| Делаете research в духе эксплойтов | Не публичную модель для атакующих доказательств | Она откажется; проверенный канал |
Рекомендуемые стеки
A — соло-разработчик: локальная переменная окружения, официальный SDK, один скрипт Responses. По умолчанию low. Стрим — только когда этот путь скучно надёжен. Ключ API держите отдельно от логина ChatGPT. Повседневные дополнения могут остаться на более дешёвой модели; Astra — для уже упавших ретраев и длинной работы.
B — шлюз маленькой команды: ключи проекта; CI получает отдельный секрет только на чтение. Зафиксируйте gpt-6-astra и снимок в конфиге. Не гонитесь за плавающим алиасом «последний флагман». Чат остаётся дешёвым; маршруты кода и computer-use берут Astra. Сверните JSON инструментов до хостовых тулов.
C — предприятие: админ сначала включает пространство; нулевое хранение данных — отдельный запрос для подходящих клиентов. Бюджетные алерты по проектам. Длинные промпты требуют префикс кэша и следят за надбавкой 272K на весь запрос. Сессии с записью садятся на уничтожаемый удалённый Mac с белым списком путей. Поставка и аккаунт: справка; месячная цена узла: цены Mac mini.
Частые ловушки
- Считать GPT-6 Pro в ChatGPT доказательством, что API открыт.
- Класть ключ в исходник, вывод ноутбука или чат и называть модель «капризной».
- Ставить
effort=maxили запихивать полмонорепозитория в первый ping и платить длинное рассуждение плюс 272K. - Приваривать новый tool loop к Chat Completions, пока каждый hosted shell не станет 400.
- Слать
gpt-6,chatgpt-6или слуховой Ultra.
План: 7 шагов
- Подтвердите, что у API-проекта есть биллинг и это не free; предприятия просят админа включить Astra.
- Создайте ключ платформы, храните его только в окружении или секрет-хранилище и добавьте
.envв.gitignore. - Поставьте актуальный SDK
openaiи убедитесь, что естьclient.responses.create. - Отправьте однопредложенческий Responses-запрос с
model="gpt-6-astra"иreasoning.effort="low". - Напечатайте
output_text,response.idи usage; сохраните id для сверки. - Когда текстовый путь стабилен, добавьте стрим или инструменты; JSON сверьте со статьёй Function Calling.
- Сессии, которые правят файлы, гоняют команды или открывают браузер, сажайте на изолированный удалённый Mac и уничтожайте workspace в конце.
FAQ
В ChatGPT уже GPT-6 Pro. Почему падает Python?
ChatGPT и API — разные счета и ворота. Корпоративные пространства по умолчанию выключают Astra. Бесплатный ярус API модель не обслуживает. Создайте ключ в платном проекте на platform.openai.com.
Сначала Responses или Chat Completions?
Голый текст идёт в оба. Новые приложения — Responses. Вызовы функций, хостовые инструменты, structured output и async требуют Responses.
Какой ID модели?
Используйте gpt-6-astra. В проде закрепите датированный снимок из каталога. Не выдумывайте gpt-6, chatgpt-6 или Ultra.
Можно ли reasoning.effort = none?
Нет. Astra принимает low, medium, high, xhigh и max. none даёт HTTP 400. Первый ping — low.
Класть ключ в исходник?
Нет. Переменная окружения или секрет-хранилище. Не коммитить. При утечке сразу отозвать.
Итог
Первый урок GPT-6 Astra — не культ флагмана. Это выравнивание четырёх фактов: платный проект, ключ, который никогда не входит в репозиторий, Responses (или текстовый путь Completions, который вам пришлось оставить) и зафиксированный gpt-6-astra. Первый запрос — одно предложение на low. Путь существует только после печати output_text. Инструменты, длинный контекст и computer use — следующий урок, и они принадлежат уничтожаемому хосту. Нужен стабильный удалённый Mac — начните с аренды и цен; вопросы аккаунта — в справку.
Читать дальше
- Что такое GPT-6 Astra: релиз, цена, агенты →
- Function Calling и JSON-протоколы →
- Gemini 4 vs GPT-5.6: как выбрать →
После первого успеха инструменты — на уничтожаемом Cloud Mac
Текстовый ping можно гонять локально. Hosted shell, apply patch и computer use не должны делить повседневный рабочий стол. Удалённый Mac изолирует workspace на сессию.