GLM-5 для оркестрации промптов изображений и видео с помощью ИИ
Используйте GLM-5 как уровень рассуждений для генерации, улучшения и объединения промптов для моделей изображений и видео на WaveSpeed.
Привет, я Дора. Я пыталась превратить размытую идею — «приглушённая керамическая кружка на льняном столе, утренний свет» — в короткий рекламный ролик. Визуальный образ в голове был чётким. Промпты — нет. Я постоянно переключалась между инструментами для изображений, видео и апскейлинга, переформулируя крошечные фразы, которые почему-то меняли всё. Ощущение было такое, будто я работаю кусками.
Доступно на WaveSpeedAI — прозрачная цена за токен, OpenAI-совместимый endpoint. GLM 5.1 API → · Все LLM →
Я попробовала встроить GLM-5 в середину этого хаоса — не как главного героя, а как человека у доски. Цель была простой: использовать GLM-5 как оркестратор промптов для моделей изображений и видео. Фраза, которую я записала в заметках, — «GLM-5 image video prompt», потому что именно в этом задача: взять обычное описание и надёжно превратить его в промпты, которые понимают downstream-модели.
Почему мощный LLM важен для пайплайнов изображений и видео
Мне не нужна одна модель, которая делает всё. Мне нужна одна модель, которая говорит чётко, одинаково, каждый раз. Именно это определяет успех или провал визуального пайплайна.
В изображениях и видео крошечные слова сильно меняют результат: дистанция камеры, фокусное расстояние, прилагательные, описывающие материалы, даже порядок их появления. Если вы когда-нибудь добавляли «рассеянный контровой свет» в конец промпта и наблюдали, как полностью меняется настроение, — вы знаете это ощущение.
Раньше я вручную составляла промпт для каждого инструмента: один для FLUX, другой для WAN, третий для апскейлера. Это работало, но не масштабировалось и истощало внимание. Мощный LLM в середине делает для меня три вещи:
- Нормализует язык: превращает свободное описание в схему, понятную каждой модели.
- Добавляет ограничители: фиксирует стиль и технические параметры, чтобы вариации не расходились.
- Держит в памяти: переносит выборы (камера, палитра, заметки о продукте) между инструментами, не заставляя меня всё перепечатывать.
Дело не в экономии минут на наборе текста. Дело в сохранении мелких решений, которые съедают рабочую сессию. Когда GLM-5 удерживает структуру стабильной, я могу чётко видеть изменения — что сдвинулось и почему.
GLM-5 как оркестратор промптов
Я не искала функции. Я просто спросила: может ли GLM-5 взять моё простое описание, придать ему форму для нужной модели и отслеживать всё на каждом шаге? Вот как это выглядело на практике.
Генерация промптов для FLUX из естественных описаний
Первый проход: даю GLM-5 короткое описание на обычном английском и прошу промпт, готовый для FLUX, с явными полями — субъект, камера, освещение, материалы, фон, цветовые ограничения, негативы. Структуру я позаимствовала из заметок о модели FLUX и нескольких публичных руководств по промптам, а потом намеренно сделала её скучной. Скучное — значит повторяемое.
Небольшой сюрприз: GLM-5 хорошо умеет тихо выводить недостающие детали (например, добавлял эквивалент 50 мм, когда я забывала выбрать фокусное расстояние). Я попросила его помечать допущения, чтобы я могла принять или отклонить их. Это сократило несколько лишних итераций.
Что шло не так гладко: GLM-5 иногда по умолчанию прибегал к пышным прилагательным, которых я не хотела («ethereal», «stunning»). Я добавила правило — «только конкретный, фотографический язык» — и шелуха исчезла.
Цепочка: промпт GLM-5 → видео WAN 2.5 → апскейл
Когда промпт для изображения стабилизировался, я попросила GLM-5 перевести его в видеопромпт для WAN 2.5. Соответствие было не один к одному. Видео требует движения, тайминга и ограничений, которые промпты для изображений игнорируют. Я взяла простой шаблон из документации WAN и попросила GLM-5 заполнить: ключевые моменты движения, движение камеры (или его отсутствие), длительность, действия субъекта и заметки о преемственности, чтобы первый кадр мог совпадать с рендером изображения.
Два полевых наблюдения:
- Если я давала GLM-5 добавлять движение камеры по умолчанию, WAN 2.5 иногда чрезмерно анимировал сцену. Фиксация движения по одной оси или полная статика давала более чистые петли.
- Согласование цветовой температуры между изображением и видео оказалось важнее, чем я ожидала. Я попросила GLM-5 переносить числовой баланс белого (например, 5200K) между шагами.
Для апскейлинга я всё держала скучным и детерминированным: промпт только для намерения по текстуре (матовая или глянцевая), допустимый уровень шума и смещение резкости. Простые указания давали меньше артефактов.
Пакетное расширение промптов для A/B-тестирования
Вот здесь GLM-5 ощущался больше всего как коллега. Я просила его генерировать пять микровариаций, каждая из которых меняла ровно один параметр: фокусное расстояние, текстуру стола, время суток или диапазон насыщенности. Без поэтических перефразировок. Только одна чистая дельта на вариант. Он помечал каждую причиной и предсказываемым риском (например, «может ввести зеркальные блики»).
Поначалу это не экономило время — я всё равно сортировала хорошее от плохого. Но к третьей партии заметила, что умственные усилия снизились. Структура делала сравнение честным. Я могла реально видеть, какой выбор победил, а не просто то, какой промпт звучал красивее.
Агентный рабочий процесс: GLM-5 планирует многошаговую генерацию
Я не включила «режим агента» и не ушла. Я попросила GLM-5 спланировать шаги, проверить допущения, а потом подождать меня. Простой цикл: план → предложить промпты → получить мои правки → выполнить → подвести итог.
Помогло дать GLM-5 небольшой чеклист заранее:
- Сформулировать цель в одном предложении.
- Уточнить неизвестное (камера, палитра, движение).
- Создать первые промпты для изображения, затем перевести в видео.
- Вести общий блок ограничений: заметки о SKU продукта, фирменные цвета, соотношение сторон, максимальное движение.
- После каждого рендера фиксировать, что изменилось и что оставить.
Пример: фотосессия продукта → 5 ракурсов → видео
Я попробовала это с минималистичной съёмкой продукта: керамическая кружка, льняной стол, мягкий утренний свет. Задача: пять стопкадров с разных ракурсов, затем петля длиной 6–8 секунд.
Что я наблюдала (февраль 2026, три сессии):
- Шаг 1, Набор ракурсов: GLM-5 предложил пять ракурсов камеры с точными расстояниями и высотами (например, 1,2 м высоты, 0,6 м назад, 35° вниз). Эта конкретность имела значение. Она поддерживала единообразие композиций между вариантами.
- Шаг 2, Контроль текстуры: Для льна GLM-5 рекомендовал избегать сильного бокового света, чтобы предотвратить муар при апскейлинге. Это было не всегда верно, но осторожность спасла один шумный дубль.
- Шаг 3, Передача видео: При переходе к WAN 2.5 он рассматривал главный стопкадр как «нулевой кадр». Переносил объектив, баланс белого и компенсацию экспозиции. Меньше неожиданностей.
- Шаг 4, Проверки на здравомыслие: Каждые два рендера GLM-5 резюмировал дрейф: «теплота +6%, тени глубже, появились отражения». Эти маленькие заметки упрощали понимание того, когда остановиться.
Ограничения: я не давала GLM-5 выбирать музыку или ритм монтажа помимо заметок о движении. Когда он пытался быть «творческим», то добавлял жесты, не подходящие продукту. Здесь лучше работало сдерживание.
Сравнение качества промптов: выходные данные GLM-5 против GLM-4.7
Я прогнала одно и то же естественное описание через GLM-4.7 и GLM-5, затем использовала результаты без изменений. Не лабораторный тест — просто такой, какой я делала бы перед дедлайном.
Использованный бриф: «Приглушённая керамическая кружка на льняном столе, мягкий утренний свет, нейтральная палитра, без брендинга. Чисто, спокойно, правдоподобно».
Что я увидела:
- Структурная дисциплина: GLM-5 чаще соблюдал схему. GLM-4.7 сползал в стилевые фразы («dreamy», «elegant»), которые подталкивали FLUX к лайфстайл-эстетике. GLM-5 держался камеры, света, материала.
- Числовые якоря: GLM-5 предлагал скромные числовые значения по умолчанию (35 мм, f/4, 5200K) и помечал их как допущения. GLM-4.7 склонял пропускать числа, если их не просили явно.
- Негативные промпты: GLM-5 включал практичные негативы («bokeh balls, glossy highlights, telephoto compression»), которые уменьшали артефакты в моих тестовых изображениях. Негативы GLM-4.7 были общими.
- Перевод в видео: GLM-5 добавил простой сценарий движения и тайминг; GLM-4.7 в основном пересказывал промпт изображения с добавлением «short video». WAN 2.5 лучше воспринимал тайминг GLM-5.
Небольшая контрточка: GLM-4.7 иногда создавал промпт, который звучал красивее и, на мой взгляд, работал для mood-бордов. Если вы в режиме концепции, такой тон может быть полезен. Но для передачи в производство я предпочла сдержанность GLM-5.
Это дало мне языковые паттерны, которые GLM-5 мог воспроизводить надёжно.
Пример кода — полный пайплайн с WaveSpeed SDK
Ниже — урезанный пример, показывающий структуру рабочего процесса, который я использовала. Замените ключи и эндпоинты на свои. Я запускала вариацию этого 9 февраля 2026 года. Это не элегантно. Зато надёжно.
# pip install wavespeed sdk hypothetical
from wavespeed import GLM5, Flux, WAN25, Upscaler
glm = GLM5(api_key=GLM5_KEY)
flux = Flux(api_key=FLUX_KEY)
wan = WAN25(api_key=WAN_KEY)
up = Upscaler(api_key=UPSCALE_KEY)
brief = {
"subject": "muted ceramic mug on a linen table",
"mood": "soft morning light, neutral palette",
"constraints": {"aspect_ratio": "4:5", "brand_colors": ["#E8E4DA", "#8D8A83"]}
}
# 1) Просим GLM-5 нормализовать бриф для FLUX
flux_prompt = glm.generate(
system="Return a FLUX-friendly prompt with fields: subject, camera, lighting, materials, background, color, negatives. "
"Photography-first, numeric where helpful, minimal adjectives. Label assumptions.",
user=brief,
format={
"type": "object",
"properties": {
"subject": {"type": "string"},
"camera": {"type": "object"},
"lighting": {"type": "object"},
"materials": {"type": "object"},
"background": {"type": "string"},
"color": {"type": "object"},
"negatives": {"type": "array", "items": {"type": "string"}},
"assumptions": {"type": "array"}
},
"required": ["subject", "camera", "lighting", "negatives"]
}
)
# 2) Рендер изображения
img = flux.generate_image(prompt=flux_prompt, seed=4217, steps=30, guidance=3.5)
# 3) Перевод в видеопромпт для WAN 2.5
wan_prompt = glm.generate(
system="Translate the FLUX prompt into a WAN 2.5 prompt. Include: duration 6-8s, motion beats, camera movement (static or gentle pan), "
"continuity with the image (lens, white balance), and a list of negatives.",
user={"flux_prompt": flux_prompt, "reference_frame": img.preview_url}
)
vid = wan.generate_video(prompt=wan_prompt, seed=4217, fps=24, duration=7)
# 4) Апскейл с контролируемым повышением резкости + шумом
final = up.enhance(
input=vid.keyframe(0),
noise_reduction="low",
sharpening="moderate",
texture_bias="matte"
)
# 5) Журнал итогового дрейфа
drift = glm.generate(
system="Summarize differences between target brief and outputs. 3 bullets: warmth, contrast, motion.",
user={"brief": brief, "image": img.metrics, "video": vid.metrics}
)
print(drift)
Я держу промпты LLM рядом с кодом, чтобы будущий я мог видеть, почему были сделаны те или иные выборы. Если вы предпочитаете YAML-шаблоны, это тоже работает. Главное, что GLM-5 возвращает структурированные поля, которые можно передавать прямо в функции рендеринга без редактирования.
Несколько небольших ограничителей, которые помогли:
- Фиксируйте seed до тех пор, пока вам не понравится базовый вид. Затем освобождайте seed только там, где нужна вариативность.
- Передавайте баланс белого как число, а не как ощущение.
- Просите GLM-5 перечислять допущения и давайте себе возможность принять или отклонить их перед рендерингом.
Если ваш стек не использует WaveSpeed, идея всё равно применима. LLM сидит между вашими заметками и эндпоинтами модели, переводя и ведя счёт.




