Paquete · Librería
jw-gen
Generación con difusión, uso personal
Construido en la Fase 38 con política LOAD-BEARING: cada output a disco pasa por watermark + EXIF/XMP + disclaimer.txt sibling. Tres safety filters no-negociables: anti-logos-JW, voice-cloning con doble opt-in, realistic-faces stylized por defecto. MCP tool fuerza watermark=True silenciosamente — un cliente remoto no puede desactivarlo. Audit log guarda sha256(prompt), nunca prompt en claro. Property test con 100 prompts adversariales detectó (y corrigió) un bypass real durante desarrollo: 'Despertai logo'.
Funcionalidades
Lo que hace, en detalle.
Image providers (5)
NanoBanana 2 (Gemini), Flux 2 Pro (BFL), Recraft v4, Ideogram v3, Imagen 4. Cada uno con FakeImageProvider hermano para tests offline. Default routing por env JW_GEN_IMAGE_PROVIDER.
Audio providers (3)
ElevenLabs (TTS+music), Suno (music), MusicGen (Meta local). Voice cloning gateado por safety.refuse_voice_cloning_without_double_optin: requiere --voice-clone flag AND signed input.txt sibling.
Video providers (5)
Veo 3 (Gemini), Kling Video O3, Seedance 2.0, Higgsfield MCP, Runway. Generación long-running con poll loop bounded a 5min.
Policy fail-closed
policy.finalize_output: si falta watermark o disclaimer no escribe el archivo. policy.apply_watermark + embed_metadata + write_disclaimer_sibling encadenados. PIL para visible watermark, piexif para EXIF, python-xmp-toolkit (opcional) para XMP.
Safety filters property-tested
Hypothesis con 100 prompts adversariales en en/es/pt. Bloquea: Watchtower logo, JW brand, kingdom hall sign, awake/despertai/despertad/betel. Encontró el bypass 'Despertai' durante test → vocabulario extendido.
En la práctica
Cuatro líneas.
Resultado verificable.
Generar una ilustración para un discurso público.
# Default offline (FakeProvider): produce un PNG placeholder
jw gen image \
--prompt "ilustración pacífica al amanecer" \
--out /tmp/illustration.png
# Con NanoBanana real (requiere GEMINI_API_KEY)
JW_GEN_IMAGE_PROVIDER=nanobanana \
GEMINI_API_KEY=... \
jw gen image \
--prompt "..." \
--out illustration.png
# Output siempre lleva:
# illustration.png (con watermark visible)
# illustration.png.disclaimer.txt (en/es/pt)
# audit log JSONL en ~/.jw-agent-toolkit/jw-gen-audit.jsonl API pública
Qué exporta el módulo.
Resumen de los símbolos principales. La referencia exhaustiva cubre cada uno con signature, parámetros y ejemplos.
- policy.apply_watermark · embed_metadata · write_disclaimer_sibling
- safety.refuse_jw_logo_emulation · *_voice_cloning · *_realistic_faces
- factory.get_provider (image/audio/video) + 13 adapters
- MCP tool: generate_illustration (watermark forzado)
Otros paquetes
Explora el resto del monorepo.
jw-core
El núcleo determinístico
jw-cli
Terminal para mortales
jw-mcp
Puente con tu agente
jw-rag
Recuperación híbrida
jw-agents
Orquestación multipaso + agéntica verificable
jw-finetune
Tu modelo, tus datos
jw-eval
Red de seguridad doctrinal
jw-brain
Second-brain + Bible Knowledge Graph
jw-meeting-media
Reunión-en-vivo · clean-room
jw-interp
Interpretabilidad mecanicista tri-modelo
jw-meeting-scheduler
Solver de asignaciones + importer organized-app
jw-legal
BrainDomain plugin: casos legales TJ vs Estado