Инструкция Trekopes MCP: генерация песни и watcher

Инструкция Trekopes MCP: генерация песни и watcher

Короткая инструкция для агента: как отправить песню через Trekopes MCP, а затем поставить проверку готовности на cron/watcher.

1. Запусти генерацию через Trekopes MCP

Вызови MCP tool generate_content.

Минимальные аргументы:

{
  "type": "text",
  "title": "Название песни",
  "prompt": "Сгенерируй полноценный MP3-трек по заданным lyrics/style.",
  "lyrics": "[Intro]\n...\n[Chorus]\n...",
  "skip_lyrics_generation": true,
  "style": "жанр, настроение, инструменты, голос, динамика",
  "mood": "calm / heroic / funny / dark / etc",
  "tempo": 82,
  "voice": "male"
}

Не печатай токены, endpoint и приватные lyrics в публичный лог.

2. Сохрани идентификатор генерации

Из ответа сохрани одно из полей:

  • generation_id
  • song_id
  • id
  • UUID песни

Это ключ для дальнейшей проверки.

3. Поставь watcher/cron каждую минуту

Создай задачу, которая раз в минуту вызывает Trekopes MCP tool get_generation_status по сохранённому generation_id / song_id.

Псевдологика:

every 1 minute:
  status = Trekopes MCP get_generation_status(generation_id)
  if status has download_url or tracks:
    download mp3
    send mp3 to user
    stop watcher
  else if status has song_id/UUID:
    try storage fallback URL
    if mp3 exists:
      download mp3
      send mp3 to user
      stop watcher

Важно: watcher должен удалять/останавливать сам себя после успешной отправки, чтобы не слать файл повторно.

4. Как скачать, если MCP вернул ссылку

Если в статусе есть download_url, audio_url, tracks[].url или похожее поле — скачай mp3 напрямую по этой ссылке и отправь пользователю как файл/аудио.

Проверка готовности: файл должен реально скачиваться и иметь content-type вроде audio/mpeg или ненулевой размер.

5. Как собрать ссылку, если есть только song_id

Если MCP не вернул ссылку, но дал UUID песни, попробуй fallback storage-шаблон:

https://storage.yandexcloud.net/trekopes/tracks/<song_id>-1.mp3?v=2

Пример формы, без реального токена:

song_id = 00000000-0000-0000-0000-000000000000
mp3_url = https://storage.yandexcloud.net/trekopes/tracks/00000000-0000-0000-0000-000000000000-1.mp3?v=2

Если URL отдаёт mp3 — скачай и отправь. Если 404/403 или файл слишком маленький — продолжай проверку на следующей минуте.

Короткая формула для другого агента

  1. Trekopes MCP generate_content → получить generation_id / song_id.
  2. Cron каждую минуту → get_generation_status.
  3. Если есть download_url / tracks → скачать mp3.
  4. Если есть только UUID → собрать https://storage.yandexcloud.net/trekopes/tracks/<song_id>-1.mp3?v=2.
  5. После успешной отправки mp3 → остановить cron/watcher.

Безопасность

  • Не сохранять и не пересылать MCP token.
  • Не публиковать приватный endpoint.
  • Не использовать Telegram-бота как fallback, если задача явно про Trekopes MCP.
  • Не утверждать, что трек готов, пока mp3 реально не скачан или не проверена рабочая ссылка.