Видео · работа с готовым роликом · обновлено 20 октября 2026 г. · 10 минут
Как добавить звук к немому видео через API нейросети
Видео уже снято и менять картинку не хочется. Нужно добавить шаги, ветер или фон помещения. Покажем отдельный аудиопроход через Celestria Gate: как подготовить файл, описать звук и получить новый MP4, сохранив исходник для сравнения.

Когда подходит отдельное добавление звука
Представьте пятисекундный ролик прогулки: человек проходит по гравийной дорожке, камера следует за ним, но у файла нет аудио. Пересоздавать весь визуальный сюжет ради шагов не требуется. Можно передать готовое видео модели, которая синтезирует звук с учётом изображения и текстового описания.
В этой инструкции рассматриваем MMAudio V2 video-to-video. Это отдельная операция после съёмки или видеогенерации. Она подходит для проверки атмосферы и звуковых эффектов. Если нужен точный голос диктора или разговор персонажа с совпадением губ, эти требования следует проверять отдельно, а не считать автоматическим следствием озвучивания.
Сохраните исходный немой файл. Новая генерация возвращает отдельную ссылку на видео, а не переписывает вашу копию на диске. Это позволяет сравнить движение, длительность и звук результата с подготовленным материалом. Для статьи новый платный тест прогулки не запускался.
- Подготовьте видео: Возьмите короткий немой исходник, измерьте длину и создайте прямую HTTPS-ссылку.
- Опишите аудио: Укажите главный эффект, материал поверхности и тихий фон без лишних источников.
- Добавьте дорожку: Создайте отдельное MMAudio-задание и отслеживайте сохранённый ID.
- Сравните MP4: Прослушайте результат, проверьте движение и тайминг, сохраните обе суммы расходов.
Подготовьте короткий ролик и прямую ссылку
Начните с фрагмента, где хорошо видно основное действие. Для шагов важен контакт ног с дорожкой, для двери — момент закрытия, для воды — всплеск. Длинный ролик с несколькими несвязанными сценами сложнее и описать, и принять. Сначала проверьте один цельный фрагмент.
Измерьте фактическую длительность файла. Параметр duration у MMAudio задаётся числом от 1 до 30 секунд; по умолчанию стоит 8. Если ваш клип длится пять секунд, задайте 5 явно. Не полагайтесь на имя video-5s.mp4: название не доказывает хронометраж.
Разместите файл по прямой доступной HTTPS-ссылке. Страница облачного диска с кнопкой просмотра может требовать входа и не подойти. Проверьте, что сервер получает сам видеофайл без вашей сессии. Срок действия временной ссылки должен позволить обработку. Ссылка в JSON-примере ниже является заглушкой: её нужно заменить своим реальным MP4.
Опишите только то, что нужно услышать
Для прогулки разумное описание: шаги по сухому гравию в ритме движения, лёгкий ветер в деревьях, без музыки, речи и автомобилей. Оно связывает звук с материалом и убирает лишние источники. Если кадр снят на мокром асфальте, поменяйте поверхность; не требуйте гравий только потому, что он есть в чужом примере.
Отметьте главный звук и фон. Чем конкретнее различие, тем легче оценить дубль. Не нужно просить одинаково громкие шаги, ветер, музыку и толпу. Если требуется спокойная атмосфера для монтажа с диктором, фон должен оставлять место голосу, который вы добавите отдельно.
Отдельно решите судьбу существующей дорожки. Этот сценарий начинается с немого видео. Если в исходнике уже есть нужная речь или музыка, не предполагайте, что генератор автоматически сведёт её с новой. Для сохранения оригинальной записи и добавления слоя эффектов может понадобиться обычный монтаж или иной явно подтверждённый режим.
| Действие в кадре | Пример звуковой задачи | Нежелательные добавления |
|---|---|---|
| Шаги по гравию | Сухой хруст в ритме шагов | Лишние голоса и транспорт |
| Закрытие деревянной двери | Один удар в момент контакта | Повторные хлопки без движения |
| Наливание воды | Струя и лёгкие всплески | Музыка поверх основного звука |
| Листва на ветру | Тихая природная атмосфера | Сильный шум микрофона |
Составьте запрос MMAudio через Gate
Клиенту нужен ключ Celestria Gate. Для этого сценария выберите канонический model=mmaudio/mmaudio-v2 и input.operation=video-to-video. Схема описывает обязательные видео и текст; одноимённая задача создания аудио без видео не является заменой. В карточке каталога проверьте native_generation нужной операции, её готовность и актуальную цену.
Сохраните JSON как footsteps-audio.json и замените URL-заглушку. В input задаются operation, video_url, prompt и числовой duration. Настройки num_steps, cfg_strength и negative_prompt находятся в input.parameters; стандартные значения оставлены для первого опыта. Предварительная цена получается из оценки того же JSON, а не из отдельного числа тарифных единиц.
{
"model": "mmaudio/mmaudio-v2",
"input": {
"operation": "video-to-video",
"video_url": "https://YOUR-CDN.example/video-5s.mp4",
"prompt": "Natural footsteps on dry gravel synchronized with the visible walking rhythm. Very soft wind in trees. No speech, no music, no traffic.",
"duration": 5,
"parameters": {
"negative_prompt": "speech, music, traffic, distorted audio",
"num_steps": 25,
"cfg_strength": 4.5
}
}
}
Отправьте один раз и отслеживайте существующий ID
До отправки загрузите GET /v1/media/models/schema с model=mmaudio/mmaudio-v2 и operation=video-to-video. Затем проверьте тот же JSON через POST /v1/media/estimate: эти действия не создают видео. Команда ниже создаёт платное задание. Для новой попытки нужен новый Idempotency-Key, для повтора неизменного запроса после тайм-аута — прежний.
В ответе 202 сохраните id. Проверяйте GET /v1/media/generations/{id} с небольшими паузами. При in_progress обработка продолжается. При awaiting_billing ждите подтверждения стоимости, не создавая вторую задачу. При failed прочитайте код и сообщение ошибки, прежде чем менять материалы или настройки.
curl --fail-with-body -X POST \
'https://api.celestriagate.com/v1/media/generations' \
-H "Authorization: Bearer $CELESTRIA_API_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: footsteps-audio-001' \
--data-binary @footsteps-audio.json
Сравните полученный MP4 с исходным видео
После completed выберите видео из files; в исходном result также может находиться video.url. Результат выбранной операции — видео со звуком, поэтому отдельный MP3 искать необязательно. Сохраните результат, пока ссылка действует. Название файла или MIME application/octet-stream сами по себе не определяют, насколько удачна дорожка.
Сначала посмотрите ролик полностью. Затем проверьте начало, середину и конец, не изменился ли смысл движения и совпадает ли слышимый ритм с шагами. Послушайте в наушниках и через динамик. На маленьком динамике слишком тихий эффект может потеряться, а сильный фон — скрыть главное.
Не заявляйте о побитовой неизменности видеопотока без проверки файла. Практическая цель здесь — сохранить нужную визуальную сцену и получить подходящий звук. Если необходимы точные технические параметры вывода, измерьте их отдельно и включите в критерии приёмки.
Что учитывать для речи, музыки и публикации
MMAudio в этой инструкции проверяется как инструмент атмосферы и эффектов. Для дословной реплики нужна проверка произношения, для говорящего лица — совпадения губ, для узнаваемого голоса — отдельные требования к допустимости использования. Не обещайте эти возможности только по факту наличия звука в MP4.
Если у вас уже есть нужная музыка или запись голоса, её можно разместить в монтажном процессе отдельно. Синтезированная музыкальная атмосфера и воспроизведение конкретной композиции — разные задачи. Описывайте жанр, темп и настроение, когда нужна новая дорожка, а не приписывайте генератору подтверждённое право на любую известную запись.
Перед публикацией проверьте условия выбранной модели, сервиса и используемых вами исходных материалов. В каталоге Gate важна доступность конкретной операции и подтверждённая лицензия её маршрута. Надпись Commercial use на публичной странице не заменяет эту проверку. Для спорных прав на чужую запись не делайте вывод только из успешного запуска генерации.
Посчитайте аудиопроход отдельно от видеогенерации
На 20 октября опубликованная ставка fal для MMAudio — $0,001 за секунду. Пятисекундный проход оценивается в $0,005, примерно 0,56 ₽ по расчётному коэффициенту 110,63 ₽ за $1 с округлением вверх до копейки. Это не проведённое списание. Для снятого вами видео нет отдельной цены его съёмки в этой API-оценке; для AI-видео прибавьте уже понесённую стоимость первого этапа.
После completed прочитайте billing.cost_rub и upstream_cost_usd. estimated_cost_rub и reserved_rub отражают предварительный расчёт и удержание, а не окончательную оплату. Если завершённый звук не подходит по художественной причине, следующий дубль может снова оплачиваться.
Для серии роликов храните исходник, JSON без ключа, ID, итоговый файл, причину приёмки и сумму. Это позволяет понять, достаточно ли одной недорогой попытки для вашего типа сцены или нужна ручная доводка. Громкое обещание «добавим любой звук за полрубля» такой проверки не заменяет.
Частые вопросы
Можно ли озвучить уже снятое видео без новой видеогенерации?
Можно использовать отдельный аудиопроход: передать готовый ролик и описание звуков. MMAudio возвращает новый видеофайл со звуком; исходную копию следует сохранить для сравнения.
Сохранит ли MMAudio оригинальную музыку и добавит эффекты?
В этой инструкции такой микс не подтверждён: рассматривается немой исходник. Для сохранения и сведения существующих дорожек нужен отдельный проверенный процесс.
Как задать длину звука?
В input.duration числом от 1 до 30 для этого режима. Для пятисекундного клипа задайте 5 явно. Оценка выполняется через /v1/media/estimate с тем же JSON, а окончательная сумма появляется в billing после завершения.
Можно ли получить точный текст диктора?
Этот сценарий прежде всего про атмосферу и эффекты. Для точной речи рассмотрите отдельную генерацию голоса и проверьте произношение; для совпадения губ нужен подходящий lip-sync-сценарий.
Сколько стоит добавить звук к пятисекундному ролику?
По опубликованной ставке fal — $0,005 за пять секунд. Рублёвый ориентир из статьи приблизителен; окончательный расход Gate указан в завершённом задании.