Pasta Monster API

REST API для общения с ЛММ и смежных сервисов

Версия v1 · базовый URL ниже

Доступ и коды ответа

Без оформленного доступа (неверный, просроченный или отсутствующий ключ / токен) API не сообщает об отказе в авторизации — для любых запросов к защищённым ресурсам сервер возвращает HTTP 404 Not Found, как будто маршрута не существует. Так Макаронный Монстр прячет свои тайны от любопытных без договора.

Иными словами: не ждите 401 Unauthorized или 403 Forbidden на продакшене — при отсутствии права вызова вы получите именно 404.

Базовый URL

https://api.pasta-monster.ru

Все пути в документе задаются относительно этого префикса.

Аутентификация

Передавайте секрет в заголовке запроса одним из способов:

Без валидных данных — ответ 404 на защищённые эндпоинты (см. выше).

POST /api/v1/ask-the-monster

Диалог с ИИ от имени ЛММ: вопрос на естественном языке, ответ в JSON.

Тело запроса

{
  "question": "В чём смысл жизни?",
  "language": "ru"
}
ПолеТипОбязательноеОписание
questionstringдаТекст вопроса
languagestringнетКод языка ответа, по умолчанию ru

Успешный ответ 200 OK

{
  "answer": "Смысл жизни — в хорошей пасте аль денте…",
  "sauce_level": "divine",
  "noodle_blessings": 42
}

Ошибки

GET /api/v1/prophecy

Случайное пророчество, цитата или рецепт от ЛММ.

Параметры запроса (query)

ПараметрОписание
langЯзык, например ru

Пример

GET /api/v1/prophecy?lang=ru

Без доступа — снова 404.

Музыка Hi-Fi и 4K-визуализация

Доступно только тарифам Профи и Группа лиц. Тариф Старт к этим маршрутам не допускается — запросы без нужной подписки или без валидного ключа дают 404 Not Found (как и для остальных защищённых ресурсов).

Аудио отдаётся в потоковом режиме с приоритетом качества Hi-Fi (высокий битрейт, PCM/FLAC-подобные профили или lossless-совместимые варианты в зависимости от клиента). Видеоряд — синхронизированная с треком виртуализация ЛММ в 4K UHD (3840×2160), до 60 кадров/с, опционально HDR.

POST /api/v1/media/playback/open

Открывает единую сессию: стрим музыки + опционально канал 4K-визуализации, привязанный к той же временной шкале.

Заголовки

Те же, что для остального API: Authorization или X-API-Key.

Тело запроса

{
  "audio_quality": "hifi_24_192",
  "genre": "pastafarian_ambient",
  "visualization": true,
  "visualization_resolution": "4k_uhd",
  "visual_transport": "webrtc"
}
ПолеТипОбязательноеОписание
audio_qualitystringнетhifi_24_96, hifi_24_192 (максимум для тарифа), opus_high — адаптивный Hi-Fi
genrestringнетПодсказка жанра ИИ (например pirate_jazz, noodle_choir)
visualizationbooleanнетВключить 4K-сцену ЛММ; по умолчанию true для подписок с медиа
visualization_resolutionstringнет4k_uhd (3840×2160) или 1080p для экономии трафика
visual_transportstringнетwebrtc (низкая задержка) или websocket_binary — поток кадров/чанков для кастомного рендера

Ответ 201 Created

{
  "session_id": "psm_sess_7f3a9c2e",
  "expires_at": "2026-04-06T18:00:00Z",
  "music": {
    "hls_master_url": "https://api.pasta-monster.ru/api/v1/music/stream/psm_sess_7f3a9c2e/master.m3u8",
    "dash_manifest_url": "https://api.pasta-monster.ru/api/v1/music/stream/psm_sess_7f3a9c2e/manifest.mpd",
    "websocket_timeline_url": "wss://api.pasta-monster.ru/api/v1/music/stream/psm_sess_7f3a9c2e/timeline"
  },
  "visualization_4k": {
    "webrtc": {
      "negotiation_url": "https://api.pasta-monster.ru/api/v1/visualization/4k/psm_sess_7f3a9c2e/webrtc/sdp",
      "ice_servers": [{ "urls": "stun:stun.pasta-monster.ru:3478" }]
    },
    "websocket_frames_url": "wss://api.pasta-monster.ru/api/v1/visualization/4k/psm_sess_7f3a9c2e/frames",
    "resolution": "3840x2160",
    "fps_max": 60,
    "hdr": false
  }
}

Поле visualization_4k отсутствует или пустое, если в запросе было "visualization": false.

GET /api/v1/music/stream/{session_id}/master.m3u8

Master-плейлист HLS для плеера (Safari, AVPlayer, hls.js и т.д.). Сессия должна быть активна; в query можно передавать token, если CDN отделён от основного ключа.

GET /api/v1/music/stream/{session_id}/manifest.mpd

Аналог для DASH (Android, dash.js).

WSS /api/v1/music/stream/{session_id}/timeline

Сообщения JSON: метаданные трека, BPM, маркеры для синхронизации 4K-сцены с аудио. Подключение без валидной сессии закрывается без раскрытия причины; при обращении по HTTP вместо апгрейда — 404.

POST /api/v1/visualization/4k/{session_id}/webrtc/sdp

Обмен SDP для WebRTC: тело — application/sdp (offer от клиента), ответ — answer SDP, после чего идёт поток 4K-визуализации в браузер или совместимый клиент.

WSS /api/v1/visualization/4k/{session_id}/frames

Бинарный поток (например, сжатые кадры или описания сцены для движка): формат чанков согласуется в первом служебном сообщении после handshake. Разрешение не выше заявленного в сессии (обычно 4K).

POST /api/v1/media/playback/{session_id}/close

Явно завершить сессию и освободить ресурсы на «пивном вулкане».

Коды и ограничения

Контакты

Выдача ключей и договорённости по тарифам: admin@pasta-monster.ru

Маркетинговый сайт: pasta-monster.ru