Gerar imagens a partir de prompts de texto
🤖/image/generate gera imagens a partir de prompts de texto usando IA.

Exemplo de uso
Faça o preenchimento de uma imagem por inpainting: faça upload de uma imagem original e de uma imagem de máscara e, em seguida, use ambos os arquivos em /image/generate:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"inpainted": {
"format": "png",
"model": "google/nano-banana-pro",
"prompt": "Replace the masked area with a breaching whale. Keep the rest of the image unchanged.",
"robot": "/image/generate",
"use": [
{
"as": "image",
"name": ":original"
},
{
"as": "mask",
"name": ":original"
}
]
}
}
}Parâmetros
interpolateboolean | Record<string, boolean>Controla se as Assembly Variables são interpoladas em campos individuais de instruções.
Por padrão, a maioria dos campos de instruções dos Robots interpola Assembly Variables. Defina isso como
falsepara tratar todos os campos de instruções como texto literal, ou defina o caminho de um campo individual comofalsepara tratar apenas esse campo como texto literal. Para campos específicos de um Robot que são literais por padrão, defina isso comotrueou defina o caminho desse campo comotruepara voltar a usar a interpolação.Use nomes de campos como
pathou caminhos com pontos comoffmpeg.vfpara objetos aninhados.output_metaRecord<string, boolean> | boolean | Array<string>Permite especificar um conjunto de metadados cujo cálculo exige mais CPU e que, por isso, vem desativado por padrão para manter o processamento das suas Assemblies rápido.
Para imagens, você pode adicionar
"has_transparency": trueneste objeto para extrair se a imagem contém partes transparentes e"dominant_colors": truepara extrair um array de códigos de cores hexadecimais da imagem.Para imagens, você também pode adicionar
"blurhash": truepara extrair uma string BlurHash — uma representação compacta de um placeholder da imagem, útil para exibir uma prévia desfocada enquanto a imagem completa carrega.Para vídeos, você pode adicionar o parâmetro
"colorspace": truepara extrair o espaço de cores do vídeo de saída.Para vídeos, você também pode adicionar
"interlaced": truepara detectar se o vídeo é entrelaçado. Isso combina a flag computacionalmente baratafield_orderdo ffprobe com uma passagem de amostragemidetlimitada sobre os primeiros quadros da origem, expondointerlaced,field_ordere um objeto de diagnósticointerlace_detectionemfile.meta. Isso é computacionalmente caro e cobrado de acordo.Para áudio, você pode adicionar
"mean_volume": truepara obter um único valor que representa o volume médio do arquivo de áudio.Você também pode definir isso como
falsepara pular a extração de metadados e acelerar a transcodificação.user_metaRecord<string, any>(padrão:{})Adiciona metadados JSON personalizados a cada arquivo emitido sem modificar seu conteúdo. Objetos e arrays aninhados são suportados.
A herança depende do Robot. Os valores são mesclados com o
user_metaexistente no arquivo de saída; o Step atual substitui as chaves de nível superior com o mesmo nome. Atribua explicitamente as chaves necessárias quando um Robot criar novas saídas.Nos Steps de processamento,
${file.*}se refere à primeira entrada e${result.*}ao arquivo emitido. Os valores são avaliados para cada saída após a execução do Robot, antes da extração subsequente de metadados e do armazenamento temporário. Em:original, os valores são avaliados para cada upload antes da extração de metadados.Os Steps subsequentes leem
${file.user_meta.key}. Consulte Metadados personalizados para ver um exemplo completo e as regras de herança.resultboolean(padrão:false)Se os resultados deste Step devem estar presentes no Assembly Status JSON
queuebatchDefinir a fila como “batch” rebaixa manualmente a prioridade dos Jobs deste Step, para evitar o consumo de vagas prioritárias de Jobs em Jobs que não precisam de tempo zero de espera na fila
force_acceptboolean(padrão:false)Forçar um Robot a aceitar um tipo de arquivo que ele teria ignorado.
Por padrão, os Robots ignoram arquivos que não conhecem. O 🤖/video/encode, por exemplo, ignora tranquilamente imagens de entrada.
Com o parâmetro
force_acceptdefinido comotrue, você pode forçar os Robots a aceitar todos os arquivos enviados a eles. Isso normalmente leva a erros e só deve ser usado para depuração ou para lidar com casos extremos.ignore_errorsboolean | Array<meta | execute>(padrão:[])Ignorar erros durante fases específicas do processamento.
Definir isso como
["meta"]fará com que o Robot ignore erros durante a extração de metadados.Definir isso como
["execute"]fará com que o Robot ignore erros durante a fase principal de execução.Definir isso como
trueequivale a["meta", "execute"]e fará com que erros sejam ignorados nas duas fases.usestring | Array<string> | Array<object> | objectEspecifica quais Steps usar como entrada.
Para inpainting, forneça tanto a imagem de origem quanto a máscara por meio de
use, normalmente assim:{ "use": [ { "name": ":original", "as": "image" }, { "name": ":original", "as": "mask" } ] }Boas práticas:
- Marque explicitamente as entradas de origem e de máscara usando
as(ou nomes semânticos de campo de upload) - Mantenha o prompt focado no que deve mudar na região mascarada/transparente
- Deixe a escolha de modelo para os padrões do Robot, a menos que você tenha uma necessidade específica
- Marque explicitamente as entradas de origem e de máscara usando
modelstringModelo de IA a ser usado. O padrão é
google/nano-banana. Os modelos compatíveis incluemflux-1.1-pro-ultra,flux-schnell,recraft-v3,google/nano-banana,google/nano-banana-2,google/nano-banana-pro,openai/gpt-image-2estability-ai/stable-diffusion-inpainting. O alias legadogpt-image-2também é aceito para compatibilidade com versões anteriores.prompt— obrigatóriostringPrompt que descreve a imagem desejada. Para inpainting, descreva o que deve aparecer na região mascarada/transparente e indique que o restante deve permanecer inalterado.
formatjpeg | jpg | png | gif | webp | svgFormato de saída. Os padrões dependem do modelo: png para os modelos do Google e openai/gpt-image-2, svg para recraft-v3, jpeg para os demais. Atualmente, os modelos do Google retornam apenas PNG.
seedstring | numberSemente para o gerador de números aleatórios.
aspect_ratiostringProporção de saída solicitada. Para os modelos do Google, também é possível usar largura/altura, e a orientação é derivada automaticamente quando aspect_ratio é omitido.
heightstring | numberAltura de saída solicitada em pixels (usada principalmente pelos modelos de imagem do Google e openai/gpt-image-2).
widthstring | numberLargura de saída solicitada em pixels (usada principalmente pelos modelos de imagem do Google e openai/gpt-image-2).
stylestringEstilo da imagem gerada.
num_outputsstring | numberNúmero de variantes de saída a gerar (de 1 a 10).