HiAPI
Блог

Руководство по использованию

Рецепты промптов OmniHuman-1.5: готовые к копированию промпты для видео с говорящим аватаром

Nov 3, 2026
扁平液体形态封面图:深墨底上青瓷与石板色缓慢折叠的抽象色块,呼应 OmniHuman-1.5 提示词指南。

Почему структура промпта важнее формулировки

Большинство команд, пишущих свой первый промпт для говорящего аватара, ограничиваются одним предложением, а затем часами переписывают его, пытаясь найти волшебную фразу. Такой подход обречён на провал, потому что OmniHuman-1.5 реагирует не на изящество, а на спецификацию. Промпт — это спецификация короткого видео: кто в кадре, что говорит, как построен кадр, как исполняется реплика. Если что-то из этого отсутствует или путается с чем-то другим, модель начинает угадывать, а угадывание — и есть источник проблем с согласованностью.

Полезная ментальная модель — рассматривать промпт как четыре составных модуля, которые совместно питают один выход:

  • Субъект — кто в кадре и как он выглядит на стабильном, описуемом уровне.
  • Реплика — точные слова, которые нужно произнести, выписанные дословно.
  • Композиция — план, угол камеры, фон и положение субъекта в кадре.
  • Исполнение — темп, энергия, тон и небольшие телесные движения, которые заставляют реплику звучать произнесённой, а не заученной.

Как только эти части разделены, итерации становятся управляемыми. Вы можете менять исполнение, не трогая реплику, или переписать описание субъекта, не меняя композицию. Если всё сжато в один плавный абзац, каждая правка становится глобальной, и вы никогда не сможете привязать изменение выхода к конкретной правке входа.

Это же объясняет, почему два промпта, которые на первый взгляд читаются совершенно по-разному, могут давать похожие результаты: они кодируют одни и те же четыре модуля. А два почти идентичных на вид промпта могут различаться радикально, потому что один из них незаметно упускает какой-то модуль — чаще всего исполнение, ту часть, которую люди забывают записывать.

Все рецепты в этом руководстве построены на одних и тех же четырёх модулях. Они предназначены для того, чтобы вы их копировали, адаптировали, а затем намеренно разбирали, чтобы увидеть, какую роль играет каждый модуль.

Одно предостережение перед началом

Способ обработки промптов в OmniHuman-1.5 полностью не раскрыт, а нераскрытые «ручки» имеют свойство меняться. Каждый рецепт ниже избегает выдуманных параметров, синтаксиса весов и вендорских флагов. Вместо этого он опирается на простые, явные, естественноязыковые описания субъекта, реплики, композиции и исполнения. Так рецепты остаются переносимыми, а вы не строите конвейер на синтаксисе, которого, возможно, не существует.

Когда рецепту нужно ограничить то, что модель может не соблюдать надёжно — точные моменты времени, точную синхронизацию губ на необычных фонемах, очень длинные реплики — руководство прямо это указывает и советует решать задачу вне промпта, а не надеяться, что достаточно написать её в тексте.

Если вы хотите запускать эти рецепты через единый унифицированный API, а не собирать отдельные интеграции под каждую модель, видеоэндпоинт HiAPI.ai — это целевой путь для всего, что здесь описано.

Четыре структурированных входа — субъект, реплика, композиция, исполнение — сливаются в один видеовыход; работает структура, а не волшебное предложение.

Анатомия готового к копированию промпта

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

[SUBJECT]
A [age range] [gender presentation] with [hair], [distinguishing feature],
wearing [clothing]. Natural, realistic appearance, no stylization.

[SCRIPT]
Say exactly: "<your script here>"

[FRAMING]
[Shot size] shot, [camera angle], [subject position in frame].
Background: [background description]. Lighting: [lighting description].

[DELIVERY]
Speaks at [pace]. Tone: [tone]. [Optional physical behavior cue].
Camera is static.

Несколько замечаний о том, почему каждое поле написано именно так.

Субъект

Держите описание стабильным и конкретным: возрастной диапазон, гендерная презентация, причёска, одна-две заметные черты, одежда. Избегайте нагромождения прилагательных — каждый лишний описатель является ещё одной точкой, в которой модель может смещаться между запусками. Если вам нужен один и тот же человек в нескольких фрагментах, заморозьте этот модуль дословно и никогда его не редактируйте.

Реплика

Фраза Say exactly (произнеси дословно) выполняет реальную работу. Она сигнализирует, что следующий текст — это речевое содержимое, а не описание сцены. Заключайте реплику в кавычки, чтобы границы были однозначными, и держите её как чистую прозу — без сценических ремарок, без пояснений в скобках, без разметки.

Композиция

План (крупный, средний, общий), угол камеры (на уровне глаз, слегка снизу) и положение субъекта (по центру, чуть левее) описываются обычными словами и существенно меняют выход. Фон и свет тоже относятся сюда, потому что они часть кадра, а не часть исполнения.

Исполнение

Этот модуль большинство пропускает. Темп, тон и один телесный сигнал (легкий кивок, жест, смена позы) вносят куда больший вклад в воспринимаемую естественность, чем многочисленные переписывания описания субъекта. Держите один-два сигнала — при большем количестве модель должна делать выбор.

Завершающее ограничение

Завершение фразой Camera is static (камера статична) — недорогой способ подавить нежелательное движение камеры, распространённый и отвлекающий режим отказа при генерации говорящей головы. Это не параметр, а обычная инструкция, часть рецепта.

Что не стоит помещать в шаблон

Не пишите в тексте промпта частоту кадров, разрешение, сид и строки версии модели. Это вопросы уровня запроса, а не уровня промпта, и их смешивание затрудняет диффинг и повторное использование промпта. Пусть промпт управляет содержимым, а вызов API — инфраструктурой.

Каждое поле рецепта — это модульная жидкая форма: замените один модуль, и изменится только локальная форма.

Рецепт: одиночный объясняющий фрагмент

Основной рецепт. Подходит для озвучивания документации, учебного контента, анонсов и любых случаев, когда ведущий читает подготовленный текст.

[SUBJECT]
A person in their early 30s, gender-neutral presentation, short dark hair,
wearing a plain crew-neck sweater. Natural, realistic appearance, no stylization.

[SCRIPT]
Say exactly: "In this walkthrough we'll cover three things. First, how to set up
the project. Second, the configuration options that matter most. And third, how
to verify everything is working before you ship."

[FRAMING]
Medium shot, eye level, subject centered with a small amount of headroom.
Background: softly out-of-focus home office with a bookshelf.
Lighting: soft key light from the left, no harsh shadows.

[DELIVERY]
Speaks at a measured, conversational pace. Tone: friendly and instructional.
Occasional small nod on sentence boundaries. Camera is static.

Почему это работает

Реплика достаточно коротка, чтобы оставаться связной — около трёх предложений с чёткими границами клауз. Композиция намеренно простая: по центру, на уровне глаз, мягкий фон. Простая композиция здесь преимущество, потому что позволяет легко распознать разброс выходных данных между запусками. Если фон начинает меняться, вы знаете, что дело в модели, а не в вашем описании кадра.

Модуль исполнения даёт один телесный сигнал (изредка лёгкий кивок на границах предложений), который естественно соответствует структуре реплики. Эту перекличку между сигналом исполнения и формой реплики стоит копировать: сигналы, совпадающие с ритмом реплики, читаются естественно, а конфликтующие с ним — случайно.

Как адаптировать

  • Более длинная реплика: сохраняйте ту же композицию и исполнение, но разбивайте реплику на несколько фрагментов на границах абзацев вместо того, чтобы силой делать одну длинную генерацию. Согласованность между фрагментами легче поддерживать, когда каждый фрагмент имеет схожую структуру.
  • Другая аудитория: меняйте только слово тона («авторитетный», «тёплый», «бодрый»), а затем перезапускайте. Это одна правка с наибольшим рычагом в рецепте.
  • Брендовый образ: заморозьте модуль субъекта и меняйте только одежду. Это изолирует одежду от лица и волос — полей, которые смещаются легче всего.

Известные ограничения

Очень длинные реплики — сразу несколько абзацев за одну генерацию — часто теряют ритмическую согласованность ближе к концу. Планируйте по несколько предложений на фрагмент, а затем собирайте в редакторе. Не пытайтесь решить проблему длины, добавив в промпт инструкции по ритму; промпт — не контроллер времени.

Рецепт: короткий социальный крючок

Короткие видео живут или умирают в первые две секунды. Этот рецепт обменивает энергию на нейтральность объясняющего рецепта и намеренно короче остальных.

[SUBJECT]
A person in their late 20s, wearing a casual button-up shirt.
Natural, realistic appearance, no stylization.

[SCRIPT]
Say exactly: "Stop scrolling. If you've ever shipped a feature that broke in
production, this is the one setting you probably missed."

[FRAMING]
Close-up shot, slightly below eye level, subject centered and filling most of
the frame. Background: simple solid-color wall. Lighting: bright, even, frontal.

[DELIVERY]
Speaks quickly with confident energy. Tone: direct and conspiratorial.
Leans in slightly on the first sentence. Camera is static.

Дизайнерские решения, которые стоит перенять

Крупный план плюс чуть ниже уровня глаз создаёт интимность и оттенок срочности. Это визуальная грамматика коротких видео, и её вполне можно выразить обычным языком композиции — специальный синтаксис не нужен.

Однотонный фон устраняет визуальный шум, который конкурирует с быстрым монтажом. В коротких видео фон никогда не должен быть самой интересной частью кадра.

Не более двух предложений. Крючок — это единица внимания, а не абзац. Если ваша мысль требует трёх предложений, это другой рецепт.

Один телесный сигнал, совпадающий с первым предложением. «Слегка наклоняется вперёд на первом предложении» работает, потому что первое предложение и есть крючок. Сопоставляйте сигнал с тем тактом, которому он принадлежит.

Как адаптировать

Запустите три разных реплики-крючка с одним субъектом и одной композицией, затем выберите из результатов. Поскольку всё, кроме модуля реплики, заморожено, различия между фрагментами можно отнести к тексту — а это именно то, что вам нужно при A/B-тестировании крючков.

Известные ограничения

Очень быстрое исполнение может снизить разборчивость на плотных технических терминах. Если ваш крючок содержит названия продуктов, аббревиатуры или цифры, которые нужно произнести, сравните замену слова темпа с «quickly» на «briskly». Это единственное место, где модуль исполнения может потребовать второго раунда даже после фиксации реплики.

Рецепт: закадровый голос продуктовой демонстрации

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

[SUBJECT]
A person in their mid 30s, wearing a neutral blazer over a plain shirt.
Natural, realistic appearance, no stylization.

[SCRIPT]
Say exactly: "Open the settings panel from the left navigation. Choose the
integration you want to connect. Paste your key into the credential field.
Then save, and run a test call from the same screen to confirm the connection."

[FRAMING]
Medium close-up, eye level, subject positioned slightly left of center to leave
room on the right of frame. Background: clean, uncluttered neutral wall.
Lighting: soft, even, no rim light.

[DELIVERY]
Speaks slowly and evenly, with a brief pause at each step boundary.
Tone: calm and precise. Minimal movement. Camera is static.

Самая важная подсказка по композиции

«Слегка левее центра, чтобы оставить место справа в кадре» — самая важная строка в этом рецепте. Демонстрации обычно компонуются с записью экрана или оверлеями UI, а смещённая от центра композиция даёт вашему монтажёру место, куда их положить. В промпте это ничего не стоит, но экономит целый повторный рендер.

Ритм как структурная инструкция

«Кратковременная пауза на каждой границе шага» — это инструкция о структуре, а не параметр времени. Она сообщает модели, что у реплики четыре такта. Вы не задаёте миллисекунды — вы говорите, где находятся доли. Держите число шагов в реплике небольшим и однозначно соответствующим; если в реплике шесть шагов, а исполнение упоминает паузы на границах, это всё ещё одна инструкция, и она всё ещё читается.

Как адаптировать

  • Несколько фрагментов: рендерите каждый шаг как свой фрагмент с теми же модулями субъекта и композиции, затем склеивайте. Это даёт чистые точки монтажа и сохраняет внешний вид на протяжении всей последовательности.
  • Монтаж на основе оверлеев: если шагу нужен более длинный визуальный такт, чем его устная реплика, добавьте хвостовой фрагмент тишины, а не удлиняйте инструкции исполнения. Тишина — вопрос постпродакшена.

Известные ограничения

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

Тестируйте и итерируйте рецепты

Рецепт — это гипотеза. Проверьте её, прежде чем масштабировать.

Шаг 1: напишите тестовую реплику

Подготовьте короткую реплику — два-три предложения — охватывающую сложные места вашего реального контента: самое длинное слово, самое необычное имя собственное, цифры, которые вы действительно будете произносить. Тестовая реплика должна быть враждебной, а не льстивой. Тестовое предложение, которое модель легко обрабатывает, ничего вам не скажет.

Шаг 2: сгенерируйте базовую линию

Запустите рецепт один раз без изменений с тестовой репликой. Сохраните результат и точный текст промпта, который его произвёл. Эта базовая линия послужит точкой отсчёта для всех последующих сравнений.

Шаг 3: меняйте по одной переменной за запуск

В этом вся дисциплина. Выберите одну вещь и меняйте только её:

  • Длина реплики — тот же промпт, на одно предложение больше.
  • Композиция — от среднего к среднему крупному, всё остальное без изменений.
  • Тон исполнения — замените одно слово («дружелюбный» на «бодрый»).

Если за один запуск вы изменили и композицию, и тон, а результат улучшился, вы узнали лишь, что что-то сработало, но не что именно. Это был потраченный впустую запуск.

Шаг 4: ведите журнал различий

Для каждого запуска записывайте вариант промпта, это одно изменение и однострочный вывод. Отклонённые варианты так же ценны, как и принятые, потому что они показывают, где проходят границы. Простого текстового файла с временными метками и диффами достаточно; специальные инструменты не нужны.

Шаг 5: повышайте или отбрасывайте

Когда вариант явно превосходит базовую линию, сделайте его новой базовой линией и перетестируйте с полной тестовой репликой, прежде чем закреплять его как производственный рецепт. Изменение, помогающее одному предложению, может навредить другому.

Что не итерировать

Не итерируйте то, чем промпт не управляет. Если ваша проблема — разрешение, соотношение сторон или детерминизм сида, вы находитесь на неверном уровне — смотрите на параметры запроса, а не на промпт. Тратить запуски на переписывание промптов для решения инфраструктурных проблем — самый распространённый способ, которым команды растрачивают бюджет генерации.

Замечание об объёме выборки

Генерация говорящей головы имеет присущую ей изменчивость между запусками. Один образец на вариант может ввести вас в заблуждение. Прежде чем делать выводы, генерируйте по два-три образца на вариант с тестовой репликой и сравнивайте между образцами, а не выбирайте лучший.

Цикл итерации рецепта: каждый вариант питает сгенерированный фрагмент, меняется одна переменная, отклонённые ветви отбрасываются.

Распространённые режимы отказа и как их обойти через промпт

Это самые частые проблемы с корректировками со стороны промпта. Ни одна из них не требует изобретения параметров.

Субъект смещается между фрагментами

Симптом: волосы, одежда или возраст выглядят по-разному в разных фрагментах. Исправление: заморозьте модуль субъекта дословно во всех промптах, ничего в нём не меняя — ни синонимы, ни порядок слов. Изменения обычно возникают из-за добросовестного переписывания между фрагментами.

Исполнение читается как заученное, а не как речь

Симптом: плоская мимика, отсутствие микродвижений, жутковатая неподвижность. Исправление: добавьте в модуль исполнения телесный сигнал и убедитесь, что он соответствует какому-то такту в реплике. Также проверьте, написана ли реплика в разговорном регистре — сокращения, короткие клаузы, обрывочные предложения. Формальная проза будет читаться как формальное исполнение, какие бы слова тона вы ни добавляли.

Нежелательное движение камеры

Симптом: медленный зум, дрейф или панорама, которых вы не просили. Исправление: добавьте явную инструкцию фиксированной камеры в конец модуля исполнения. Если движение сохраняется, удалите из промпта в других местах слова, подразумевающие движение («динамичный», «энергичная композиция», «движущаяся камера»).

Фон конкурирует с субъектом за внимание

Симптом: модель фокусируется на деталях фона, а не на лице. Исправление: сократите описание фона до одной фразы и добавьте свет, отделяющий субъект от стены (мягкий ключевой свет с одной стороны). Меньше слов о фоне, а не больше.

Ритм длинной реплики разваливается

Симптом: исполнение хорошо начинается, но к концу становится торопливым или плоским. Исправление: сократите реплику. Это надёжное исправление, и никакая формулировка промпта его не заменит. Вместо этого разбейте на несколько фрагментов на естественных границах.

Разборчивость падает на плотных терминах

Симптом: названия продуктов, аббревиатуры или цифры неразборчивы. Исправление: замените слово темпа с быстрого на размеренное; если конкретный термин всё ещё ошибочен, рассмотрите переписывание его в реплике фонетически — при этом признайте, что это делает реплику менее читаемой и должно быть крайней мерой.

Выход игнорирует часть промпта

Симптом: целый модуль, кажется, не даёт эффекта. Исправление: проверьте конфликт модулей. Если модуль субъекта говорит «в формальном костюме», а модуль композиции — «уютное кафе», модели приходится согласовывать противоречие и, возможно, что-то отбрасывать. Прежде чем винить модель, приведите четыре модуля в согласие друг с другом.

Результаты расходятся между одинаковыми запусками

Симптом: одинаковый промпт, разные выходы. Исправление: это ожидаемая изменчивость, а не баг промпта. Установите критерии приёмки для каждого варианта на двух-трёх образцах и прекращайте настройку, когда попадаете в их диапазон. Гнаться за идеальным детерминизмом через формулировки промпта — непродуктивно.

Относитесь к промптам как к версионируемым активам

Промпт, живущий в окне чата, — не воспроизводимый актив. Как только у вас есть два рецепта и несколько вариантов каждого, у вас есть исходный код — и с ним следует обращаться как с исходным кодом.

Храните промпты рядом с кодом, который их использует

Держите каталог prompts/ в том же репозитории, что и скрипты генерации. Один файл на рецепт, чистый текст или markdown, с четырьмя модулями в полном и читаемом виде. Текст промпта должен загружаться как строка, а не быть вставленным в тело функции.

Именование, по которому можно предсказать выход

Схема именования, кодирующая намерение, ценнее остроумной:

prompts/
  explainer-single-speaker-v3.txt
  social-hook-closeup-v2.txt
  walkthrough-voiceover-v1.txt

Суффикс версии — не украшение. Увеличивайте его, когда изменение модуля влияет на выход; не увеличивайте его из-за опечатки в комментарии.

Диффьте промпты, а не только бинарники

Когда качество выхода меняется, вам нужно ответить на вопрос «что изменилось во входе?». Git diff по текстовым промптам отвечает на это одной командой. Промпты, встроенные в JSON-блоб вместе с параметрами запроса, — нет. Держите текст промпта отдельно от конфигурации запроса, чтобы диффы оставались читаемыми.

Закрепляйте промпт вместе со сгенерированными активами

Сохраняя сгенерированный фрагмент, записывайте, какая версия промпта его произвела — в имени файла, в сопутствующем файле метаданных или в базе активов. Через шесть недель, когда кто-то спросит, почему один фрагмент в серии выглядит иначе, ответ должен находиться одним запросом, а не угадыванием.

Проверяйте изменения промптов как изменения кода

Правка промпта, меняющая композицию или субъекта, — это визуальное изменение. Относитесь к ней как к изменению UI: открывайте pull request с образцами до и после и позволяйте другому человеку посмотреть. Это самый дешёвый способ поймать случайный дрейф в модулях, которые должны были быть замороженными.

Ведите индекс рецептов

Короткий README в каталоге prompts, перечисляющий каждый рецепт, его назначение и текущую версию, избавит каждого нового участника от обратного выяснения ваших намерений. Там же стоит фиксировать известные ограничения, например предел длины реплики в объясняющем рецепте, чтобы ограничения были задокументированы, а не открывались заново.

Начните с платформы, затем специализируйте

Если вы подключаете эти рецепты к конвейеру, видеоэндпоинт OmniHuman-1.5 в HiAPI.ai даёт вам единый интерфейс вызова, так что структура репозитория и схема версий остаются стабильными по мере добавления рецептов. Скопируйте рецепт, запустите его с короткой тестовой репликой, меняйте по одной переменной за раз и коммитьте версии, которые превосходят вашу базовую линию — этот цикл и есть весь метод.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API