HiAPI
Блог

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

Kling Transformation Видео API перерисовки стиля: единый визуальный стиль для каждого короткого видео

Используйте kling-3.0-omni/transformation, чтобы придать существующим материалам единый стиль коротких видео — два не связанных между собой исходных видео, один и тот же набор пресетов промптов, оба встроены в статью в виде реальных выходных данных.

Oct 15, 2026
Kling Transformation Видео API перерисовки стиля: единый визуальный стиль для каждого короткого видео

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

kling-3.0-omni/transformation предлагает другой путь: дайте ему существующее видео и промпт, и он перерисует всё изображение — сцену, цветовую гамму, текстуру, субъект — при этом полностью сохраняя исходное движение камеры и тайминг. Именно последнее и важно. Он не перегенерирует ваше видео, а меняет его оболочку. Это значит, что вы можете взять набор не связанных между собой фрагментов, прогнать их все через один и тот же промпт и тем самым принудительно получить единый, согласованный визуальный стиль.

Эта статья —配套 материал по созданию коротких видео к нашему руководству по использованию transformation API. То руководство описывает базовый процесс create → poll → download; эта статья сосредоточена на рабочем процессе, который действительно важен для создателей: приведение серии фрагментов к единому визуальному стилю и пакетная перерисовка всего набора с помощью одного скрипта. Каждое видео ниже — реальный вывод /v1/tasks с точным промптом и стоимостью.

Ключевой приём: переиспользуемый «визуальный пресет»

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

Вся перерисовка управляется исключительно промптом — у этого эндпоинта нет ползунков strength или fidelity. Насколько выходные данные отклоняются от исходного материала, зависит от силы вашего текстового воздействия. Это особенность, а не ограничение: это значит, что ваш промпт и есть пресет. Напишите его один раз, сохраните точную строку и дословно используйте повторно на каждом фрагменте, который хотите привести к соответствию.

Вот промпт, сгенерировавший видео выше, готовый к копированию:

Restyle this video as a hand-painted watercolor storybook illustration:
soft visible brushstroke textures, a warm golden-amber and muted teal
palette, gentle paper grain, softly glowing highlights, and a cozy
picture-book mood. Keep the exact camera motion, framing, timing, and
subject movement from the source clip completely unchanged — change only
the visual style, never the action.

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

Доказательство: один пресет, два не связанных между собой фрагмента

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

Фрагмент A — до перерисовки: бумажный кораблик дрейфует по освещённой неоном городской сточной канаве ночью.

Фрагмент B — до перерисовки: деревянные рыбацкие лодки в туманной гавани на рассвете. Другой субъект, другое время суток, другая цветовая гамма, другой ритм камеры.

А теперь посмотрите на результат перерисовки фрагмента B с тем же пресетом:

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

Перерисовка всей библиотеки материалов: асинхронная пакетная обработка

Любое реальное количество коротких видео означает десятки и сотни фрагментов, а не два. Вы не захотите перерисовывать их блокирующими вызовами по одному. API задач асинхронный, поэтому правильный шаблон такой: сначала отправить все фрагменты разом, затем собирать результаты по мере завершения.

Схема небольшая — в input всего три поля: prompt, video_urls (ровно один публичный исходный URL) и resolution (720p, 1080p или 4k). Ниже — компактный пакетный запускатель, применяющий один пресет к набору фрагментов:

import os, time, json, requests

API = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
HEADERS = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}

PRESET = (
    "Restyle this video as a hand-painted watercolor storybook illustration: "
    "soft visible brushstroke textures, a warm golden-amber and muted teal palette, "
    "gentle paper grain, softly glowing highlights, and a cozy picture-book mood. "
    "Keep the exact camera motion, framing, timing, and subject movement from the "
    "source clip completely unchanged — change only the visual style, never the action."
)

# Your clip library — the SAME preset is applied to every one of them.
SOURCE_CLIPS = [
    "https://example.com/clips/hook-01.mp4",
    "https://example.com/clips/hook-02.mp4",
    # ...dozens more
]

def submit(video_url: str) -> str:
    body = {
        "model": "kling-3.0-omni/transformation",
        "input": {"prompt": PRESET, "video_urls": [video_url], "resolution": "720p"},
    }
    r = requests.post(API, headers=HEADERS, json=body, timeout=60)
    return r.json()["data"]["taskId"]

# 1) Fire off every task first — they run in parallel on the platform.
tasks = {submit(url): url for url in SOURCE_CLIPS}
print(f"submitted {len(tasks)} restyle tasks")

# 2) Poll until each one reaches a terminal state, then grab the output URL.
pending = set(tasks)
outputs = {}
while pending:
    for task_id in list(pending):
        r = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=40)
        data = r.json().get("data", {})
        status = data.get("status")
        if status == "success":
            outputs[task_id] = data["output"][0]["url"]
            pending.discard(task_id)
        elif status == "fail":
            print(f"{task_id} failed: {data.get('error')}")
            pending.discard(task_id)
    if pending:
        time.sleep(8)

# 3) Download immediately — output URLs are short-lived signed links.
for task_id, url in outputs.items():
    dest = f"restyled-{task_id}.mp4"
    with open(dest, "wb") as f:
        f.write(requests.get(url, timeout=120).content)
    print("saved", dest)

Два момента стоит особо выделить — оба подробно разобраны в руководстве: скачивайте выходные данные сразу (возвращаемые URL истекают), а для больших пакетов предпочитайте callback частому опросу, чтобы не нагружать эндпоинт деталей repeatedly.В документации по асинхронным задачам описана структура запроса/ответа.

Практические советы для коротких видео

  • Делайте исходные фрагменты короткими. Стоимость считается по секундам, поэтому короткие хуки и дешевле, и быстрее. Два 3-секундных фрагмента выше в 720p стоят около $0.43 каждый (цены см. ниже).
  • Выбирайте разрешение по платформе, а не по тщеславию. По состоянию на октябрь 2026 года kling-3.0-omni/transformation стоит $0.143 за секунду в 720p, $0.193 за секунду в 1080p и $0.479 за секунду в 4K. Для вертикальной ленты, которая всё равно будет пережата, 720p–1080p — обычно оптимальный диапазон; 4K — для флагманских работ. Всегда сверяйте актуальные цифры на странице цен.
  • Зафиксируйте пресет и не трогайте его. Как только вы начнёте подгонять формулировки под каждый фрагмент, вы потеряете ту согласованность, ради которой и делали перерисовку. Версионируйте строку пресета так же, как код.
  • Движение наследуется, а не создаётся. Длительность и движение выходных данных следуют за исходным фрагментом. Если вам нужно, чтобы модель создавала движение по промпту или статичному изображению, это другой инструмент — см. текст в видео или изображение в видео.

Часто задаваемые вопросы

Могу ли я управлять интенсивностью перерисовки? Не через параметр — поля strength или fidelity отсутствуют. Управляйте через формулировки. Для лёгкой цветокоррекции опишите незначительное изменение цвета/текстуры и подчеркните «остальное оставить как в оригинале»; для полной перерисовки, как в акварельном примере, наслаивайте слова о стиле. Интенсивность перерисовки целиком живёт в вашем промпте.

Сохранит ли он моё исходное движение или переанимирует сцену? Он сохраняет исходное движение и тайминг — это определяющее поведение эндпоинта transformation. Явное положение в промпте «сохранять точное движение камеры и тайминг» это усиливает. Длительность выходных данных соответствует входному фрагменту.

Чем это отличается от изображение-в-видео или референс-в-видео? Изображение-в-видео анимирует статичное изображение в движение; референс-в-видео заимствует элементы из референсных медиа в новом сгенерированном фрагменте. Transformation отталкивается от готового видео и меняет только его стиль, сохраняя движение, которое у вас уже есть. О других режимах см. рецепты промптов для референс-в-видео.

Какие исходные разрешение и длительность лучше всего работают для коротких видео? Подавайте чистый, хорошо освещённый исходный материал — модель перерисовывает то, что видит, поэтому размытый исходник даст размытый результат перерисовки. Держите хуки и B-roll в пределах нескольких секунд; обрабатывайте пакетно множество коротких фрагментов, а не один длинный — и ради стоимости, и ради показанного выше параллелизма по фрагментам.

Могу ли я использовать один пресет во всей серии? Да — в этом и суть. Переиспользуйте абсолютно ту же строку промпта на каждом фрагменте, и они разделят один визуальный стиль. Пакетный скрипт выше именно это и делает: одна константа PRESET, применяемая к каждому исходному материалу в списке.

Дайте вашей ленте единый визуальный стиль

Если ваши короткие видео выглядят так, будто пришли из разных аккаунтов, kling-3.0-omni/transformation — самый быстрый способ свести их вместе: напишите визуальный пресет, примените ко всему и сохраните原生 движение каждого фрагмента. Возьмите тестовый фрагмент, скопируйте акварельный пресет выше (или напишите свой) и запустите его на странице модели kling-3.0-omni/transformation. Когда будете готовы писать пакетный скрипт, в руководстве есть полный клиент.

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

Все статьи →

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

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

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