Содержание
  1. Что нужно до первого запроса
  2. Где взять ключ в консоли
  3. Переменная окружения
  4. Первый запрос через curl
  5. Формат ответа и SDK
  6. Модели и что выбрать
  7. Частые ошибки
  8. Сохранение ответа curl: практический порядок действий
  9. Редакционный порядок чтения ответа
  10. Шаблон для фиксации одного запуска
  11. Простой запрос для проверки чтения
  12. Частые вопросы
  13. Что дальше
Гайды

Grok API: как получить ключ и сделать первый запрос

8 октября 2026 · 8 минут чтения

Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 8 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.

Grok API — это HTTP-интерфейс к моделям xAI. Ключ создаётся в консоли на console.x.ai, хранится в переменной окружения XAI_API_KEY, а первый запрос уходит на https://api.x.ai/v1/responses с моделью grok-4.7. Ниже — путь от аккаунта до ответа модели и разбор типичных ошибок. Мы скачали топ-10 выдачи DuckDuckGo (ru-RU) по запросу «grok api»: текст отдали 5 из 10.

Что нужно до первого запроса

Три вещи: аккаунт xAI, баланс и ключ. В официальном quickstart сказано: зарегистрируйтесь на console.x.ai, затем пополните баланс, чтобы начать пользоваться API. Ключ создаётся на странице API Keys в той же консоли — его можно экспортировать в окружение или положить в .env-файл проекта.

Отдельно от пользовательской подписки X/Grok: доступ к API оформляется в консоли xAI и оплачивается по токенам. Подписка в приложении X и ключ для API — разные сущности, ключ из подписки не выдаётся.

Где взять ключ в консоли

Путь такой: console.x.ai → аккаунт → credits → API Keys → создать ключ. Документация называет этот же маршрут: аккаунт на console.x.ai, пополнение баланса, страница API Keys.

Ключ показывается один раз при создании. Сохраните его сразу — повторно значение не отображается. В REST-справочнике xAI указано, что ключи API создаются на странице API Keys консоли, а для управления (ключи, команды, биллинг, аудит) существует отдельный management-ключ на странице Management Keys.

Переменная окружения

Ключ не хранят в коде. Официальный quickstart показывает Bash export и файл .env. Ниже приведены Bash-пример и редакционный эквивалент установки переменной для Windows PowerShell.

Linux и macOS, bash:

ТЕРМИНАЛ
export XAI_API_KEY="your_api_key"

Windows PowerShell:

POWERSHELL
$env:XAI_API_KEY="your_api_key"

Вместо your_api_key подставьте своё значение. В примерах документации стоит плейсхолдер — реальный ключ туда не вписывают и не публикуют.

Первый запрос через curl

Минимальный вызов Responses API выглядит так:

ТЕРМИНАЛ
curl https://api.x.ai/v1/responses \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.7",
    "input": "Fix this function and explain the bug: function median(a){a.sort();return a[a.length/2]}"
  }'

Это дословный пример из quickstart xAI. Ответ приходит в формате JSON: массив output, внутри — объекты с content, а в них поле text с готовым ответом модели. Именно output[].content[].text и есть текст ответа.

Формат ответа и SDK

REST-справочник xAI описывает Responses API как основной интерфейс для генерации текста, рассуждений и вызова инструментов. Эндпоинт POST /v1/responses принимает input строкой или массивом, а в ответе возвращает output — массив сгенерированных элементов.

Если работаете через SDK, поле называется иначе. В примере на Python с библиотекой OpenAI ответ читается как response.output_text. Это не то же самое, что output[].content[].text в сыром JSON: SDK собирает текст в удобное свойство. При отладке сверяйтесь с тем, что реально вернул сервер.

Способ Что в ответе Где смотреть текст
curl, сырой REST JSON-объект output[].content[].text
Python SDK (OpenAI) объект ответа response.output_text
JavaScript SDK объект ответа response.output_text

Модели и что выбрать

Флагманская модель — grok-4.7. В документации xAI она описана как основная для кода и остальных задач: агентный вызов инструментов, настраиваемые рассуждения, контекст 500k токенов. Для изображений есть Grok Imagine Image 2.0, для видео — Grok Imagine Video 1.5, для голоса — Grok Voice API.

Для текста и кода документация советует grok-4.7. Отдельные модели под аудио, изображения и видео вызываются своими эндпоинтами.

Частые ошибки

Переменная, заданная через export, относится к текущему процессу оболочки и его дочерним процессам. Проверьте её наличие именно в окружении запуска запроса, не выводя значение ключа.

Запрос уходит без заголовка Authorization. REST-справочник требует Authorization: Bearer <xAI API key> для inference-эндпоинтов. Без него сервер вернёт ошибку авторизации.

Путаница между output_text и output[].content[].text. Первое — свойство SDK, второе — структура сырого JSON. Если парсите ответ curl вручную, идите по массиву output.

Не тот ключ. Management-ключ создаётся отдельно и предназначен для управления аккаунтом. Для запросов к модели нужен обычный ключ API.

Сохранение ответа curl: практический порядок действий

Ответ curl удобно сохранять сразу в файл, чтобы потом читать его спокойно, без спешки и без повторных сетевых вызовов. Базовый приём — перенаправление вывода в отдельный файл с понятным именем. Добавьте к команде флаг, который фиксирует и тело ответа, и код завершения, тогда у вас останется полная картина одного запуска.

ТЕРМИНАЛ
curl -sS -o response.json -w "%{http_code}\n" \
  https://api.x.ai/v1/responses \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-4.7","input":"Reply with READY"}' \
  > http_code.txt 2> curl_error.txt
echo "exit=$?" >> http_code.txt

Здесь response.json хранит тело, http_code.txt — код и статус завершения, curl_error.txt — сообщения локального уровня. Такой набор файлов даёт всё нужное для разбора: видно, дошёл ли запрос до сервера, что сервер ответил и не сломалось ли что-то на вашей стороне.

Редакционный порядок чтения ответа

Читайте результат по шагам, от локального уровня к содержательному. Так вы не спутаете причину с следствием.

Ветка первая: curl не найден или команда не запускается. Это локальный этап, сеть ещё не участвовала. Проверьте curl_error.txt и код завершения. Если утилита отсутствует или оболочка не распознаёт команду, дальше читать нечего: сначала устраните локальную причину.

Ветка вторая: ответ есть, но это ошибка. Тело пришло, HTTP-код вне успешного диапазона. Смотрите код, затем тело: там обычно лежит описание проблемы. Локальный этап пройден, вопрос теперь к запросу или правам.

Ветка третья: HTTP-успех, но status равен incomplete. Запрос дошёл, сервер принял его, однако результат неполный. Читайте тело целиком, ищите поля, объясняющие незавершённость, и решайте, нужен ли повтор.

Ветка четвёртая: сообщение пустое. Если поле с текстом пустое, не делайте вывод сразу. Прочитайте в теле JSON поля error, status и output — они подскажут, где искать причину. Пустой текст при непустом ответе часто означает, что содержимое лежит в другом поле.

Отдельное правило: не путайте вывод CLI и свойство SDK. То, что печатает команда в терминал, и то, что возвращает библиотека в коде, — разные представления. Сверяйте структуру именно того источника, из которого читаете.

Шаблон для фиксации одного запуска

Заполняйте его после каждого прогона, чтобы не держать детали в голове.

ТЕКСТ6 строк
команда:            <текст команды без секретов>
локальная ошибка:   <да / нет, кратко>
HTTP-код:           <число>
status:             <значение>
есть текст:         <да / нет>
следующий шаг:      <одно действие>

Ключи и токены в шаблон не вписывайте. Храните их отдельно, а в записи оставляйте только пометку, что значение подставлено из окружения.

Простой запрос для проверки чтения

Когда нужно быстро понять, какое поле читать, помогает короткая формулировка.

ТЕКСТ
Ответь одной короткой фразой: какой результат нужно прочитать первым?

Ответ модели подтверждает только содержание одной попытки. Поля ответа определяйте по реальному сохранённому JSON и официальной схеме; текст модели не заменяет описание формата API.

Сохраните ответ целиком перед изменением локального примера. Добавьте к локальной записи время попытки и выбранную модель, чтобы позже сопоставить её с конкретным результатом.

Частые вопросы

Как получить ключ Grok API?
Зарегистрируйтесь на console.x.ai, пополните баланс и создайте ключ на странице API Keys. Значение показывается один раз — сохраните его сразу. Дальше положите ключ в переменную окружения XAI_API_KEY.

Сколько стоит Grok API?
Тарификация идёт по токенам, актуальные ставки смотрите на странице Pricing в документации xAI. Бесплатный ключ официально не обещан — доступ оформляется через консоль с балансом.

Работает ли Grok API из России?
В проверенных quickstart и REST-справочнике нет подтверждения успешного доступа из России. Редакция такой доступ не тестировала; эти материалы не дают основания обещать работу конкретного аккаунта.

Чем Responses API отличается от Chat Completions?
Responses API — основной интерфейс для текста, рассуждений и инструментов. Chat Completions в документации xAI помечен как legacy. Новые проекты логичнее строить на Responses API.

Почему в ответе нет текста, который я жду?
Проверьте, откуда читаете. В сыром JSON текст лежит в output[].content[].text, в SDK — в output_text. Также убедитесь, что запрос ушёл с корректным заголовком Authorization.

Что дальше

После первого успешного запроса стоит разобраться с потоковой выдачей, структурированным выводом и вызовом инструментов — всё это описано в разделе Text Generation документации xAI. Для смежных задач пригодятся материалы блога: NotebookLM в России и Gemini без ВПН — про доступ к сервисам, Дипсик без регистрации — про вход в чат, NotebookLM не работает — про диагностику сбоев.

Читайте также

3 материала