Para rodar um FLUX.1 Dev LoRA pela API, envie a URL dos pesos e uma escala na lista loras. Para manter o assunto intacto, rode a cena uma vez sem adaptador e depois acrescente o arquivo com a mesma seed, o mesmo guidance e os mesmos passos, mudando apenas a escala da LoRA. Um ponto de partida que funciona é escala 1, guidance 3.5, 28 passos e quadro quadrado. Arquivos de realismo costumam ficar melhores com guidance entre 2.5 e 3. Um controle mais três degraus de escala dão quatro imagens a $0,018 cada, ou $0,072. Guarde o resultado em que os objetos ainda funcionam, não o de aparência mais forte.
A cena trabalhada é um jarro fictício cobalto fosco com uma alça em formato de crescente sobre linho creme.
Decida o que o adaptador deve contribuir
A cena precisa de um jarro legível, um bico curto, uma alça aberta e contato com o linho, com luz suave e textura de cerâmica contida. Se o adaptador acrescentar brilho dramático ou ornamento trabalhado, ele pode estar funcionando e ainda assim estar errado para este briefing.
Para uma versão com personagem adulto, troque o jarro por um adulto fictício de 35 anos, de camisa marinho abotoada, ao lado de uma parede de estúdio lisa, e mantenha pose e roupa idênticas em todas as condições.

Ilustração, não é um resultado do FLUX: o assunto-alvo, com um corpo, uma abertura de alça e um bico curto.
Escolha um arquivo compatível com o FLUX.1 Dev
Um arquivo compatível cita o FLUX.1 Dev como base de treinamento. Uma LoRA de outro lançamento do FLUX, de arquitetura específica para edição, de SDXL, Z-Image ou Qwen-Image vai carregar e quase não mudar nada, então verifique a base primeiro. Use em path um link direto para o arquivo de pesos, não a página que o descreve: uma URL de página é recusado no envio, e um repositório bloqueado que exige login também é recusado no envio.
Por exemplo, o model card de fotorrealismo da XLabs cita o FLUX.1 Dev como base, e o link direto de arquivo usado no código abaixo termina em /resolve/main/lora.safetensors (cerca de 22 MB). O card aplica a licença não comercial do FLUX.1 Dev ao próprio arquivo; leia os termos antes de usar as saídas em trabalho para clientes.
Se o card documentar uma frase-gatilho, coloque-a primeiro no prompt exatamente como está escrita (o card da XLabs não documenta nenhuma). Se ele indicar uma força recomendada, comece por ela; caso contrário use a escada abaixo.
Teste primeiro no Playground
Abra FLUX.1 Dev LoRA texto para imagem na aba Playground, na visão Form, e entre com uma conta com saldo para rodar. Comece pelo controle, uma execução sem pesos:
- Cole o prompt abaixo em Prompt. O FLUX segue prompts longos e específicos, então escreva frases completas. Não há campo de prompt negativo, então diga o que você quer ("one handle", "no lettering") em vez de listar exclusões.
- Defina Aspect ratio como 1:1.
- Em Style LoRAs, pressione Remove item até a lista ficar vazia.
- Abra Advanced parameters e defina Prompt adherence como 3.5, Sampling steps como 28, Output format como PNG e Seed como 17231.
- Rode o modelo e salve a imagem.
One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool behind without overlap. Soft daylight from the left, natural ceramic texture, contact shadow. Square composition, no lettering or extra vessels.
Se esse controle tiver duas alças ou a base flutuando, corrija a cena primeiro: afaste o banquinho da abertura da alça, peça uma vista de três quartos mais clara ou remova o banquinho. Um prompt alterado muda a imagem mesmo com a mesma seed, então mantenha o texto idêntico em todas as execuções seguintes.
Depois acrescente um adaptador. Pressione Add item, cole o link direto dos pesos em LoRA file (um arquivo alcançável e que você tem autorização para usar) e defina Strength como 1. Não mude mais nada e rode de novo. A força 1 aplica o arquivo como seu autor o treinou, e o campo aceita de 0 a 4. Rode 0.8, 1.0 e 1.2 como escada (acrescente 0.5 se 0.8 ainda estiver forte demais): desça na direção de 0.8 se a aparência estiver pesada; estilos de ilustração fortes podem precisar de um pouco acima de 1. Não empilhe três arquivos antes de um deles se provar. Se o arquivo precisar de gatilho, rode também o gatilho sozinho, sem LoRA; o texto sozinho já pode deslocar a imagem base.
Se um arquivo de realismo parecer encerado ou nítido demais, refaça a melhor força com Prompt adherence em 2.5 e a mesma seed. Prompt adherence define o quanto a imagem segue o prompt; não é a força do adaptador.
Depois rode pelo código
O mesmo controle e os três degraus de força, com a seed e todos os outros campos constantes. Instale o Python SDK (pip install spicyapi), defina SPICY_API_KEY no ambiente do servidor e rode:
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
PROMPT = ("One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle "
"on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool "
"behind without overlap. Soft daylight from the left, natural ceramic texture, contact "
"shadow. Square composition, no lettering or extra vessels.")
WEIGHTS = "https://huggingface.co/XLabs-AI/flux-RealismLora/resolve/main/lora.safetensors" # XLabs realism, FLUX.1 Dev; swap in your own file
# 4 images x $0.018 = $0.072
for scale in (None, 0.8, 1.0, 1.2): # None = control with no adapter
task = client.create_task(
model="black-forest-labs/flux-1-dev-lora/text-to-image",
input_data={
"prompt": PROMPT,
"aspect_ratio": "1:1",
"loras": [] if scale is None else [{"path": WEIGHTS, "scale": scale}],
"guidance_scale": 3.5,
"steps": 28,
"seed": 17231,
"output_format": "png",
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before running more images")
print(scale, assets[0]["url"]) # copy the image to your own storage nowCriação, espera, download, novas tentativas e códigos de erro estão no guia de tasks e na referência do Python SDK. Os pesos são baixados em cada job, então a primeira chamada com um arquivo grande é mais lenta que uma execução comum (veja Rode sua própria LoRA em uma API hospedada).
Ou deixe um Agent rodar
Quando um assistente deve fazer a comparação, as três ferramentas oficiais mostram o preço e pedem confirmação antes de uma chamada paga.
- CLI. Coloque o objeto
inputde uma condição eminput.jsone então:
``bash spicyapi tasks create --model black-forest-labs/flux-1-dev-lora/text-to-image --input-file input.json --wait ``
Veja a documentação da CLI; npx @spicyapi/cli funciona sem instalar.
- Servidor MCP. Adicione o servidor MCP ao seu assistente e peça: "Run FLUX.1 Dev LoRA with this prompt, seed 17231, no LoRA, then again with this weights link at strength 0.8, 1 and 1.2." Ele chama
spicyapi_task_create, que para na confirmação de preço, e depoisspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstala o Agent Skill, que faz um assistente de programação ler o esquema real do modelo em vez de adivinhar campos.
Não confunda os controles
| Controle | Faixa na tarefa de texto para imagem | Uso nesta comparação |
|---|---|---|
loras (Style LoRAs) | até 3, cada um com path e scale | Comece com um; o controle sem arquivo usa [] |
| Escala da LoRA (Strength) | 0–4, 1 aplica o arquivo como treinado | Varie este valor mantendo as demais configurações |
guidance_scale (Prompt adherence) | 0–20, padrão 3.5 | Deixe em 3.5; tente 2.5 para realismo encerado |
steps (Sampling steps) | 1–50, padrão 28 | Deixe em 28 para evitar outra condição variável |
seed | 0–2147483647 | Mantenha 17231 para as execuções continuarem comparáveis |
| Formatos | JPEG (padrão), PNG, WebP | PNG |
A tarefa oferece nove proporções de tela (de 21:9 a 9:21, todas com cerca de um megapixel e o mesmo preço), mas não tem resolução nem campos independentes de largura e altura, não tem entrada de imagem nem máscara. Uma entrada com scale: 0 ainda pode buscar o arquivo, então não substitui o controle com lista vazia.
Conserte um experimento de adaptador que falhou
| Problema | Próximo passo concreto |
|---|---|
| Requisição recusada ou falha depois | Confirme se path retorna o arquivo .safetensors sem login, e não uma página de model card. Um host digitado errado ou um arquivo que some depois é aceito no envio e falha em seguida. |
| A imagem quase não muda | Confirme se a base do arquivo é FLUX.1 Dev e se o gatilho exigido está no início do prompt; depois aumente a escala em 0.2. |
| O estilo sufoca o objeto | Reduza a escala na direção de 0.8 ou 0.6. |
| O realismo parece encerado | Baixe o guidance para 2.5 com a mesma seed. |
| A alça fica maciça ou duplicada | Baixe a escala ou rejeite esse arquivo para este assunto. |
| O gatilho sozinho produz a aparência | A aparência vem das palavras, não do arquivo; julgue o arquivo só pelo que ele acrescenta além da imagem com apenas o gatilho. |
| O estilo é útil, mas a forma do produto muda | Use o editor com máscara (próxima seção) ou componha a camada do produto. |
Compare o recipiente, a borda da alça e a parede no mesmo tamanho de exibição e escolha pelo tratamento e pela estrutura utilizável, não por quanto mudou.
Use o editor quando uma fonte precisa guiar a imagem
FLUX.1 Dev LoRA edição é uma segunda tarefa no mesmo modelo, também a $0,018 por imagem. Exige image_url e prompt e aceita a mesma lista loras, o mesmo guidance e os mesmos passos. Dois controles são novos: strength (de 0 a 1, padrão 0.8), que define o quanto o resultado se afasta da fonte, e um mask_url opcional, uma imagem em preto e branco do mesmo tamanho em que o branco é redesenhado e o preto é mantido. Fonte e máscara são limitadas a 10 MB cada, e ambas podem ser um link público para o arquivo.
No padrão 0.8 a pose e o layout se mantêm; por volta de 0.95 o modelo redesenha quase tudo. Comece em 0.8 e avance em passos de 0.05, mudando por execução apenas a força ou a escala da LoRA: se a fonte aparecer, aumente; se a forma derivar, reduza. Com máscara, use de 0.9 a 1 para que a área branca realmente mude, e descreva apenas o que pertence à área branca.
Um uso prático para este briefing: mantenha o jarro que você aprovou e reestilize tudo ao redor dele. No Playground, abra a tarefa de edição, coloque a imagem de controle em Input image, pinte a parede e o linho de branco e o jarro de preto em uma imagem do mesmo tamanho e adicione-a em Advanced parameters como Mask, depois defina Transformation strength como 0.95, acrescente seus pesos em Style LoRAs e use um prompt apenas para o novo tratamento: "Cream linen with deep folds and a quiet plaster wall, soft daylight from the left, restrained film grain." Mantenha a seed, Prompt adherence em 3.5 e Sampling steps em 28 do controle. Em requisições de API os mesmos campos são image_url, mask_url, strength e loras no modelo black-forest-labs/flux-1-dev-lora/edit.
Suavize a borda da máscara ou siga o contorno do objeto; um retângulo duro deixa uma emenda visível. A edição segue a forma da fonte, então não há campo aspect_ratio, e o resultado volta com cerca de 0.7 megapixels (uma fonte de 1024 x 1536 volta como 672 x 1008), menor que um quadro de texto para imagem. Quando os pixels exatos do produto forem obrigatórios, mantenha a camada original do produto sobre um fundo preparado separadamente e trate essa composição como acabamento.

Materiais de referência do briefing: uma fotografia, um desenho e amostras de esmalte.
Conteúdo adulto: o que a LoRA muda e o que não muda
O FLUX.1 Dev LoRA é um caminho sem censura: a SpicyAPI não adiciona filtro de conteúdo da plataforma, e LoRAs voltadas a adultos carregam e são renderizadas. Carregar uma LoRA não define o escopo de conteúdo; o modelo base ainda decide o que volta. Com base nos nossos testes de setembro de 2026, o modelo puro entregou imagens NSFW sugestivas e de tronco superior a partir de texto, e suavizou pedidos de figura inteira e de duas pessoas. Com uma LoRA para adultos carregada, o teste mais forte produziu imagens NSFW avançadas, mas nunca a cena de intensidade máxima. Na edição, um pedido de tronco superior sobre um retrato vestido voltou como pedido em strength 0.95 (com ou sem LoRA) e em 1 com máscara, mas foi suavizado em 0.85, então aumente a strength antes de trocar de modelo. FLUX é sem censura? traz os resultados nível por nível.
Uma LoRA de estilo fotográfico muda a aparência, não o escopo de conteúdo. Use apenas adultos fictícios ou pessoas com consentimento documentado.
Para onde ir depois
Deixe a LoRA de fora se a execução pura já atende ao briefing. Para verificar um arquivo novo quanto a links quebrados e pesos inertes em toda uma biblioteca, veja Rode sua própria LoRA em uma API hospedada. Para o mesmo método de controle primeiro em outra base, veja o teste Z-Image Turbo LoRA com a mesma seed.






