Новая медиафункция редко начинается с ровной очереди на GPU. Она начинается с нескольких портретов, правок товаров или коротких видео, а затем возникает вопрос: продолжать платить за API или запускать модель самим?
Используйте готовый медиа-API при нерегулярном спросе, при нескольких семействах моделей или когда функция ещё ищет своих пользователей. Рассматривайте self-hosting, когда подходящий конвейер на открытых весах решает задачу, а постоянная нагрузка окупает его полные эксплуатационные расходы. Часто удобен гибрид: стабильную генерацию статичных изображений запускайте у себя, а редкие видео оставьте в размещённой задаче.
Для конкретной отправной точки: Z-Image Turbo стоит $0.010 за изображение при выключенном расширении промпта, а пять секунд MiniMax H3 «изображение в видео» в 768p стоят $0.185. Полезное сравнение начинается с этих готовых материалов, а не с почасовой цены GPU по прейскуранту.
Сначала сравните один и тот же результат
Новое изображение по тексту, правка существующего портрета и видео из утверждённого кадра — это разные возможности. Низкая цена часа GPU не делает одну модель заменой всем трём.
| Потребность | Текущий пример с хостингом | Указанная стоимость для клиента | Что должна уметь локальная альтернатива |
|---|---|---|---|
| Новое изображение по тексту | Z-Image Turbo | $0.010/изображение, расширение выключено | Запускать подходящий чекпойнт «текст в изображение» в нужном размере |
| Правка по референсам | Qwen Image 2.1 edit | Один референс: 1K $0.036; 2K $0.048 (расширение выключено); 1.5K $0.072 (расширение включено) | Принимать исходные изображения и сохранять детали, которых требует правка |
| Анимация начального кадра | H3 image-to-video | $0.037/секунда в 768p; $0.058 в 2K | Запускать совместимый видеоконвейер, а не только модель изображений |
Второй референс в Qwen поднимает правку 1K до $0.048; правка 2K по-прежнему стоила $0.048 с одним или двумя референсами. Правка 1.5K сейчас требует включённого расширения промпта: $0.072 с одним референсом, $0.09 с двумя.
Функции, обещающей одного и того же вымышленного персонажа в нескольких сценах, нужно больше, чем дешёвая модель «текст в изображение». Нужен способ переносить идентичность между изображениями. Скачанный чекпойнт «текст в изображение» не добавляет ни правку по референсу, ни кондиционирование персонажа. Выбирайте нужный контроль до того, как выбирать, где его запускать.
Что даёт путь с готовым хостингом
В Z-Image задача принимает промпт до 1000 символов, пять соотношений сторон, вывод в PNG и необязательный seed. Это узкая операция «текст в изображение», а не интерфейс для замены сэмплера или работы с промежуточными латентами.
H3 image-to-video принимает начальное изображение и промпт, а также необязательный завершающий кадр. Поддерживаются 4–15 секунд в 768p или 2K; четырёхсекундные клипы доступны только в 768p. Начальное изображение задаёт форму результата. В задаче нет поля seed и фиксации камеры, поэтому подготовьте композицию до анимации и опишите нужное поведение камеры в промпте.
API задач берёт на себя расчёт цены, асинхронное создание и получение статуса. Вашему приложению по-прежнему нужно следить за повторными отправками и хранить полученные файлы, но не нужно загружать веса модели, восстанавливать GPU-воркеры и поддерживать среду исполнения.
Небольшой бюджет на изображения и видео
Десять попыток Z-Image и два пятисекундных клипа H3 дают полезный отправной пример:
- Десять статичных изображений: 10 × $0.010 = $0.100.
- Два клипа в 768p: 2 × 5 × $0.037 = $0.370.
- Генерация в сумме: $0.470.
Закладывайте в бюджет правки и отброшенные попытки отдельно от отобранных материалов.
Что даёт self-hosting и что он добавляет
Официальный репозиторий Z-Image предоставляет код, веса и инструкции по локальному инференсу. Z-Image — семейство на 6B, и в официальном README сказано, что Turbo помещается на потребительских устройствах с 16 GB VRAM. Это делает его вероятным кандидатом для локальной генерации статичных изображений, но не поводом считать, что любое запрошенное разрешение и пакет поместятся на вашей GPU.
Self-hosting позволяет выбрать совместимую среду исполнения, добавить поддерживаемые адаптеры или предобработку и разместить инференс в инфраструктуре, которой вы управляете. Он также делает вас ответственным за:
- Загрузку модели и память: веса, размеры и параллельные задачи определяют, поместится ли воркер.
- Ёмкость: быстрое одиночное изображение не показывает, как выстроится очередь при всплеске запросов.
- Восстановление: ошибка нехватки памяти или сбой воркера требуют ограниченного числа повторов и исправной замены.
- Обновления: изменения модели, зависимостей и среды исполнения могут изменить результат или сломать сервис.
Если вам нужен собственный граф инференса или закрытый адаптер, недоступный в размещённой задаче, такой контроль может оправдать self-hosting ещё до какой-либо экономии. Если задача уже поддерживается и используется лишь изредка, тот же контроль может добавить работы, не улучшив функцию для клиента.
Self-hosting не всегда означает простаивающую GPU, работающую весь день
Самостоятельно управляемый handler может работать на выделенном экземпляре или на serverless-воркерах. Runpod различает активные воркеры и flex-воркеры: активные остаются наготове; flex-воркеры могут масштабироваться до нуля, с холодным стартом, когда спрос возвращается.
Сравнивайте эти режимы работы отдельно. Постоянная бронь включает простаивающую мощность; схема с масштабированием до нуля обменивает эту стоимость простоя на задержку запуска и настройку развёртывания. И в том и в другом случае нужны handler модели и очередь, которая знает, завершил ли воркер задание.
Для работы с персонажами без цензуры сначала выберите контроль, потом хост
Повторяющийся взрослый персонаж — хороший пример, потому что дешёвый первый портрет лишь начало. Следующим сценам могут понадобиться то же лицо, смена гардероба или определённая поза. Повторение текстового описания может давать новые вариации, когда продукту нужна преемственность.
Размещённая задача Z-Image за $0.010 принимает только текст: она не может принять портрет компаньонки как референс идентичности, а дешёвое изображение другого человека не заменяет процесс правки по референсу. То же верно локально: загрузка открытых весов не добавляет ни кондиционирование по лицу, ни совместимый LoRA персонажа, ни конвейер правки, поэтому сначала точно определите, какого контроля не хватает. Если вам нужен обученный адаптер персонажа, проверьте, что чекпойнт и адаптер подходят друг другу и что ваша реализация его загружает.
Размещённая цепочка может сделать контроль и стоимость явными:
- Исследовать портрет: Z-Image Turbo за $0.010 за изображение при выключенном расширении.
- Перенести его в родственную сцену: Qwen Image 2.1 edit берёт утверждённый портрет как референс; правки с одним референсом стоят $0.036 в 1K или $0.048 в 2K при выключенном расширении.
- Анимировать утверждённый кадр: H3 image-to-video начинается от $0.037 за секунду в 768p.
Локально та же цепочка требует конвейера «текст в изображение», правки по референсу или кондиционирования идентичности и отдельного видеоконвейера. Размещённая задача без ограничений убирает дополнительный фильтр платформы; она не гарантирует, что модель сохранит каждое лицо или наряд. Запуск открытых весов локально даёт вам контроль над конвейером инференса и делает вас ответственным за обработку контента и развёртывание. Для контента для взрослых разделяйте три вопроса: принимает ли выбранная задача запрос, создаёт ли модель нужную категорию и пригоден ли результат. Ответ о завершении может сопровождать смягчённую сцену или изменённую идентичность, а локальный запуск не доказывает, что чекпойнт хорошо передаёт нужную сцену. Проверьте условия модели и сервиса для вашего реального развёртывания и используйте разрешённые источники вымышленных взрослых; «открытые веса» — не универсальная метка разрешения.
Гибрид может держать массовые статичные изображения персонажей на локальном совместимом конвейере, а отобранный кадр отправлять в размещённую видеомодель. Так вы не покупаете видеомощность ради редких клипов и сохраняете локальные средства контроля, с помощью которых создан персонаж. Держите стоимость изображений и видео раздельно, чтобы дешёвое статичное изображение не скрывало более дорогой следующий этап. Отдельно оценивайте, как видеозадача обращается с контентом: то, что ваш конвейер изображений принимает кадр, не доказывает, что видеомодель анимирует его как задумано.
Считайте стоимость принятого результата
Для размещённой работы разделите счёт за все попытки генерации на материалы, которые проект действительно может использовать. Если двенадцать попыток изображения по $0.010 дают восемь отобранных портретов, стоимость генерации на один отобранный портрет составляет $0.015. Это расчётный пример, а не измеренная доля принятых.
Для локального инференса:
local cost per accepted image =
(booked GPU hours × actual hourly rate + storage + transfer + allocated operations)
÷ accepted imagesБерите оплаченное время ресурса, включая запуск и простой, если режим тарификации их учитывает. Допустим, цена бронирования GPU — $1.20/час:
| Принятые изображения за час | Стоимость вычислений на принятое изображение | Что эта цифра не включает |
|---|---|---|
| 80 | $1.20 ÷ 80 = $0.015 | Хранение, передачу и эксплуатацию |
| 20 | $1.20 ÷ 20 = $0.060 | Те же дополнительные расходы |
Ставка и количества — гипотетические входные данные. Расчёт показывает, как загрузка меняет результат: GPU, которая кажется дешёвой за час, может быть дорогой в пересчёте на пригодный материал, если большую часть часа она простаивает или тратится на отброшенные попытки.
Пример месячной точки безубыточности
При той же размещённой стоимости $0.015 за принятое изображение и допущении $1.20 за час GPU:
$1.20 ÷ $0.015 = 80 принятых изображений за оплаченный час GPU.
Ниже 80 размещённый вариант дешевле по стоимости генерации. Выше 80 локальные вычисления становятся дешевле ещё до хранения, передачи и эксплуатации. Считайте принятые изображения, а не каждый запущенный рендер.
Месячной брони на 720 часов нужно 57 600 принятых изображений, чтобы сравняться с этим размещённым счётом за генерацию до дополнительных расходов. Воркер с масштабированием до нуля оценивается по оплаченным часам, включая тарифицируемые запуск и простой, а не по всему месяцу. Прибавьте эксплуатационные расходы к числителю, прежде чем считать любой из порогов безубыточностью бизнеса.
Считайте только те расходы, которые различаются между вариантами. База данных приложения, нужная обоим, не становится особой статьёй self-hosting. Дополнительное хранилище моделей, мониторинг воркеров или дополнительное время сотрудников — становятся.
Подгоните сравнение под задачу клиента
Для функции портретов 9:16 сохраните одинаковые требования к кадрированию и размер выдачи. Принятое изображение может требовать запрошенное тёмно-синее пальто, читаемое лицо, обе руки в кадре и отсутствие нежелательных надписей. Если локальный путь использует правку по референсу или ручную доработку, включите эту дополнительную работу.
Самые информативные измерения:
- Число принятых: сколько выданных файлов соответствуют требованию продукта.
- Полное ожидание: время от отправки запроса клиентом до поступления пригодного файла.
- Оплаченное время ресурса: то, что тарифицирует провайдер, а не только последний проход инференса.
- Поведение при всплеске: что происходит, когда десять клиентов отправляют запросы одновременно.
Разделяйте тёплые запуски и холодные старты. Бенчмарк, начинающийся с уже загруженных весов, не отражает функцию, которая после каждой тихой паузы запускает свежий воркер. Сравнивайте и эквивалентное качество выдачи: превью за малое число шагов и готовое изображение — разные продукты, даже если размеры совпадают.
Для приложения с повторяющимся персонажем включайте в нагрузку каждую правку сцены, а не считайте только первый портрет. Если одной запрошенной сцене нужны первичная правка и исправление, это две попытки изображения. Попытки видео — ещё одна статья расходов. На вашей собственной GPU эти операции расходуют больше оплаченного времени работы; в размещённой задаче они порождают дополнительные платежи за запросы. Таблица, которая оценивает каждое фото клиента как одну генерацию, занижает обе стороны, когда реальный процесс использует несколько проходов.
Отделяйте преимущество по стоимости от преимущества по продукту. Локальный конвейер может стоить чуть дороже и давать контроль, нужный вашим пользователям. Размещённый конвейер может стоить чуть дороже и сэкономить достаточно времени оператора, чтобы выпустить функцию раньше. Ни один из этих компромиссов не нужно выдавать за универсальную цифру безубыточности.
Видео требует отдельного расчёта. Пропускная способность по изображениям не предскажет, как быстро видеоконвейер выдаст пять секунд движения и звука. Оценивайте видеоконвейер отдельно: его оплаченное время GPU и потребность в памяти нельзя вывести из пропускной способности по изображениям.
Частые вопросы
Self-hosting дешевле, чем API для изображений?
Может быть, при постоянной загрузке. Сравнивайте стоимость принятых файлов, включая отброшенные попытки, оплаченный простой и эксплуатацию. Одной низкой почасовой ставки GPU недостаточно, чтобы говорить об экономии.
Может ли локальная модель Z-Image заменить редактор изображений?
Модель «текст в изображение» создаёт новые изображения по словам. Сохранение загруженного портрета или изменение заданной области требует конвейера правки или кондиционирования, который поддерживает такую операцию. Выбирайте этот конвейер отдельно.
Значит ли self-hosting, что мне нужно покупать GPU?
Нет. Можно арендовать выделенную GPU или развернуть самостоятельно управляемый handler на serverless-воркерах с GPU. У выделенного режима и режима с масштабированием до нуля разные компромиссы между стоимостью простоя и задержкой запуска.
Можно ли хостить изображения у себя, а для видео использовать API?
Да. Это удобная схема, когда статичные изображения нужны часто, а видео — изредка. Сохраните утверждённое изображение, отправьте его в выбранный видеорежим и закладывайте этапы изображения и видео в бюджет отдельно.








