Guia de uso
API de repintura de estilo de vídeo Kling Transformation: unifique o estilo visual de cada vídeo curto
Use kling-3.0-omni/transformation para reformular seus materiais existentes em um estilo de vídeo curto unificado — dois vídeos de origem não relacionados, o mesmo conjunto de predefinições de prompt, ambos incorporados neste artigo como saídas reais.
Se você publica vídeos curtos, seu maior inimigo não é a criatividade — é a consistência visual. Você grava ou gera clipes em horários diferentes, com iluminações diferentes, de fontes diferentes, e no fim seu feed parece o trabalho de cinco criadores distintos. A solução habitual é passar horas no editor de vídeo ajustando cores e combinando filtros manualmente.
kling-3.0-omni/transformation oferece outro caminho: você entrega um vídeo existente e um prompt, e ele repinta o quadro inteiro — cena, tonalidade, textura, sujeito — preservando integralmente o movimento de câmera e a temporalidade originais. Esse último ponto é o essencial. Ele não regenera seu vídeo; ele troca a camada visual do seu vídeo. Isso significa que você pode pegar um monte de clipes não relacionados, passá-los todos pelo mesmo prompt e forçar um estilo visual único e unificado.
Este artigo é o complemento para produção de vídeos curtos do nosso guia de uso da API de transformation. Aquele guia cobre o fluxo bruto create → poll → download; este artigo foca no fluxo de trabalho que realmente importa para criadores: unificar uma série de clipes sob o mesmo estilo visual e repintar o lote inteiro com um único script. Cada vídeo abaixo é uma saída real de /v1/tasks, acompanhado do seu prompt exato e custo.
A técnica-chave: uma "predefinição visual" reutilizável
Abaixo está um vídeo repintado no estilo de ilustração de livro infantil pintada à mão em aquarela. O material de origem é uma cena noturna monótona e sombria de um barco de papel numa sarjeta urbana — a versão abaixo é o que o modelo retornou:
Toda a repintura é totalmente guiada pelo prompt — este endpoint não tem controles de strength ou fidelity. O quanto a saída se afasta do material de origem depende da força do seu texto. Isso é uma característica, não uma limitação: significa que seu prompt é a predefinição. Escreva uma vez, salve a string exata e reutilize-a literalmente em cada clipe que você quiser combinar.
Aqui está o prompt que gerou o vídeo acima, pronto para copiar e colar:
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.
Note as duas metades. A primeira metade é o estilo visual: tonalidade, textura, atmosfera — a parte que você escreveria no guia de estilo da sua marca. A segunda metade é a instrução rígida de preservar o movimento e a temporalidade. Remova a segunda metade e você escorrega para a regeneração; mantenha-a e você obtém uma troca de camada fiel. Para uma série de vídeos curtos, essa divisão é exatamente o que você quer: o estilo visual se propaga entre os clipes, enquanto o movimento permanece nativo em cada tomada.
Evidência: uma predefinição, dois clipes não relacionados
Uma predefinição de estilo só é útil se continuar funcionando quando aplicada a material para o qual nunca foi projetada. Então aqui estão dois clipes de origem completamente diferentes, repintados com a mesma string de prompt exata acima — nada mudou entre as duas execuções além do vídeo de entrada.
Clipe A — antes da repintura: um barco de papel à deriva numa sarjeta urbana iluminada por neon à noite.
Clipe B — antes da repintura: barcos de pesca de madeira atracados num porto enevoado ao amanhecer. Sujeito diferente, horário diferente, tonalidade diferente, ritmo de câmera diferente.
Agora veja o resultado da repintura do clipe B após aplicar a mesma predefinição:
Colocando as duas saídas de repintura lado a lado, elas soam como um conjunto combinado — a mesma paleta âmbar e verde-azulado, as mesmas bordas com textura de papel, a mesma suavidade de livro infantil — embora uma tenha origem numa noite urbana fria e a outra numa manhã marítima enevoada. Isso é unificação de estilo: materiais não relacionados, uma identidade visual reconhecível. E em ambas as saídas, o movimento original permanece intacto — o barco de papel continua à deriva pelo mesmo caminho, e a tomada do porto continua a panorâmica da mesma forma.
Repintar a biblioteca inteira: processamento em lote assíncrono
Qualquer vídeo curto com volume real significa dezenas ou centenas de clipes, não dois. Você não vai querer repintá-los com uma chamada bloqueante de cada vez. A API de tarefas é assíncrona, então o padrão correto é: enviar todos os clipes de uma vez e depois coletar os resultados conforme forem concluídos.
O schema é enxuto — apenas três campos em input: prompt, video_urls (exatamente uma URL pública de origem) e resolution (720p, 1080p ou 4k). Abaixo está um executor de lote compacto que aplica a mesma predefinição a um conjunto de clipes:
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)
Dois pontos merecem destaque especial, e o guia de uso aprofunda ambos: baixe as saídas imediatamente (as URLs retornadas expiram) e, para lotes grandes, prefira callback em vez de polling frequente, para não sobrecarregar repetidamente o endpoint de detalhes. A documentação de tarefas assíncronas traz a estrutura de requisição/resposta.
Dicas práticas para vídeos curtos
- Mantenha os clipes de origem curtos. O custo é cobrado por segundo, então ganchos curtos são mais baratos e mais rápidos. Os dois clipes de 3 segundos acima custam cerca de $0,43 cada em 720p (preços abaixo).
- Escolha a resolução pela plataforma, não pela vaidade. Em outubro de 2026,
kling-3.0-omni/transformationcusta $0,143 por segundo em 720p, $0,193 por segundo em 1080p e $0,479 por segundo em 4K. Para feeds verticais que serão recomprimidos de qualquer forma, 720p–1080p costuma ser o ponto ideal; 4K para peças principais. Confirme sempre os números atuais na página de preços. - Fixe a predefinição e não mexa mais nela. Assim que você ajusta o texto para cada clipe, perde a consistência que motivou a repintura. Versione a string da sua predefinição como se fosse código.
- O movimento é herdado, não criado. A duração e o movimento da saída seguem o clipe de origem. Se você precisa que o modelo crie movimento a partir de um prompt ou de uma imagem estática, essa é outra ferramenta — veja texto para vídeo ou imagem para vídeo.
Perguntas frequentes
Posso controlar a intensidade da repintura? Não por parâmetro — não há campo strength ou fidelity. O controle é pela redação. Para um ajuste leve de cor, descreva uma mudança sutil de cor/textura e reforce "mantenha o restante com a aparência original"; para uma repintura completa como no exemplo em aquarela, empilhe vocabulário de estilo. A intensidade da repintura existe inteiramente no seu prompt.
Ele preserva meu movimento original ou reanima a cena? Ele preserva o movimento e a temporalidade da origem — esse é o comportamento definidor do endpoint de transformation. A cláusula explícita "mantenha exatamente o movimento de câmera e a temporalidade" no prompt reforça isso. A duração da saída corresponde ao clipe de entrada.
Como isso difere de imagem para vídeo ou de referência para vídeo? Imagem para vídeo anima uma imagem estática em movimento; referência para vídeo empresta elementos da mídia de referência para um clipe recém-gerado. Transformation parte de um vídeo pronto e muda apenas o seu estilo, preservando o movimento que você já tem. Sobre os outros modos, veja as receitas de prompt para referência para vídeo.
Qual resolução e duração de origem funcionam melhor para vídeos curtos? Use material de origem limpo e bem iluminado — o modelo repinta o que consegue ver, então material de origem desfocado gera repintura desfocada. Mantenha ganchos e B-roll com poucos segundos; processe muitos clipes curtos em lote, em vez de um clipe longo, tanto pelo custo quanto pelo paralelismo por clipe mostrado acima.
Posso usar uma predefinição na série inteira?
Sim — essa é exatamente a ideia. Reutilize a mesma string de prompt em cada clipe e eles compartilharão o mesmo estilo visual. O script de lote acima faz exatamente isso: uma constante PRESET, aplicada a cada material de origem da lista.
Dê ao seu feed um estilo visual unificado
Se seus vídeos curtos parecem vir de contas diferentes, kling-3.0-omni/transformation é a forma mais rápida de uni-los: escreva uma predefinição visual, aplique a tudo, preserve o movimento nativo de cada clipe. Pegue um clipe de teste, copie a predefinição em aquarela acima (ou escreva a sua) e execute-a na página do modelo kling-3.0-omni/transformation. Quando estiver pronto para escrever o script de lote, o guia de uso tem o cliente completo.
Artigos relacionados
Ver todos os artigos →-
Guia de uso
Guia de introdução ao seedream-5.0-pro/image-to-image: capacidades, preços e pontos de integração
Limites de capacidade, modelo de cobrança e práticas de integração de engenharia do modelo de edição de imagem da ByteDance
-
Guia de uso
Guia prático do seedream-5.0-pro text-to-image: limites de capacidade, integração via API e controle de custos
Perspectiva prática para desenvolvedores: dos pontos-chave dos parâmetros à estimativa de custo de US$ 0,05 por imagem
-
Guia de uso
Guia de introdução ao Hailuo 2.3 Fast image-to-video: limites de capacidade, preços e práticas de integração
Pontos-chave de seleção e integração do modelo image-to-video MiniMax para desenvolvedores