Говорящее фото: как заставить фотографию произнести фразу
Оживить снимок и заставить его говорить — задачи, которые кажутся соседними, а на деле идут по разным маршрутам. Именно поэтому у большинства «оживлялок» нет речи вообще: там портрет уходит в модель как первый кадр, а для разговора его нужно отправить иначе. Эта глава — про то, как именно, что писать в запросе и как подставить конкретный голос.
Одним абзацем
Портрет передаётся референсом, а не первым кадром. Реплика пишется словами, в кавычках, прямо в запросе. Артикуляция считается вместе с картинкой за один проход — поэтому губы совпадают со звуком, а не приблизительно попадают в него.
Если голос должен быть голосом конкретного человека, к запросу прикладывается 2–15 секунд его записи. Такой референс не тарифицируется отдельно.
Почему нельзя просто «оживить и добавить речь»
Это ограничение самого движка, а не интерфейса: роли «первый кадр» и «референс» в одном запросе несовместимы — запрос, который смешивает их, просто отклоняется. Поэтому фраза «пусть подмигнёт, а потом скажет» — это не один сложный запрос, а две задачи, и решать их приходится по очереди.
Есть и запасной путь, о котором стоит знать, чтобы им не пользоваться: сгенерировать озвучку отдельно и подложить её под немой клип. Формально получится «говорящее фото». Практически это видно на первой же секунде — рот живёт своей жизнью, звук своей. Разница ровно в том, что в первом случае модель решает одну задачу (кадры и звук вместе), а во втором — две несогласованные.
Реплика должна помещаться в кадр
Самая частая порча результата — не промпт и не фото, а длина фразы. Клип тарифицируется целыми секундами, речь не сжимается, и двухпредложенное поздравление в четырёхсекундный кадр не влезает: человек будет оборван на полуслове, а деньги за кадр уже потрачены.
Поместится ли ваша фраза
Клип тарифицируется целыми секундами, а речь не сжимается. Напишите реплику — и увидите, кадр какой длины ей нужен.
Поместится
Понадобится клип на 6 секунд — это дороже четырёхсекундного ровно во столько раз, во сколько он длиннее. Короче фраза — дешевле кадр.
Готовый запрос
Возьми этот портрет как референс и сделай клип, в котором человек произносит одну фразу: «С днём рождения, мам. Я тебя очень люблю.» Внешность, возраст, причёска и одежда — как на фото, без изменений. Камера неподвижна, движение минимальное: человек говорит и слегка двигается, как живой. Не должно быть: искажений лица, музыки на фоне, читаемого текста в кадре. Длина — 6 секунд.
Скорость речи здесь — примерно 11.1 символа в секунду: столько получается на нашей же собственной русской озвучке. Живой человек говорит чуть быстрее или чуть медленнее, поэтому запас в кадре нужен всегда.
Правило одной реплики
Одна фраза на клип. Если реплик две, это два клипа, которые потом склеиваются в один файл — склейка ничего не стоит, а вот пятнадцатисекундный кадр стоит почти вчетверо больше четырёхсекундного.
Свой голос: что именно приложить
Запись голоса — отдельный вход в том же запросе. Требования к ней простые, и почти все ошибки укладываются в четыре:
- От 2 до 15 секунд. Короче — не принимается, длиннее — не нужно.
- Один говорящий, без музыки и без второго голоса на фоне. Модель берёт из записи тембр; всё лишнее в ней она тоже считает частью голоса.
- Обычная речь, а не шёпот и не крик. Крайности воспроизводятся хуже среднего регистра.
- Не покупайте для этого синтезированную озвучку. Движку нужна запись настоящего голоса, а слова он берёт из запроса. Платный синтез добавит счёт и ничего не добавит клипу.
И одна тонкость, о которой честнее сказать прямо: реплику стоит писать в запросе даже когда вы прикладываете запись. Так устроен и собственный пример разработчика движка — слова в промпте, ссылка на аудио как на голос, — и такая формулировка даёт правильный клип независимо от того, читает модель слова из записи или из текста.
Чего этой странице не следует помогать делать
Говорящее фото — это чужое лицо, произносящее слова, которых человек не говорил. Правило простое и не техническое: лицо и голос принадлежат человеку, а не тому, у кого есть файл.
- Свой портрет, портрет близкого с его согласия, придуманный персонаж, историческая иллюстрация — уместно.
- Чужое лицо без спроса, публичный человек с высказыванием, которого он не делал, чужой голос, взятый из его же ролика, — не уместно, и это тот случай, когда «технически возможно» и «нормально» расходятся полностью.
- Готовый клип стоит помечать как сгенерированный, если он выходит за пределы вашей переписки. Это дешевле любого объяснения задним числом.
Приложите портрет и запись голоса — и опишите, что человек говорит.
Что почитать дальше
Как устроено оживление вообще и почему исход решает исходник — оживить фото нейросетью. Что умеет и чего не умеет кнопка в голосовом помощнике — «Алиса, оживи фото». Если нужен не говорящий портрет, а полноценный ведущий в кадре, это соседняя задача: говорящий аватар.
Частые вопросы
Как заставить фото говорить?
Можно ли сделать так, чтобы фото говорило моим голосом?
Какой длины должна быть фраза?
Чем это отличается от «подложить озвучку под видео»?
Будет ли звук у обычного оживлённого фото, без реплики?
Можно ли оживить фото знаменитости и заставить его что-то сказать?
В чате Twelver портрет можно заставить произнести вашу фразу — вашим же голосом, если приложить короткую запись. Стартовые токены на генерацию видео начисляются после регистрации и онбординга.
Попробуйте сами
Всё из этого руководства работает в Twelver
Один чат для текста, картинок, видео, музыки и озвучки — без отдельных сервисов и подписок.
Открыть чат Twelver