To Img
Gere imagens via OpenRouter e salve-as em mocks/. Aceite um pedido simples ou uma lista de jobs independentes.
Defaults: model=gpt2 (GPT Image 2), resolution=1K e aspect-ratio=16:9. Altere-os somente quando o usuário ou a skill chamadora fornecer outros valores.
Entrada
Pedido simples
Receba:
- o pedido ou
prompt; count, opcional e igual a3quando ausente;input-image, opcional;aspect-ratio, opcional.
Se for uma tela de app, deixe explícito no prompt que a imagem representa um aplicativo usável.
Encontre o maior número já usado em mocks/, adote o próximo como {cycle} e nomeie as variantes:
mocks/{cycle}-a.png
mocks/{cycle}-b.png
mocks/{cycle}-c.png
Não use count como número do ciclo. Variações podem explorar interpretações diferentes da mesma ideia quando o usuário não tiver definido prompts exatos.
Batch
Aceite uma lista de jobs. Cada job contém:
prompt, obrigatório;filename, obrigatório;input-image, opcional;aspect-ratio, opcional.
Exemplo:
Use $to-img com estes jobs:
- filename=mocks/12-dashboard-a.png
prompt="Dashboard operacional do produto..."
aspect-ratio=16:9
- filename=mocks/12-detail-a.png
prompt="Tela de detalhe do mesmo produto..."
aspect-ratio=16:9
input-image=references/style.png
Quando um job fornecer filename, use o path exatamente como recebido. Não procure outro ciclo, não renomeie o arquivo e não combine prompts de jobs distintos.
Geração
- Confirme que cada job possui prompt e destino válidos.
- Crie
mocks/ou os diretórios de destino necessários. - Use
OPENROUTER_API_KEYdisponível no.envdo projeto ou em~/.env. - Execute todas as chamadas independentes em paralelo no cwd do usuário.
- Aguarde todas e confirme que cada arquivo esperado foi criado.
Para cada job, use:
uv run ~/.agents/skills/openrouter-img/scripts/generate_image.py \
--prompt "..." \
--filename "mocks/{cycle}-a.png" \
--model gpt2 \
--resolution 1K \
--aspect-ratio 16:9
Inclua --input-image quando fornecido. Preserve diferenças de prompt, filename, referência e proporção entre jobs. Faça o escaping seguro de prompts e paths ao construir os comandos.
Se algum job falhar, identifique-o pelo filename e preserve os resultados concluídos. Ao terminar, mostre todos os paths gerados e pare.