🚀 Библиотека Python для взаимодействия с API Grok 3 без необходимости входа в систему или необходимости ввода файлов cookie. Идеально подходит для использования «из коробки».
-
🖼️ Поддержка отправки изображений в Grok
Теперь стало намного проще отправлять изображения на сервер Grok! Подробное описание метода отправки доступно здесь. -
🤖 Продолжается работа над OpenAI-совместимостью
- ✅ Теперь поддерживаются любые
api_key
для работы с сервером. - ⚙️ Добавлена возможность настройки сервера (через аргументы командной строки и переменные окружения). Подробная инструкция по запуску доступна в 🌐 Запуск OpenAI-совместимого сервера.
- ✅ Теперь поддерживаются любые
⚠️ Сервер всё ещё находится на ранней стадии, некоторые функции могут быть нестабильными.
Grok3API — это мощный и удобный неофициальный инструмент для взаимодействия с моделями Grok (включая Grok3), который позволяет отправлять запросы, получать текстовые ответы и, что особенно круто, сгенерированные изображения — всё это с автоматическим управлением cookies! 🎨✨ Проект разработан с упором на простоту использования и автоматизацию, чтобы вы могли сосредоточиться на творчестве, а не на технических деталях.
- 🚀 Автоматическое получение cookies через браузер с обходом Cloudflare — никаких ручных настроек!
- 🖼️ Удобное получение сгенерированных изображений с методом
save_to
, который позволяет сохранить их в один клик. - 🔧 Гибкая настройка запросов: выбор модели, управление генерацией изображений, добавление вложений и многое другое.
- 📦 Поддержка вложений: отправляйте файлы и изображения вместе с запросами.
- 🛠️ Обработка ошибок: клиент сам решает проблемы с cookies и повторяет запросы, если что-то пошло не так.
- 🤖 Пример Telegram бота (
grok3api
+aiogram
), с возможностью создавать текстовые ответы и изображения.
Чтобы начать использовать GrokClient, установите необходимые зависимости. Всё просто:
pip install grok3api
⚠️ Важно: Убедитесь, что у вас установлен Google Chrome, так какundetected_chromedriver
работает именно с ним.
После установки вы готовы к запуску! 🎉
Вот полный пример, как отправить запрос и сохранить сгенерированное изображение:
from grok3api.client import GrokClient
def main():
# Создание клиента (cookies будут автоматически получены, если не переданы)
client = GrokClient()
# Создаём запрос
message = "Создай изображение корабля"
# Отправляем запрос
result = client.ask(message=message,
images="C:\\Users\\user\\Downloads\\photo1_to_grok.jpg") # Вы можете отправлять картинку Гроку
print("Ответ Grok:", result.modelResponse.message)
# Сохраняем первое изображение, если оно есть
if result.modelResponse.generatedImages:
result.modelResponse.generatedImages[0].save_to("ship.jpg")
print("Изображение сохранено как ship.jpg! 🚀")
if __name__ == '__main__':
main()
Этот код:
- Создаёт клиента — автоматически получает cookies, если их нет.
- Отправляет запрос на генерацию изображения.
- Сохраняет изображение в файл
ship.jpg
.
📌 Что мы увидим?
Grok сгенерирует изображение корабля, например, вот такое:
🐹 Или, например, вы попросите "Суслика на Эльбрусе":
💡 Фишка: Вам не нужно вручную добывать cookies — клиент сделает это за вас!
Метод GrokClient.ask
принимает множество параметров для настройки вашего запроса. Вот пример с настройками:
from grok3api.client import GrokClient
def main():
# Создание клиента (cookies будут автоматически получены, если не переданы)
client = GrokClient(history_msg_count=5)
client.history.set_main_system_prompt("Отвечай коротко и с эмодзи.")
# Отправляем запрос с настройками
result = client.ask(
message="Нарисуй кота как на это картинке",
modelName="grok-3", # По умолчанию и так grok-3
images=["C:\\Users\\user\\Downloads\\photo1_to_grok.jpg",
"C:\\Users\\user\\Downloads\\photo2_to_grok.jpg"] # Вы можете отправлять несколько изображений Гроку!
)
print(f"Ответ Grok3: {result.modelResponse.message}")
# Сохраняем все изображения
for i, img in enumerate(result.modelResponse.generatedImages):
img.save_to(f"cat_{i}.jpg")
print(f"Сохранено: cat_{i}.jpg 🐾")
if __name__ == '__main__':
main()
🌟 Круто то, что это работает с автоматически полученными cookies! Вам не нужно беспокоиться о доступе — клиент сам всё настроит.
Если cookies отсутствуют или устарели, Grok3API автоматически:
- Использует браузер Chrome (главное, чтобы он был установлен).
- Посетит сайт
https://grok.com/
. - Обойдёт защиту Cloudflare.
- Продолжит работу.
Вам не нужно ничего делать вручную — просто запустите код, и всё заработает!
Одна из главных фишек GrokClient — это супер-удобная работа со сгенерированными изображениями. Вот полный пример:
from grok3api.client import GrokClient
def main():
# Создание клиента (cookies будут автоматически получены, если не переданы)
client = GrokClient()
# Отправляем запрос
result = client.ask("Нарисуй закат над морем")
# Сохраняем все изображения
for i, image in enumerate(result.modelResponse.generatedImages):
image.save_to(f"sunset_{i}.jpg")
print(f"Сохранено: sunset_{i}.jpg 🌅")
if __name__ == '__main__':
main()
Метод ask
возвращает объект GrokResponse
. Вот пример работы с ним:
from grok3api.client import GrokClient
def main():
# Создание клиента (cookies будут автоматически получены, если не переданы)
client = GrokClient()
# Отправляем запрос
result = client.ask("Опиши и нарисуй лес")
# Обрабатываем ответ
print(f"Текст: {result.modelResponse.message}")
result.modelResponse.generatedImages[0].save_to("forest.jpg")
if __name__ == '__main__':
main()
Поля объекта GrokResponse
:
modelResponse
: Основной ответ модели.message
(str): Текстовый ответ.generatedImages
(List[GeneratedImage]): Список изображений.
isThinking
: Думала ли модель (bool).isSoftStop
: Мягкая остановка (bool).responseId
: ID ответа (str).newTitle
: Новый заголовок чата, если есть (Optional[str]).
Если что-то неясно, пишите в issues — разберёмся вместе! 🌟
Grok3API не имеет связи с xAI или разработчиками Grok. Это независимый проект, созданный третьей стороной, и он не поддерживается, не спонсируется и не одобряется xAI. Любые проблемы, связанные с Grok, должны решаться напрямую с xAI. Вы несете ответственность за то, чтобы ваше использование Grok3API соответствовало всем применимым законам и регулированиям. Разработчик не поощряет незаконное использование.