Você anexa um LoRA e recebe um retrato pronto, mas idêntico ao do modelo base. Um trabalho concluído com sucesso não mostra, por si só, se o adaptador influenciou a imagem. Para descobrir, execute o mesmo prompt com a mesma seed três vezes: duas sem LoRA e uma com ele. As três saídas custam $0,036, a $0,012 por imagem. Compare-as para ver se a mudança de estilo ou de identidade pretendida aparece além da variação normal do modelo base.
Essa segunda pergunta é a mais importante em trabalhos voltados a adultos. O modelo base já renderiza briefings maduros sem filtro, então um resultado mais explícito com um adaptador pode vir do modelo base. Só o controle diz o que vem de onde.
Experimente primeiro no Playground
Abra o Playground do z-image-turbo-lora na Form view e defina os mesmos valores nas três execuções:
- Cole um prompt simples de retrato em Prompt, defina Aspect ratio como 1:1, Output format como PNG e Seed como 42. A compressão JPEG adiciona ruído a uma comparação de pixels.
- Em Style LoRAs, use Remove item até a lista ficar vazia e execute duas vezes. Esses são os seus dois controles.
- Escolha Add item, cole o link direto do
.safetensorsem LoRA file, deixe Strength em 1 e execute uma vez. (O Playground chama a escala do LoRA de "Strength"; o campo da API éscalee não é o controlestrengthde imagem para imagem descrito mais abaixo.) - Coloque as três saídas lado a lado: a mudança de estilo ou de identidade pretendida aparece além da diferença entre os dois controles?
O adaptador Realism pode causar uma mudança sutil em um retrato que já é fotográfico. Para uma primeira checagem mais visível, escolha um LoRA pictórico ou de correção de cor compatível com Turbo e a palavra-gatilho do autor. Uma diferença pequena com o Realism não significa que o carregamento falhou.
Execute a checagem de três trabalhos pela API
Para medir a diferença em vez de avaliá-la a olho, execute os mesmos três trabalhos em Python. Instale spicyapi e pillow, defina SPICY_API_KEY e execute:
import os
import uuid
import urllib.request
from io import BytesIO
from PIL import Image, ImageChops, ImageStat
from spicyapi import SpicyClient, output_assets
client = SpicyClient()
MODEL = "alibaba/z-image-turbo-lora/text-to-image"
inputs = {"prompt": "Realism, studio portrait of a woman in a burgundy blazer, soft window light, grey backdrop",
"aspect_ratio": "1:1", "output_format": "png", "seed": 42,
"loras": [{"path": "https://huggingface.co/suayptalha/Z-Image-Turbo-Realism-LoRA/resolve/8dc179cb56844d4ddc6e4527c30e98347eeae971/pytorch_lora_weights.safetensors", "scale": 1}]}
images = []
for name, loras in [("base-1", []), ("base-2", []), ("lora", inputs["loras"])]:
body = {**inputs, "loras": loras}
quote = client.quote_task(model=MODEL, input_data=body)
if input(f"{name}: maximum ${quote['maxCharge']}. Create? [y/N] ") != "y":
raise SystemExit("Stopped")
task = client.create_task(model=MODEL, input_data=body, idempotency_key=str(uuid.uuid4()),
quote_id=quote["quoteId"], expected_cost=quote["estimatedCost"])
final = client.wait_for_terminal(task["taskId"])
url = output_assets(final)[0]["url"]
request = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
data = urllib.request.urlopen(request, timeout=120).read()
open(name + ".png", "wb").write(data)
images.append(Image.open(BytesIO(data)).convert("RGB"))
for label, other in [("control gap", images[1]), ("LoRA gap", images[2])]:
diff = ImageStat.Stat(ImageChops.difference(images[0], other)).mean
print(label, sum(diff) / 3 / 255 * 100)O SDK Python cobre o tratamento de tarefas. Use um arquivo LoRA direto e fixado em uma versão, junto com a palavra-gatilho do autor; trocar o arquivo entre os controles invalida a comparação. Uma mesma seed ainda pode gerar pixels diferentes, então compare os dois controles antes de interpretar a pontuação do adaptador.
Leia o resultado
| Controle contra LoRA, comparado a controle contra controle | O que significa | O que fazer |
|---|---|---|
| Praticamente igual ao nível de ruído, e as imagens parecem iguais | Nenhum efeito visível do adaptador neste prompt | Verifique a base para a qual ele foi treinado, a palavra-gatilho e o tipo de arquivo (abaixo); depois use a escala recomendada pelo autor do arquivo e, se não houver, compare 0,5, 1 e 1,5 |
| Claramente acima da diferença entre controles (inclusive controles sem diferença), visual pretendido presente, sujeito intacto | Indício do efeito pretendido do adaptador; confirme em mais seeds | Mantenha-o; repita em outras duas ou três seeds |
| Muito acima do nível de ruído, mas sujeito, rosto ou enquadramento mudaram | Mudança grande, mas ainda não um resultado útil | Compare escalas mais baixas, como 0,8 e 0,6, com o mesmo controle |
| O controle já corresponde ao seu briefing | O adaptador não acrescenta nada de que você precise | Deixe-o de fora; um LoRA é um controle de estilo ou identidade, não uma exigência |
Os números servem de triagem; quem decide são os seus olhos. Um pequeno deslocamento de câmera move muitos pixels, enquanto um rosto alterado move poucos; por isso, observe identidade, estilo, enquadramento e qualquer figurino ou objeto que você não pediu antes de confiar em uma porcentagem. As porcentagens não são limites válidos para outros arquivos ou tamanhos. Em cenas para adultos, distinga também uma recusa de uma imagem concluída, mas atenuada: ela é cobrada e pode parecer bem acabada mesmo sem atender ao briefing.
Por que um LoRA não faz nada
Se o trabalho foi concluído, mas você não vê o efeito pretendido, siga esta ordem:
- Compatibilidade não documentada. Prefira um arquivo específico para Turbo, ou um arquivo treinado no Base cujo autor documente a compatibilidade com o Turbo. Adaptadores treinados no Base não são substitutos automáticos. Siga as configurações do autor para o Turbo e execute o controle sem LoRA em vez de supor que uma escala maior resolve a incompatibilidade.
- Tipo de adaptador errado. O LoRA padrão é o formato seguro. Um relato do ComfyUI descreve adaptadores LoKR para o Z-Image Turbo sendo registrados como "lora key not loaded" e ignorados, enquanto os LoRAs padrão funcionavam (ComfyUI issue 10973); esse é um relato sobre o carregador local do ComfyUI. Use aqui um LoRA padrão para Turbo em vez de supor que o endpoint aceita arquivos LoKR.
- Palavra-gatilho ausente. Arquivos de estilo e de personagem respondem à sua palavra-gatilho. Comece o prompt com ela.
- Escala baixa demais ou arquivo sutil. Varie 0,5, 1 e 1,5 mantendo todo o resto fixo.
- Problemas de link. Uma URL de página ou um arquivo privado falha no envio ou depois dele; use um arquivo de modelo direto e acessível.
Imagem para imagem tem dois controles
A tarefa de imagem para imagem acrescenta image_url, resolution e um strength separado (de 0 a 1, padrão 0,8) que controla o quanto o resultado pode se afastar da sua imagem de origem: valores baixos mantêm mais influência da origem, enquanto valores próximos de 1 permitem mais mudança. Não existe uma configuração universal que preserve um rosto; valores acima de 1 são rejeitados. Mantenha strength fixo junto com a seed enquanto testa scale, ou você não saberá qual controle mexeu na imagem.
Qual caminho escolher para trabalhos voltados a adultos
Em nossos testes de setembro de 2026 sem LoRA, o texto para imagem entregou todas as 18 requisições, de cenários sugestivos a explícitos. A imagem para imagem entregou 15 de 18: suas três edições de ações íntimas omitiram o ato pedido, embora as sondagens mais extremas tenham sido concluídas. O resultado depende da tarefa e da cena, não simplesmente do rótulo do nível. Portanto, comece pelo texto para imagem quando puder escrever a cena do zero e use imagem para imagem quando um retrato ou uma composição existente precisar sobreviver. Um LoRA então acrescenta um visual ou um personagem sobre qualquer um dos dois; a avaliação do modelo traz os resultados por classe.

Retrato de vestido esmeralda com três reflexos coloridos no espelho; compare com um controle equivalente sem LoRA ao julgar a contribuição do adaptador.
Guarde um registro de uma linha
Armazene junto de cada imagem o prompt, a seed, a proporção, a lista {path, scale}, strength se usado e a URL de saída. Fixe cada path em uma versão de arquivo que não possa mudar: uma URL da comunidade pode continuar funcionando enquanto o autor substitui os pesos, e um commit fixado identifica a versão do adaptador usada em cada execução.

Uma ilustração editorial da etapa de revisão: a mesma pessoa em três tratamentos facilita avaliar a mudança de estilo.
FAQ
A mesma seed gera uma imagem idêntica pixel a pixel?
Não de forma confiável. Repita o trabalho sem LoRA e meça-o em relação ao primeiro antes de confiar em qualquer diferença atribuída ao LoRA.
Posso testar três LoRAs ao mesmo tempo?
Você pode carregar até três por requisição, mas teste um primeiro. Com vários arquivos, não dá para saber qual causou o desvio. Adicione o segundo com escala em torno de 0,5 e aumente-a até o visual dele aparecer.
Anexar um LoRA libera conteúdo mais forte?
Não por si só: atribua ao adaptador apenas o que aparecer em comparação com o controle.
O Z-Image Turbo oferece suporte a LoRA?
Sim. Cada requisição aceita até três LoRAs, cada um um link direto para um arquivo .safetensors documentado como compatível com o Z-Image Turbo, com scale de 0 a 4 (padrão 1). O endpoint carrega pesos; não os treina. Treine os pesos separadamente; o guia da API de LoRA hospedada explica como fornecer o arquivo finalizado.
Quanto custa?
Carregar o LoRA não acrescenta nenhuma taxa separada pelo adaptador. A cotação ao vivo confirma o total antes de cada tarefa.
Que escala devo usar?
Use a faixa recomendada pelo autor. Se não houver, o padrão da plataforma é 1; compare 0,5, 1 e 1,5 com o mesmo prompt e a mesma seed. Se o sujeito desviar, reduza a escala. Aumentá-la não é uma correção universal para um arquivo treinado em outra base.
Se você já tem um arquivo do Z-Image Turbo, execute a checagem de três trabalhos em texto para imagem antes que um lote dependa dele.
Deixe um Agent cuidar da chamada
Use um Agent quando quiser que ele prepare as entradas e devolva o resultado enquanto você aprova o preço e as escolhas criativas.
- CLI: com o mesmo objeto de entrada salvo como
input.json, usenpx @spicyapi/cli tasks create --model alibaba/z-image-turbo-lora/text-to-image --input-file input.json --wait. A CLI confirma o preço; guarde o ID da tarefa retornado para recuperação. - MCP: peça ao seu assistente que use
spicyapi_task_createparaalibaba/z-image-turbo-lora/text-to-imagee depoisspicyapi_task_wait. O servidor MCP solicita confirmação do preço antes da criação. - Skill: instale com
npx skills add spicyapi-ai/spicy-skille peça: "Use the spicyapi skill to run this three-job check and stop for my approval." A Skill usa uma conexão CLI ou MCP já configurada.





