MMashaGPT API
MMashaGPT API
МоделиДокументацияТестированиеAPI-ключиПлатежи
МоделиДокументацияТестированиеAPI-ключиПлатежи
API-ключиЗагрузка файлов
IDE-интеграции
CursorClaude CodeOpenCodeVS CodeCodex
Nano Banana 2POSTNano Banana ProPOST
Black ForestPOST
Seedream 5.0 Pro Text-to-ImagePOSTSeedream 5.0 Pro Image-to-ImagePOSTSeedream 5.0 Lite Text-to-ImagePOSTSeedream 5.0 Lite Image-to-ImagePOST
Grok Imagine Text-to-ImagePOSTGrok Imagine Image-to-ImagePOSTGrok Imagine Image 2.0 Text-to-ImagePOSTGrok Imagine Image 2.0 Image EditPOST
Qwen3 Text-to-ImagePOSTQwen3 Pro Text-to-ImagePOSTQwen3 Image-to-ImagePOSTQwen3 Pro Image-to-ImagePOST
Z-ImagePOST
GPT Image 2 Text-to-ImagePOSTGPT Image 2 Image-to-ImagePOSTGPT Image 2.5 Flare Text-to-ImagePOSTGPT Image 2.5 Flare Image-to-ImagePOSTGPT Image 2.5 Sunburst Text-to-ImagePOSTGPT Image 2.5 Sunburst Image-to-ImagePOST
QwenPOSTCodePlugTechPOST
TikTokPOST
Hailuo 2.3POSTMiniMax Hailuo 03 Text-to-VideoPOSTMiniMax Hailuo 03 Image-to-VideoPOSTMiniMax Hailuo 03 Reference-to-VideoPOSTMiniMax Video 01 DirectorPOST
Kling V2.5 Turbo Text-to-Video ProPOSTKling V2.5 Turbo Image-to-Video ProPOSTKling 2.6 Text-to-VideoPOSTKling 2.6 Image-to-VideoPOSTKling 3.0 Text-to-VideoPOSTKling 3.0 Omni Text-to-VideoPOSTKling 3.0 Omni Image-to-VideoPOSTKling 3.0 Omni Reference-to-VideoPOSTKling 3.0 Omni TransformationPOSTKling 3.0 Turbo Text-to-VideoPOSTKling 3.0 Turbo Image-to-VideoPOST
Veo 3.1POSTVeo 3.1 LitePOSTGemini Omni VideoPOST
Grok Imagine Video 1.5 PreviewPOSTGrok Imagine Text-to-VideoPOSTGrok Imagine Image-to-VideoPOST
HappyHorse 1.0 Text-to-VideoPOSTHappyHorse 1.0 Image-to-VideoPOSTHappyHorse 1.0 Reference-to-VideoPOSTHappyHorse 1.0 Video EditPOSTHappyHorse 1.1 Text-to-VideoPOSTHappyHorse 1.1 Image-to-VideoPOSTHappyHorse 1.1 Reference-to-VideoPOSTPixVerse v6 Text-to-VideoPOSTPixVerse v6 Image-to-VideoPOSTPixVerse v6 TransitionPOSTPixVerse v6 Reference-to-VideoPOSTPixVerse v6 ExtendPOST
Seedance V1.5 ProPOSTSeedance 2.0 Text-to-VideoPOSTSeedance 2.5 Text-to-VideoPOSTSeedance 2.0 MiniPOST
TopazPOST
ElevenLabs TTS Multilingual V2POSTElevenLabs TTS Turbo V2.5POSTElevenLabs TTS Flash V2.5POSTElevenLabs TTS V3POSTElevenLabs DubbingPOSTElevenLabs Sound Effect V2POSTElevenLabs Text-to-Dialogue V3POST
Gemini 3.1 Flash TTSPOSTGemini 2.5 Pro Preview TTSPOST
Kling 3.0 Motion ControlPOSTKling V1 Avatar ProPOSTKling V1 Avatar StandardPOST
xAIPOSTOpenAIPOST
Claude Sonnet 5POSTClaude Opus 4.8POSTClaude Opus 5.5POSTClaude Sonnet 5.5POST
DeepSeekPOSTGooglePOST

API-ключи

API-ключ авторизует внешние запросы к MashaGPT API и связывает эти запросы с балансом вашего аккаунта. Всё, что отправлено с ключом, считается запросом от владельца ключа.

Где создать и что сохранить

Создание
Создайте ключ в разделе API-ключи. Раздел требует авторизацию, потому что ключ привязан к аккаунту и балансу.
Secret
Полный secret показывается только один раз сразу после создания. MashaGPT не хранит восстановимую копию secret и не сможет показать его позже.
Mask
Mask нужен только для узнавания ключа в интерфейсе. По mask нельзя выполнить внешний API-запрос.
Hash
Hash используется внутри панели для выбора ключа, расхода и удаления. Это не замена secret для внешней интеграции.
Secret нельзя восстановить
Единственный момент, когда можно увидеть secret, — экран сразу после создания API-ключа. Если вы закрыли окно и не сохранили secret, восстановить его нельзя: создайте новый ключ, обновите переменные окружения на сервере и удалите старый ключ.

Как передавать ключ в запросе

Рекомендуемый header
x-api-key: YOUR_API_KEY
Альтернатива
Authorization: Bearer YOUR_API_KEY
Что не передавать
Не передавайте browser cookies, user access token из веб-приложения, hash или mask ключа вместо secret.
curl -X POST "https://api.mashagpt.ru/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "Привет!"}
    ]
  }'

Где хранить ключ

Backend
Храните secret в переменных окружения сервера или secret manager. Telegram-бот, сайт и cron-задачи должны обращаться к MashaGPT API только с backend-сервера.
Frontend
Не вставляйте ключ в frontend, мобильное приложение, браузерный extension или публичный JavaScript bundle.
Логи
Не пишите полный ключ в логи, error tracking, аналитику, историю команд и скриншоты. Если нужно логировать, оставляйте только mask.
Окружения
Используйте разные ключи для production, staging, локальной разработки и разных проектов. Так проще отключить один контур без остановки остальных.
// .env на backend-сервере
MASHAGPT_API_KEY="YOUR_API_KEY"

// Node.js: ключ остается на сервере
const res = await fetch("https://api.mashagpt.ru/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.MASHAGPT_API_KEY
  },
  body: JSON.stringify({
    model: "gpt-5.5",
    messages: [{ role: "user", content: "Привет!" }]
  })
});

Какие endpoint работают с ключом

OpenAI-compatible
Полный URL https://api.mashagpt.ru/v1/chat/completions. Используйте только для моделей, где на странице модели явно указан OpenAI-compatible endpoint.
Anthropic Messages
Полный URL https://api.mashagpt.ru/v1/messages. Для SDK, которые сами добавляют /v1/messages, base URL указывайте как https://api.mashagpt.ru.
Tasks API
Генерация изображений, видео, аудио и файлов: POST /v1/tasks/{model}, проверка результата: GET /v1/tasks/{id}.
Storage
Загрузка файлов для API: POST /v1/storage/upload. В ответе вернется URL, который передается в параметры модели.

Файлы и референсы через API

В JSON-запрос модели не отправляется локальный файл с компьютера. Сначала загрузите файл в MashaGPT storage или используйте уже доступный публичный URL. Затем передайте URL в параметр конкретной модели: например imageUrls, imageUrl, audioUrl, videoUrl или fileUrls. Подробный контракт загрузки описан в разделе Загрузка файлов.

curl -X POST "https://api.mashagpt.ru/v1/storage/upload" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@./reference.png"
curl -X POST "https://api.mashagpt.ru/v1/tasks/nano-banana-2" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "prompt": "Сделай рекламный баннер в стиле референса",
    "imageUrls": ["https://static.mashagpt.ru/.../reference.png"],
    "resolution": "2K",
    "aspectRatio": "16:9"
          }'
Storage upload — это multipart, не JSON
Не отправляйте в модель или в storage строки blob:http://..., file:///..., data:image/png;base64,... и сырые байты внутри JSON. Загрузка делается запросом multipart/form-data с одним полем file, а в модель передается только URL из ответа storage.
Для chat-моделей не придумывайте параметры файлов
Если на странице конкретной chat-модели нет примера передачи файлов, не добавляйте в запрос произвольный fileUrl. Для документов можно извлечь текст на своем backend и отправить его в messages. Нативную передачу файлов используйте только там, где она явно описана в документации модели.

Списания и контроль

Баланс
Запросы с API-ключом списывают стоимость с API-баланса аккаунта, которому принадлежит ключ.
Тестирование
Playground выполняет реальные запросы через выбранный ключ. Если ключей несколько, выбирайте нужный ключ перед запуском.
Расход
Проверяйте расход по ключам в разделе «Расход». Для изоляции проектов создавайте отдельные ключи.
Оповещения
Используйте раздел «Оповещения», чтобы заранее видеть аномальный или слишком высокий расход.

Если ключ утек

1. Удалите ключ
Удалите скомпрометированный ключ в разделе «API-ключи». Запросы с ним должны перестать работать.
2. Создайте новый
Создайте новый ключ. Новый secret будет показан только один раз: сразу сохраните его в переменные окружения ваших backend-сервисов.
3. Проверьте расход
Проверьте историю расхода и платежей, чтобы понять, были ли несанкционированные запросы.
Документация
API-ключиЗагрузка файлов
IDE-интеграции
CursorClaude CodeOpenCodeVS CodeCodex
Nano Banana 2POSTNano Banana ProPOST
Black ForestPOST
Seedream 5.0 Pro Text-to-ImagePOSTSeedream 5.0 Pro Image-to-ImagePOSTSeedream 5.0 Lite Text-to-ImagePOSTSeedream 5.0 Lite Image-to-ImagePOST
Grok Imagine Text-to-ImagePOSTGrok Imagine Image-to-ImagePOSTGrok Imagine Image 2.0 Text-to-ImagePOSTGrok Imagine Image 2.0 Image EditPOST
Qwen3 Text-to-ImagePOSTQwen3 Pro Text-to-ImagePOSTQwen3 Image-to-ImagePOSTQwen3 Pro Image-to-ImagePOST
Z-ImagePOST
GPT Image 2 Text-to-ImagePOSTGPT Image 2 Image-to-ImagePOSTGPT Image 2.5 Flare Text-to-ImagePOSTGPT Image 2.5 Flare Image-to-ImagePOSTGPT Image 2.5 Sunburst Text-to-ImagePOSTGPT Image 2.5 Sunburst Image-to-ImagePOST
QwenPOSTCodePlugTechPOST
TikTokPOST
Hailuo 2.3POSTMiniMax Hailuo 03 Text-to-VideoPOSTMiniMax Hailuo 03 Image-to-VideoPOSTMiniMax Hailuo 03 Reference-to-VideoPOSTMiniMax Video 01 DirectorPOST
Kling V2.5 Turbo Text-to-Video ProPOSTKling V2.5 Turbo Image-to-Video ProPOSTKling 2.6 Text-to-VideoPOSTKling 2.6 Image-to-VideoPOSTKling 3.0 Text-to-VideoPOSTKling 3.0 Omni Text-to-VideoPOSTKling 3.0 Omni Image-to-VideoPOSTKling 3.0 Omni Reference-to-VideoPOSTKling 3.0 Omni TransformationPOSTKling 3.0 Turbo Text-to-VideoPOSTKling 3.0 Turbo Image-to-VideoPOST
Veo 3.1POSTVeo 3.1 LitePOSTGemini Omni VideoPOST
Grok Imagine Video 1.5 PreviewPOSTGrok Imagine Text-to-VideoPOSTGrok Imagine Image-to-VideoPOST
HappyHorse 1.0 Text-to-VideoPOSTHappyHorse 1.0 Image-to-VideoPOSTHappyHorse 1.0 Reference-to-VideoPOSTHappyHorse 1.0 Video EditPOSTHappyHorse 1.1 Text-to-VideoPOSTHappyHorse 1.1 Image-to-VideoPOSTHappyHorse 1.1 Reference-to-VideoPOSTPixVerse v6 Text-to-VideoPOSTPixVerse v6 Image-to-VideoPOSTPixVerse v6 TransitionPOSTPixVerse v6 Reference-to-VideoPOSTPixVerse v6 ExtendPOST
Seedance V1.5 ProPOSTSeedance 2.0 Text-to-VideoPOSTSeedance 2.5 Text-to-VideoPOSTSeedance 2.0 MiniPOST
TopazPOST
ElevenLabs TTS Multilingual V2POSTElevenLabs TTS Turbo V2.5POSTElevenLabs TTS Flash V2.5POSTElevenLabs TTS V3POSTElevenLabs DubbingPOSTElevenLabs Sound Effect V2POSTElevenLabs Text-to-Dialogue V3POST
Gemini 3.1 Flash TTSPOSTGemini 2.5 Pro Preview TTSPOST
Kling 3.0 Motion ControlPOSTKling V1 Avatar ProPOSTKling V1 Avatar StandardPOST
xAIPOSTOpenAIPOST
Claude Sonnet 5POSTClaude Opus 4.8POSTClaude Opus 5.5POSTClaude Sonnet 5.5POST
DeepSeekPOSTGooglePOST