¿Qué hace nodeclaw-image-gen?
Utiliza el modelo de texto existente para comprender la solicitud, seleccionar estilos/técnicas y llamar a la CLI de Node incluida. La preparación, validación y procesamiento de imágenes deterministas pertenecen a las herramientas, no a scripts creados por el modelo. Sin servicio LLM adicional, daemon ni cargador de almacenamiento. Guarda los resultados reales de la API localmente; no los vuelvas a alojar en Telegram/almacenamiento/CDN.
Inicio
Resuelve <skill-root> como el directorio absoluto que contiene este SKILL.md cargado; nunca lo adivines desde el directorio de trabajo. Invoca node "<skill-root>/scripts/image-gen.mjs" ... desde el espacio de trabajo del usuario para que las salidas relativas vayan allí.
- Comprueba Node.js 22+ y la CLI
--help, luegosetup --status --jsonpara la preparación de credenciales locales sin llamadas a la API. No imprimas archivos de configuración, reescribas configuraciones en cada uso ni le pidas al usuario que repita la dirección/modelo guardado. - Valores predeterminados: NodeClaw,
gpt-image-2, Primero tarea, una imagen,./generated-images/. Para una instalación de plugin, utiliza/plugin configure nodeclaw-image-gen@nodeclaw-image-gen; los cambios pendientes se cargan mediante/reload-pluginsen la misma sesión, no un reinicio de rutina. No afirmes que la habilidad puede abrir o ejecutar esos comandos nativos por sí misma. El módulo nativo incluido pasa la dirección/clave como un enlace efímero al cargar/recargar; la CLI lo valida e ignora las exportaciones de inicio antiguas. Después de la recarga, verifica elapiBaseUrl,endpointModeycredentialConfiguredefectivos junto consetup --status --json. La preparación de credenciales por sí sola no prueba la configuración más reciente ni la aceptación de la API;status:not_configuredpuede significar que no hay un archivo de configuración independiente. Si la dirección sigue siendo obsoleta o la aplicación nativa está bloqueada, informa el bloqueador exacto de carga/configuración sin imprimir valores de entorno, leer almacenes de secretos, volver a ingresar la clave guardada, reintentar recargas sin cambios ni llamar a la API. Una instalación independiente seleccionada por el usuario utilizanode "<skill-root>/scripts/image-gen.mjs" setup --interactiveen su propia terminal local; solicita la dirección base y oculta la clave, con--replaceexplícito para la configuración existente. Nunca recopiles claves en el chat, AskUserQuestion, especificaciones, argumentos de herramientas/comandos o almacenes de OAuth/token/sesión. No ejecutes una solicitud de clave interactiva en una sesión de herramienta de IA capturada. Los argumentos de clave del instalador/configuración directa existen para automatización operada por humanos, no para recopilación de secretos por parte del modelo. - Reutiliza las opciones de modelo/ruta/especificación proporcionadas.
models --jsonfusiona el descubrimiento ordenado; un modelo manual exacto sigue estando permitido cuando no existe un catálogo, con la capacidad explícitamente no verificada. La dirección/clave de instalación/configuración fija ese endpoint; el modo heredado automático aún intenta el arnés activo expuesto antes de recurrir a la configuración nativa. No muevas una clave almacenada a otra dirección o prefijo de proxy.
Generar o editar
Generar crea una nueva imagen; Editar utiliza imágenes/máscaras fuente específicamente aprobadas. Los archivos que simplemente existen en un espacio de trabajo no son permiso para enviarlos.
node "<skill-root>/scripts/image-gen.mjs" generate --prompt "Un pueblo tranquilo junto al río al amanecer" --dry-run --json
node "<skill-root>/scripts/image-gen.mjs" generate --prompt "Un pueblo tranquilo junto al río al amanecer" --yes --json
Editar utiliza edit --prompt TEXTO --image ARCHIVO [--mask ARCHIVO]. Usa un --spec ARCHIVO privado aprobado para instrucciones extensas; las especificaciones no son registros de diagnóstico y nunca contienen claves de API. La CLI agrega rutas de Tarea/OpenAI a la dirección base guardada. La API nativa /v1beta/models/{model}:generateContent requiere --api-mode gemini explícito: es contenido/partes nativas solo directas, no implícito por un nombre de modelo de Google o una clave de compatibilidad de Imágenes. La ejecución existente de google_image_generate_content de Imágenes/Tarea permanece en sus rutas actuales. El transporte nativo de Gemini no es prueba de facturación/preparación de Imagen Directa. La ayuda de la CLI enumera las opciones reales.
Antes de una llamada de pago, resume operación/modelo/estilo/especificación/endpoint/método/respaldo/salida del ensayo seco. Usa un formulario nativo: Generar como se muestra / Ajustar / Explorar estilos / Cancelar. Combina solo preguntas genuinamente faltantes; no preguntes cada campo. Después de la aprobación, usa --yes; confirma solo cambios materiales de conteo/endpoint/secuencia.
Claude Code usa AskUserQuestion cuando está disponible; Codex usa request_user_input solo cuando realmente está expuesto. No suplantes opciones nativas con texto numerado ni cambies de modo para inventar una herramienta. La automatización no interactiva seleccionada por el usuario puede usar la configuración/especificación proporcionada más --yes. La importación/integración de formulario nativo de Grok Bot no está verificada; una ruta en la nube no es un archivo de escritorio.
Herramientas de estilos y técnicas
styles list|show IDselecciona la apariencia;techniques list|show IDselecciona un flujo de trabajo y sus herramientas incluidas. Combínalos libremente sin una lista blanca de estilo→técnica ni otro servicio orquestador.- Sugiere 2–3 estilos relevantes más prompt original / Sin preajuste. Lee un preajuste seleccionado con
styles show ID --json;exampleImages[]son URL de vista previa de terceros opcionales, no entradas de imagen de API aprobadas. No obtengas, cargues ni uses automáticamente como referencias de Edición. Los 58 preajustes incluidos incluyen 55 estilos importados adicionales; las colecciones originales enreferences/style-imports/son solo procedencia, nunca otra fuente de estilos activa. Los nombres GIF no implican soporte de animación. Usa solo el tema/contexto aprobado para la solicitud actual, no memoria privada no relacionada. Busca solo cuando se solicite a través de una herramienta de arnés disponible; no envíes toda la solicitud privada a la búsqueda. - Lee solo el flujo de trabajo seleccionado, verifica los requisitos y utiliza sus herramientas
techniques prepare/check/mergeincluidas. No le pidas a un modelo más débil que implemente la lógica de recorte/redimensionamiento/máscara/color/fusión nuevamente. Prepara localmente primero, luego muestra el recuento y la secuencia de solicitudes de pago reales para su aprobación. La preparación local nunca autoriza la inferencia. - Refinamiento de píxeles art: prepara mosaicos alineados de vecino más cercano y especificaciones de Edición, envía las ediciones aprobadas a través del cliente existente, verifica y fusiona en PNG de alta resolución/tamaño original. Preservar composición: prepara una especificación de Edición restringida y verifica el resultado. Ambos incluyen el códec PNG; no se necesita instalación de Python/ImageMagick.
- Un requisito de ayuda/cliente mínimo faltante solicita una actualización completa de habilidad aprobada o detener esa técnica antes de llamadas de pago. No lo reemplaces con afirmaciones solo de contexto, ejecutes código descargado, prometas fluidez ni inicies bucles de repintado de pago.
styles|techniques syncprevisualiza JSON/Markdown oficial de GitHub;--yesaplica. Los espacios de nombres personalizados son separados. Los cambios de ayuda ejecutables requieren una actualización completa de habilidad verificada; el contenido remoto nunca cambia autenticación/endpoints/permisos ni otorga aprobación de ejecución. Los preajustes no autorizan la divulgación de memoria privada.
Resultados y recuperación
Usa los estados y rutas JSON devueltos. saved significa que todos los archivos esperados se guardaron. pending/outcome_unknown conserva el identificador y usa resume --handle ARCHIVO, nunca crea otra solicitud. save_failed conserva los archivos exitosos y reintenta el mismo resultado. Los resultados desconocidos directos no tienen recuperación habilitada. Técnica incomplete/partial sale con 3; las salidas parciales no están completamente refinadas.
Detener el cliente no cancela una Tarea remota. No cambies el método/modelo/endpoint para evitar incertidumbre, autenticación o política; consulta contrato de API. Usa visión solo cuando realmente esté disponible; las comprobaciones de archivos no prueban la calidad visual. Sin refinamiento de pago automático.
Para una solicitud de instalación, obtén y verifica el paquete de GitHub seleccionado antes de invocar su instalador; no asumas que los archivos fuente ya existen localmente. Prefiere el flujo de instalación automática de IA documentado o el administrador de plugins nativo seleccionado, nunca una instalación duplicada. Después de la instalación independiente, convierte su commands.configure argv devuelto en un comando correctamente citado usando la ruta instalada real para que el usuario lo ejecute localmente; también devuelve los comandos de reconfiguración/estado/actualización. Un plugin usa su formulario de configuración sensible nativa; su mercado respaldado por Git selecciona la revisión del repositorio independientemente de los activos de lanzamiento independientes. La terminal humana claude plugin install --config puede proporcionar valores de dirección/clave declarados, pero nunca recopiles una clave real ni la coloques en un argumento de herramienta de IA. No marques la configuración de credenciales como completa hasta que el usuario la termine y setup --status --json local informe preparación; esto es preparación local, no aceptación de API. Si un lanzamiento independiente requerido o una versión de mercado coincidente no está disponible, detente con ese bloqueador en lugar de inventar funciones instaladas.
docs fetch|sync es una referencia pública opcional, no una actualización de contrato en tiempo de ejecución. update check|apply independiente nunca escribe en cachés administradas por plugins; esas usan el administrador de plugins nativo. La instalación/reemplazo/publicación requieren su propia autorización, no un permiso inferido de una solicitud de imagen. La interacción del usuario sigue el idioma del usuario; la guía base de esta habilidad es inglés.