Реализация AI-генерации музыки (Suno/Udio) в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-генерации музыки (Suno/Udio) в мобильном приложении
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    874
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-генерации музыки (Suno/Udio) в мобильном приложении

Suno и Udio — два основных API для генерации полноценных треков с вокалом. Оба принимают текстовый промпт, оба возвращают mp3/wav через асинхронную задачу. Интеграция технически проще, чем видеогенерация, — файлы меньше, время генерации короче — но есть несколько нюансов.

Suno API: что реально доступно

Официальный публичный API Suno по состоянию на март 2025 находится в closed beta. Прямая интеграция возможна через unofficial API-обёртки (неустойчиво) или через Replicate, где задеплоены open-source альтернативы (MusicGen от Meta, AudioCraft).

Для продакшена надёжнее использовать:

  • ElevenLabs AI Music — REST API, треки до 3 минут, стили по тексту
  • Replicate + MusicGen — open-source, контролируемо, дешевле
  • Udio API — early access, промпт + референс-трек для стиля

Пример запроса к ElevenLabs Music:

POST https://api.elevenlabs.io/v1/sound-generation
xi-api-key: <key>
{
  "text": "Upbeat electronic music for a fitness app, 120 BPM, energetic",
  "duration_seconds": 30,
  "prompt_influence": 0.5
}

Ответ через 15–40 секунд — бинарный mp3 или JSON с URL.

Асинхронный флоу на iOS

class MusicGenerationService {
    func generate(prompt: String, duration: Int) async throws -> URL {
        // Для длинных треков - async job
        let jobId = try await elevenLabsClient.createMusicJob(
            prompt: prompt,
            duration: duration
        )

        // ElevenLabs: polling или webhook
        for delay in [5.0, 8.0, 10.0, 15.0, 20.0, 30.0] {
            try await Task.sleep(nanoseconds: UInt64(delay * 1e9))
            let status = try await elevenLabsClient.getJobStatus(id: jobId)
            if status.state == "complete", let url = status.audioURL {
                return try await downloadAudio(from: url)
            }
            if status.state == "error" { throw MusicGenError.failed }
        }
        throw MusicGenError.timeout
    }
}

Время генерации 30-секундного трека — 15–30 секунд. Спиннер + прогресс достаточно, push не обязателен для таких коротких задач.

Воспроизведение и управление аудио

На iOS аудиогенерацию нужно правильно интегрировать с AVAudioSession:

// Настройка сессии: воспроизведение даже с беззвучным режимом
try AVAudioSession.sharedInstance().setCategory(
    .playback,
    mode: .default,
    options: [.mixWithOthers]
)
try AVAudioSession.sharedInstance().setActive(true)

Если не настроить .playback category, музыка замолчит при блокировке экрана. Это частая ошибка в MVP-реализациях.

На Android: MediaPlayer для простого воспроизведения, ExoPlayer для очереди треков с плавными переходами (DefaultCrossfadeHandler).

Лицензирование и авторские права

Главный юридический вопрос: кому принадлежат права на сгенерированный трек? ElevenLabs: при paid плане — пользователю. MusicGen: MIT-лицензия модели, но статус коммерческого использования треков не урегулирован явно. Suno: по ToS треки принадлежат пользователю при наличии платной подписки.

В приложении: явно информировать пользователей об условиях лицензирования выбранного провайдера. Если трек будет использоваться в коммерческих видео — рекомендовать paid план провайдера.

Интеграция с видео

Частый кейс — подобрать или сгенерировать музыку к видеоклипу. Нужно: бит треков подогнать под длину видео (loop/trim), наложить через FFmpeg, сохранить результат.

Простой loop на FFmpeg:

ffmpeg -stream_loop -1 -i music.mp3 -i video.mp4 \
  -shortest -map 0:a -map 1:v \
  -c:v copy -c:a aac output.mp4

Если трек длиннее видео — trim с fade out: добавляем -af "afade=t=out:st={fade_start}:d=2".

Сроки

Базовая интеграция (генерация → воспроизведение → сохранение) — 2–4 дня. С выбором стиля, историей треков, интеграцией в видеоредактор и управлением лицензиями — 1–2 недели. Стоимость рассчитывается индивидуально.