Google GenMedia Toolkit
Un kit unificado de línea de comandos y scripting impulsado por los modelos multimodales nativos de Google Gemini para creación de medios generativos y edición conversacional.
Prerrequisitos
Todos los scripts en este toolkit deben ejecutarse usando uv run.
uv run scripts/<script_name>.py "PROMPT" [OPCIONES]
Herramientas e Índice de Referencia
| Herramienta | Script | Guía de Referencia | Descripción |
|---|---|---|---|
| Generación de Imágenes | scripts/genimage.py | references/genimage.md | Serie Nano Banana (Gemini 3.1 Flash / Pro): texto a imagen, 4K, inpainting, transferencia de estilo, 14 imágenes de referencia, Grounding de búsqueda y edición multi-turno. |
| Generación de Video | scripts/genvideo.py | references/genvideo.md | Gemini Omni Flash (gemini-omni-1.1-flash): texto/imagen a video, interpolación de fotogramas, edición de video multi-turno y extensión temporal. |
| Generación Musical | scripts/genmusic.py | references/genmusic.md | Google Lyria 3 (Clip y Pro): clips de 30s, canciones estructuradas completas con letras y scoring de imagen a música. |
| Síntesis de Voz | scripts/text2speech.py | references/text2speech.md | Gemini TTS: 30 voces expresivas predefinidas, narración de un solo locutor y diálogo multi-locutor con guion. |
1. Generación y Edición de Imágenes: genimage.py
Genera y edita imágenes utilizando la serie de modelos Nano Banana (gemini-3.1-flash-image por defecto, gemini-3-pro-image, gemini-3.1-flash-lite-image). Soporta hasta resolución 4K en 14 relaciones de aspecto, composición multi-imagen (hasta 14 imágenes de referencia), Google Search Grounding y edición conversacional multi-turno.
Ejemplos Rápidos
# Texto a Imagen (resolución 2K, 16:9 panorámico)
uv run scripts/genimage.py "Una ciudad cyberpunk futurista con luces de neón y autos voladores bajo la lluvia, iluminación cinematográfica" -a 16:9 -s 2K -o ciudad.jpg
# Inpainting de Objetos / Modificación de Elementos
uv run scripts/genimage.py "Usando la imagen proporcionada de mi gato, por favor añade un pequeño sombrero de bruja tejido en su cabeza. Haz que parezca que está sentado cómodamente." -i gato.png -o gato_con_sombrero.png
# Edición Conversacional Multi-turno
uv run scripts/genimage.py "Actualiza esta infografía para que esté en español. No cambies ningún otro elemento." --previous-id "v1_interaction_id..." -o infografia_espanol.png
👉 Para plantillas detalladas de ingeniería de prompts (fotorrealismo, stickers, tipografía, maquetas de producto, transferencia de estilo) y tablas de resolución, consulta references/genimage.md.
2. Generación y Edición de Video: genvideo.py
Crea, edita y extiende videos cinematográficos con diseño de sonido integrado usando Gemini Omni Flash (gemini-omni-1.1-flash). Soporta texto a video, imagen a video, interpolación de primer y último fotograma, edición conversacional stateful multi-turno y extensión de clips de video.
Ejemplos Rápidos
# Texto a Video (toma continua de 1080p sin cortes con diseño de sonido)
uv run scripts/genvideo.py "Toma continua con dron suave deslizándose sobre montañas de bosque de pinos brumoso al amanecer. Diseño de sonido: brisa suave, cantos de aves lejanos. Sin diálogo." -a 16:9 -r 1080p -o amanecer.mp4
# Interpolación de Primer y Último Fotograma
uv run scripts/genvideo.py "Una transición cinematográfica suave de un bosque verde exuberante de verano al amanecer a un bosque nevado bajo un cielo estrellado nocturno." -i verano.jpg -i invierno.jpg -o transicion_estacional.mp4
# Edición de Video Stateful (Multi-turno)
uv run scripts/genvideo.py "Haz invisible el violín. Mantén todo lo demás igual." --previous-id "v1_video_id..." -o violin_invisible.mp4
# Extensión de Video (Añade 3-10s al final del clip)
uv run scripts/genvideo.py "Continúa la escena: la cámara se desplaza sobre las montañas mientras cae el crepúsculo." -v clip.mp4 --task extend -o clip_extendido.mp4
👉 Para técnicas de movimiento de cámara, estrategias de diseño de audio y opciones de entrega URI para videos grandes/4K, consulta references/genvideo.md.
3. Generación Musical y de Canciones: genmusic.py
Sintetiza pistas musicales y bandas sonoras de alta fidelidad usando Google Lyria 3 (lyria-3-clip-preview para clips/loops de 30s, lyria-3-pro-preview para canciones completas de múltiples secciones).
Ejemplos Rápidos
# Tema de Banda Sonora Instrumental
uv run scripts/genmusic.py "Banda sonora orquestal cinematográfica edificante con cuerdas enérgicas y crescendo de metales inspirador, 120 BPM, solo instrumental" -o tema_epico.mp3
# Canción Completa con Letras y Voces Estructuradas
uv run scripts/genmusic.py "Pista synthwave melódica con leads de sintetizador analógico nostálgico de los 80, batería contundente y voces de vocoder cantando sobre sueños de neón" -m lyria-3-pro-preview -l letras.txt -o cancion_synthwave.mp3
# Imagen a Música (Banda Sonora de Estado de Ánimo Visual)
uv run scripts/genmusic.py "Compón una banda sonora ambiental que capture la atmósfera mística y tranquila de este paisaje de fantasía." -i paisaje.jpg -o bgm_ambiental.mp3
👉 Para ingeniería de prompts en 5 dimensiones (género, estado de ánimo, instrumentación, tempo, voces) y etiquetas de letras estructuradas, consulta references/genmusic.md.
4. Síntesis de Texto a Voz: text2speech.py
Sintetiza audio de voz natural y expresiva usando Gemini TTS (gemini-3.1-flash-tts-preview). Soporta 30 voces predefinidas distintas, señales emocionales en línea ([suspiros], [risas], [susurrando], [emocionado]), narración de un solo locutor y diálogo multi-locutor guionizado.
Ejemplos Rápidos
# Narración de un Solo Locutor con Señales Vocales
uv run scripts/text2speech.py "[suspiros] Bienvenido de nuevo... [emocionado] ¡Creemos algo extraordinario hoy!" -v Puck -o bienvenida.wav
# Leer Artículo desde Archivo
uv run scripts/text2speech.py -f articulo.txt -v Charon -o narracion_articulo.wav
# Diálogo Guionizado Multi-Locutor
uv run scripts/text2speech.py "Alice: [emocionada] ¡Buenos días Bob! ¿Has visto el nuevo modelo de imagen de Gemini?
Bob: [risas] ¡Por supuesto Alice! El renderizado de texto y el modo de pensamiento son alucinantes." -s "Alice:Aoede" -s "Bob:Fenrir" -o dialogo_podcast.wav
👉 Para el directorio completo de las 30 voces predefinidas, directorio de etiquetas emocionales ([xxx]) y pautas de formato de guiones de diálogo, consulta references/text2speech.md.