Usa esta skill cuando el usuario pida generar una imagen, ilustración, render, retrato, escena o composición visual.
Cuando el usuario use /imagen, eso es una orden directa para generar una imagen.
No intentes:
imagenopenclaw skills invokeopenclaw imagenSKILL.mdjournalctlTu trabajo es:
Si el usuario usa /imagen o pide generar una imagen, ejecuta directamente el comando base de esta skill.
Ejecuta una sola llamada directa al script (sin python3 delante):
{baseDir}/scripts/gen_openrouter.py ...No intentes leer, listar o buscar SKILL.md con read, ls, find o rutas tipo ~/.openclaw/....
No hagas comandos previos de verificación ( ls, cat, find, test, stat, which).
No pidas confirmación para "usar la skill"; úsala directamente.
Solo informa que la skill no está disponible si la ejecución devuelve un error real de script no encontrado ( ENOENT).
No intentes escribir ni mover archivos a /workspace/media/outbound ni usar adjuntos automáticos.
Esta skill debe usar siempre este script base:
text
{baseDir}/scripts/gen_openrouter.py --quality <cheap|medium|good|top> --prompt "<prompt>" --workspace-dir . --timeout 300
Debes usar --workspace-dir . y --timeout 300 de forma explícita.
--workspace-dir . hace que el script use el workspace actual del agente como raíz de salida.
Añade --size solo si el usuario especifica:
1K2K4K1920x1080Añade --aspect-ratio solo si el usuario especifica:
1:12:33:23:44:34:55:49:1616:921:9Si el usuario no especifica tamaño, ratio ni resolución exacta, no envíes ninguno de esos parámetros. Deja que el modelo/proveedor use sus valores por defecto.
No uses otras rutas de salida. No inventes otras herramientas. No cambies el timeout salvo que el usuario lo pida expresamente. No guardes la imagen dentro de la carpeta física compartida de la skill. La salida debe quedar dentro del workspace actual del agente. Ruta por defecto:
text
./skills/imagen/out
No uses la carpeta global compartida de skills fuera del workspace.
y . significa el workspace actual del agente.
Acepta:
/imagen <prompt>/imagen cheap <prompt>/imagen medium <prompt>/imagen good <prompt>/imagen top <prompt>También acepta que el usuario combine calidad, tamaño y ratio en cualquier orden razonable, por ejemplo:
/imagen good 2K 16:9 un coche futurista en una autopista/imagen 4K 1:1 un retrato de un samurái/imagen top 1920x1080 una ciudad cyberpunk al amanecerSi aparece una calidad explícita ( cheap, medium, good, top), úsala.
Si aparece un tamaño explícito ( 1K, 2K, 4K), úsalo.
Si aparece un ratio explícito ( 1:1, 16:9, 4:3, 3:2, 9:16, 21:9, 2:3, 3:4, 4:5, 5:4), úsalo.
Si el usuario da una resolución exacta tipo 1920x1080, 1024x1024, 2048x2048 o similar:
Todo lo que no sea calidad, tamaño o ratio debe considerarse parte del prompt.
Si no hay pista de calidad, usa las reglas automáticas.
Si no hay pista de tamaño, no envíes --size.
Si no hay pista de ratio, no envíes --aspect-ratio.
Interpreta también estas variantes:
Estas reglas se aplican tanto a /imagen <prompt> sin nivel explícito como a peticiones en lenguaje natural.
cheap cuando:#Ejemplos:
/imagen un gato samuráigenérame una imagen de una cabaña en el bosquehazme una imagen de un perro astronautamedium cuando:#Ejemplos:
/imagen una ciudad futurista con más detallehazme una imagen un poco mejor de una casa junto al lagogenera una imagen más cuidada de una moto retrogood cuando:#Ejemplos:
/imagen un retrato más realista de una violinista bajo lluvia neóngenérame una imagen mejor de un castillo flotantehazme una imagen más pro de un dragón sobre una montañatop cuando:#Ejemplos:
/imagen top un dragón cinematográfico sobre una ciudad futurista al amanecerquiero una imagen con máxima calidad de una nave espacial orgánicahazme la mejor versión posible de un retrato hiperrealistaOpenRouter usa estos parámetros:
image_size: 1K, 2K, 4Kaspect_ratio: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9Respétalo.
Ejemplos:
1K2K4KRespétalo.
Ejemplos:
1:116:94:33:29:1621:9Si el usuario da una resolución exacta tipo ancho x alto, por ejemplo:
1024x10241920x10802048x20481536x1024768x1344haz lo siguiente:
1K2K4KSi el usuario no especifica nada:
image_sizeaspect_ratioDeja que el modelo/proveedor use sus valores por defecto.
Si el usuario pide una imagen sin slash command, aplica estas reglas:
Además:
1K, 2K o 4K, usa ese tamaño1:1, 16:9, 4:3, 3:2, 9:16, 21:9, usa ese ratioEl script:
~/.openclaw/openclaw.jsonagents.defaults.imageModel.primary y fallbacksskills/imagen/outDebes invocar el script con exec, con --workspace-dir . y con --timeout 300.
Ejemplo válido:
text
{baseDir}/scripts/gen_openrouter.py --quality good --prompt "un perro astronauta tomando café" --workspace-dir . --timeout 300
Ejemplo válido:
text
{baseDir}/scripts/gen_openrouter.py --quality medium --prompt "una ciudad futurista con más detalle" --workspace-dir . --size 2K --aspect-ratio 16:9 --timeout 300
Ejemplo válido:
text
{baseDir}/scripts/gen_openrouter.py --quality top --prompt "un dragón cinematográfico sobre una ciudad futurista al amanecer" --workspace-dir . --size 4K --aspect-ratio 16:9 --timeout 300
cheap, medium, good y top.--size.--aspect-ratio.imagen.{baseDir}/out.--workspace-dir ..Si la generación funciona:
media/outbound./skills/imagen/out/OUTPUT_FILE) y un resumen breveFormato recomendado:
Imagen generada (cheap · black-forest-labs/flux.2-klein-4b)Imagen generada (medium · sourceful/riverflow-v2-fast · 2K · 16:9)Imagen generada (good · black-forest-labs/flux.2-pro)Imagen generada (top · openai/gpt-5-image-mini · 4K · 16:9)Si la petición de imagen venía dentro de un mensaje con más cosas, la imagen debe ir con la respuesta normal en el mismo mensaje final, no como una respuesta separada sin contexto.
Ejemplo:
skills/imagen/out del workspace actual del agente.Si falla:
No he podido generar la imagen con ese nivel. Prueba otra vez o cambia de calidad.openclaw.json, esta skill debe seguir funcionando sin editarse.skills/imagen/out.