Создайте творческий AI-конвейер с GLM-5 + WaveSpeed
Создайте полноценный AI-конвейер: GLM-5 пишет промпты, WaveSpeed генерирует изображения и видео — всё управляется через API.
Привет, я Дора. Я постоянно переключалась между инструментами, чтобы сделать короткий рекламный ролик. Бриф — в одном месте. Изображения — в другом. Видео — ещё где-то. Заметки разбросаны. Ничего сложного, но… шумно. Поэтому я попробовала кое-что попроще: устойчивый сквозной путь от простого брифа до готового ролика без постоянного переключения. Я называю это творческим пайплайном GLM-5. Я тестировала его две недели — на трёх коротких концептах и нескольких разрозненных кусках из клиентских проектов. Ничего эффектного. Но работа ощутимо полегчала.

Доступно на WaveSpeedAI — прозрачная цена за токен, OpenAI-совместимый endpoint. GLM 5.1 API → · Открыть Playground →
Что мы строим (обзор от начала до конца)
Мне нужен был один путь от короткого брифа до 6–10-секундного видео — с возможностью небольших итераций, но без охоты за функциями. Схема выглядит так:
- Я пишу простой бриф (два-три предложения). Тон, тема, ограничения.
- GLM-5 превращает его в чёткие описания сцен.
- FLUX или Seedream генерирует стоп-кадры через WaveSpeed — для предсказуемого инференса.
- WAN 2.5 или Seedance добавляет движение к одобренным стоп-кадрам.
- GLM-5 проверяет результаты и предлагает точечные правки, а не переработку.
Несколько правил, которые я установила для себя:
- Короткие структурированные промпты. Я использую одни и те же поля каждый раз: Subject (тема), Setting (обстановка), Style (стиль), Motion notes (заметки о движении), Constraints (ограничения).
- Небольшие батчи. Максимум три концепта за один прогон. Это помогало сохранять ясность мышления и упрощало сравнение.
- Фиксировать сиды, когда нравится результат. Вариации — потом, не в процессе.
На практике пайплайн сократил количество кликов и сомнений больше, чем чистое время работы. На третьем прогоне я сэкономила около 15 минут от типичного 90-минутного цикла «концепт → ролик». Главный выигрыш был mental: меньше развилок, меньше отвлечений в духе «а что, если попробовать X». Именно это мне и было нужно.
Шаг 1 — GLM-5 генерирует описания сцен из брифа
Я начала с крошечного брифа: «Тёплый утренний свет на керамической кружке у окна. Лёгкий пар. Минималистичное, спокойное настроение. Для вертикальной истории 9:16. Цвета бренда: приглушённый бирюзовый акцент.»
GLM-5 отлично справляется с творческим письмом и обладает стилистической гибкостью — так заявлено в официальной документации Zhipu AI. Мне от GLM-5 не нужна была находчивость. Мне нужна была структура: последовательные карточки сцен, которым мог бы следовать рендерер. Вот формат, который я запросила и которого придерживалась:

- Название сцены
- Тип кадра (например, средний крупный план)
- Композиция (правило третей, заметки о негативном пространстве)
- Освещение
- Палитра
- Текстуры/материалы
- Заметки о движении (если есть)
- Жёсткие ограничения (нет лиц, нет текста в кадре, размеры выходного изображения)
Первый вариант оказался многословным. GLM-5 слишком подробно описывал настроение. Я скорректировала: «Каждое поле — одно предложение. Используй конкретные существительные и операторские термины.» Это исправило большую часть проблем. Уже со второго прогона карточки получались чёткими и хорошо транслировались в промпты для изображений.
Маленький лайфхак: я попросила GLM-5 добавить список «запрещённых» элементов, на которые я раньше натыкалась (лишние руки, случайные логотипы, отражения с лицами). Это сократило последующую доработку. Не идеально, но меньше неожиданностей.
Этот шаг не экономил время сразу — он экономил усталость от принятия решений позже. Мне не приходилось выбирать между пятью разными стилями промптов. У меня был один.
Шаг 2 — FLUX / Seedream генерирует изображения через WaveSpeed
Я запускала и FLUX, и Seedream, потому что у них разный характер. FLUX давал чистые, дизайнерски выверенные стоп-кадры. Seedream немного блуждал, но иногда находил красивую текстуру в керамике и дереве. Оба я запускала через WaveSpeed, чтобы стандартизировать шаги, сиды и планировщики без необходимости вручную управлять десятком параметров.

Полевые заметки:
- Воспроизводимость в WaveSpeed имела значение. Когда кадр нравился, я фиксировала сид и меняла только guidance и количество шагов. Это делало «счастливые случайности» воспроизводимыми.
- Соотношение сторон я задавала равным целевому формату (9:16) с самого начала. Обрезка потом всегда делала пар странным.
- Промпты я оставляла теми, что получила от GLM-5. Никаких поэтических украшений. Стерильно, но это сокращало странные артефакты по краям.
Сложности: руки и окна. Отражения обожают «изобретать» людей. Я добавила «no figures, no silhouettes, no human reflections» в ограничения и немного повысила negative guidance. Это убрало лишний шум.
Время генерации одного стоп-кадра варьировалось от быстрого до «пора за кофе», в зависимости от моей машины. Я генерировала 8–12 кандидатов на сцену, затем жёстко отбирала 2. Если не удавалось быстро выбрать — значит, промпт был недостаточно чётким. Возврат к GLM-5 с небольшой правкой, а не поиск нужного изображения наугад.
Шаг 3 — WAN 2.5 / Seedance генерирует видео из стоп-кадров
На этом этапе я обычно теряю нить: слишком много вариантов движения. Я ограничила себя двумя режимами: лёгкий параллакс и плавное движение камеры. WAN 2.5 убедительно справлялся с параллаксом. Seedance лучше работал с микродвижениями — вроде пара и мягкого сдвига фокуса.
Мой чеклист передачи от стоп-кадра к анимации:
- Экспортировать чистый PNG в целевом разрешении (1080x1920 для тестов).
- Дать чёткую заметку о движении (например, «dolly-in на 2–3°, ручка кружки остаётся в трети кадра, пар дрейфует, подходит для зацикливания»).
- Ограничить длительность 6–8 секундами. Длинные клипы становились размытыми и обнажали артефакты модели.
Неожиданности:
- Мерцание текстур. Зернистая глазурь отлично выглядит на стоп-кадрах и шумит в движении. На шаге 2 я снижала интенсивность текстуры, если знала, что буду анимировать.
- Деформация краёв у углов. Центрированные композиции держались лучше. Кружки не по оси гнулись, как резиновые.
Лучшие прогоны ощущались незаметно. Когда всё работало, я переставала думать о модели и просто наблюдала, как дышит свет. Когда не работало — разваливалось быстро, обычно потому что я просила слишком много движения.
Шаг 4 — GLM-5 проверяет результаты и предлагает итерации

Я снова привлекла GLM-5 — как спокойный второй взгляд. Я попросила его:
- Сравнить финальные клипы с исходным брифом.
- Отметить несоответствия (палитра, настроение, ограничения).
- Предложить одно небольшое изменение на клип, а не пять.
Это оказалось полезнее, чем я ожидала. GLM-5 стабильно замечал смещение цвета. В одном прогоне он отметил, что бирюзовый акцент кажется холодным на фоне тёплого света: небольшое изменение оттенка фона исправило ситуацию.
Но иногда он заходил слишком далеко, предлагая новые реквизиты или текстовые оверлеи. Я возражала, установив правило: «Никаких новых существительных. Корректировать только освещение, цвет или интенсивность движения.» Это удерживало итерации в рамках.
Цикл здесь был быстрым: один проход заметок, один проход правок. Если результат всё ещё не устраивал — я откладывала концепт вместо того, чтобы застревать. Такая сдержанность не давала пайплайну раздуться.
Полный код (Python, WaveSpeed SDK)
Оркестрацию я намеренно оставила простой. Один Python-скрипт связывает шаги воедино с помощью нескольких небольших хелперов:
- Класс
Brief, хранящий Subject, Setting, Style, Motion, Constraints. - Хелпер
glm5(), который форматирует промпт и парсит карточки сцен в словари. - Хелпер
images(), вызывающий WaveSpeed с FLUX или Seedream и передающий сиды, шаги и негативные промпты. - Хелпер
video(), передающий стоп-кадры в WAN 2.5 или Seedance с заметками о движении. - Хелпер
review(), отправляющий миниатюры или короткие gif’ы обратно в GLM-5 для проверки соответствия.
Два момента обеспечивали стабильность:
- Я записывала результаты на диск с детерминированными путями:
run_id/scene_01/flux_seed1234.png. Это упрощало возврат к предыдущим результатам. - Я логировала параметры рядом с результатами в небольшой YAML-файл. Когда клип получался правильным — я точно знала, почему.
Я не привожу здесь полный код, чтобы не превращать это в свалку вставок. Описанная выше структура достаточна для воссоздания с вашим стеком. Если вы уже используете WaveSpeed — речь в основном о том, где зафиксировать случайность, а где позволить ей гулять.
Разбивка затрат на 10 ассетов

Стоимость сильно зависит от провайдера и настроек модели, поэтому воспринимайте это как практический диапазон из моих тестов, а не как обещание. Десять ассетов здесь — это 10 коротких вертикальных клипов (по одной сцене каждый), с 8–12 кандидатами стоп-кадров на сцену.
- Промптинг и ревью GLM-5: небольшие расходы. Цена GLM-5 API составляет $1,00/млн входных токенов и $3,20/млн выходных — заметно дешевле Claude Opus 4.6 ($5/млн входных, $25/млн выходных). В моих прогонах на каждый ассет приходилось ~2–3 коротких взаимодействия плюс одно ревью. На тарифах по использованию для 10 ассетов это обычно несколько долларов.
- Генерация изображений: главный переменный фактор. При средних шагах и 8–12 кандидатах на сцену на тарифах pay-per-inference я видела затраты в диапазоне средних-высоких однозначных чисел долларов на ассет. Меньше, если батчить на собственном GPU.
- Генерация видео: тоже переменная. Простые клипы с параллаксом стоят дешевле, физически сложное движение — дороже. По моим заметкам, это выходило примерно как стоп-кадры на ассет, иногда чуть дороже.
Грубый итог на 10 ассетов, смешанные модели, консервативные настройки: низкие сотни долларов при полностью облачном решении с щедрой вариативностью; заметно меньше, если вы самостоятельно хостите шаги генерации изображений и платите только за движение. Если быть строгой: 6 кандидатов вместо 12, один проход motion — можно срезать треть. Если гнаться за вариациями, сумма удваивается быстро. Сиды и небольшие правила итераций помогают держать счёт под контролем.
Расширение: LoRA, апскейлинг, пакетная обработка
Когда основа устоялась, я попробовала несколько расширений.
- LoRA для текстуры бренда: я обучила небольшой пакет акцентов для глазури керамики и бумажного фона. Это помогло сохранить единообразие материалов между сценами. Секрет — в умеренном весе. Тяжёлые LoRA тянули всё к одному виду.
- Лёгкий апскейлинг: я применяю его только после motion, не до. Апскейлинг до анимации усиливал артефакты. Апскейлинг после с лёгкой, деталесохраняющей моделью держал края чистыми без выдумывания пор на кружке.
- Пакетная обработка: я добавила очередь, где каждый концепт движется как единое целое. Никакого смешения шагов из разных брифов. Звучит жёстко, но это спасало меня от спирали «ещё один разок».
Кое-что я в итоге отказалась использовать:
- Автоматические подписи внутри пайплайна. Они тянули визуал в сторону «контента» вместо «движущихся изображений». Подписи я делаю снаружи, ближе к публикации.
- Агрессивное смешение стилей. Хорошо смотрелось в сетке и утомляло в движении.
Кому подойдёт: тем, кто любит предсказуемые пути и небольшой, стабильный прогресс. Кого не впечатлит: тех, кто гонится за зрелищностью или высоковариативным арт-стилем. Это нормально.
Я стремилась сделать творческий пайплайн GLM-5 тише, а не умнее. В хорошие дни он именно таким и ощущается: кружка, немного света и меньше открытых вкладок, чем обычно. Меня это устраивает.


