Gemini 4 Argon 3D: reproduce la escena oficial en Python
Ejecuta el código 3D oficial de Gemini 4 Argon en Mac con Python y NumPy. Recrea la biblioteca, revisa la imagen y ajusta los parámetros del renderizado.
Leer en MarkdownPuedes ejecutar el código 3D de Gemini 4 Argon de forma local reproduciendo la escena Python publicada en el repositorio de demostración de Google Gemini. Google atribuye el código a Argon; Python, NumPy y Pillow lo convierten en un PNG de una biblioteca iluminada por el sol. Este tutorial utiliza el código fuente publicado, por lo que no necesitas una clave API del modelo ni una nueva solicitud de generación.[1]
Reprodujimos la escena en dos resoluciones el 14 de octubre de 2026. Empieza por la imagen pequeña, comprueba sus dimensiones y composición y, después, renderiza la grande. El paquete descargable incluye el motor de renderizado sin modificar, las versiones fijadas de las dependencias, las atribuciones y ambos resultados de referencia.
Qué produjo el código 3D de Gemini 4 Argon en local

Reproducción local de la demostración de código abierto de Argon de Google, commit 15515edc, bajo Apache-2.0. Esta imagen se renderizó a partir del código publicado; no es una nueva generación de la API de SeedRouter.
Ambas ejecuciones terminaron correctamente y produjeron PNG RGB con las dimensiones solicitadas. Comprobamos que los dos archivos se decodificaban bien e inspeccionamos la escena: estanterías a la izquierda, un sillón y una mesa delante, y ventanas de esquina con vistas al mar. La imagen grande permite examinar mejor el libro abierto, la taza y los recipientes de vidrio.
| Ejecución local | Semilla | Tiempo transcurrido | Memoria residente máxima |
|---|---|---|---|
| 320 × 240 | 20301 | 6,837 segundos | 230,5 MiB |
| 800 × 600 | 20301 | 4,731 segundos | Unos 1,24 GiB |
Son dos ejecuciones individuales, no un benchmark de velocidad. El inicio de las bibliotecas, la caché y la carga del equipo influyen en el tiempo. Que la imagen grande tardara menos en esta ocasión no establece una regla de rendimiento. No probamos el renderizado predeterminado de 1.600 × 1.200.
1. Descarga la escena y prepara Python
Utiliza un Mac con Apple Silicon, CPython 3.14 nativo para arm64 y macOS 14 o posterior. Nuestro entorno de prueba fue macOS 26.2, Python 3.14.3, NumPy 2.5.3 y Pillow 12.3.0. Los hashes de las dependencias corresponden a los paquetes wheel de esa arquitectura y versión de Python. Este paquete no es un procedimiento de instalación verificado para Mac con Intel ni para otras versiones de Python.
Guarda el paquete de reproducción en la carpeta Downloads. Descomprímelo en una carpeta nueva y crea un entorno virtual:
cd ~/Downloads
unzip gemini-4-argon-3d.zip
cd gemini-4-argon-3d
python3.14 -m venv .venv
.venv/bin/python -m pip install --only-binary=:all: \
--require-hashes -r requirements-verified.txtLa instalación descarga las dependencias. Después, el renderizado se ejecuta en local. Si la instalación indica que no existe un wheel compatible o que un hash no coincide, comprueba la versión de Python y la arquitectura antes de continuar. Conserva los archivos LICENSE y ATTRIBUTION.md del paquete junto con el código fuente.[3]
2. Renderiza y comprueba una vista previa pequeña
Ejecuta esto desde el directorio del paquete descomprimido:
PAINT_WIDTH=320 PAINT_HEIGHT=240 PAINT_SEED=20301 \
.venv/bin/python source/python/sunlit_library.py \
output/library-320x240.pngEl último argumento establece el nombre del archivo de salida. El motor crea el directorio superior y muestra un mensaje Saved al terminar de escribir.[2] Las imágenes nuevas se guardan en output/, separadas de las imágenes de referencia incluidas. Comprueba el propio archivo:
.venv/bin/python - <<'PY'
from PIL import Image
with Image.open("output/library-320x240.png") as image:
image.load()
assert image.format == "PNG"
assert image.mode == "RGB"
assert image.size == (320, 240)
print(image.format, image.mode, image.size)
PY
open output/library-320x240.pngEl resultado esperado es PNG RGB (320, 240). Después, examina la imagen en Preview: un archivo válido puede contener una escena incompleta o distinta de la que buscas. Revisa la distribución de la habitación, los marcos de las ventanas y la dirección de las sombras antes de aumentar la resolución.
3. Genera el tamaño de referencia más grande
Cuando la vista previa supere la comprobación, ejecuta:
PAINT_WIDTH=800 PAINT_HEIGHT=600 PAINT_SEED=20301 \
.venv/bin/python source/python/sunlit_library.py \
output/library-800x600.png
open output/library-800x600.pngRepite la comprobación de dimensiones con el nuevo nombre de archivo y (800, 600). Deja margen de memoria: el máximo registrado para este tamaño fue de unos 1,24 GiB. La imagen debería conservar la misma distribución principal y ofrecer más píxeles para examinar las superficies y los objetos de la mesa. No afirmamos que coincida píxel a píxel con la imagen de referencia de Google ni repetimos la misma configuración para verificar su determinismo.
4. Cambia los parámetros de renderizado de forma deliberada
El código fuente lee PAINT_WIDTH, PAINT_HEIGHT y PAINT_SEED de las variables de entorno. Un nombre de archivo explícito tiene prioridad sobre PAINT_OUTPUT. Sin sobrescribir las dimensiones, el tamaño predeterminado normal es 1.600 × 1.200; --16x9 selecciona el tamaño predeterminado de 1.920 × 1.080 y la configuración panorámica.[2]
Mantén la semilla 20301 al cambiar la resolución para no modificar también la entrada aleatoria. Utiliza un nombre de archivo nuevo para cada experimento: el motor ejecutado directamente puede sobrescribir una salida existente. Otra semilla es otro experimento, no una garantía de obtener una distribución concreta de los muebles. Para cambiar la cámara, los materiales y la iluminación, debes editar el código Python en lugar de añadir una opción de línea de comandos inventada.
Preguntas sobre este ejemplo 3D
¿Es un tutorial de Blender con Gemini 4 Argon?
Utiliza un motor de renderizado independiente en Python y NumPy. No requiere instalar Blender ni utiliza archivos .blend. El repositorio de Google también contiene una versión JavaScript/WebGL2, pero estas comprobaciones locales solo cubren Python.[1]
¿El PNG demuestra una salida nativa de imágenes o vídeo del modelo?
Demuestra que el código publicado puede renderizar una imagen estática en local. No pedimos a Argon que volviera a generar el código, lo revisara a partir de la imagen ni produjera una animación. En este ejemplo, la generación de código y el renderizado son pasos separados.
¿Puedo pedir al modelo que cambie la escena?
Puedes utilizar el tutorial de la API nativa en Python para crear una conversación sobre código. Revisa los cambios recibidos antes de ejecutarlos. Se trata de una solicitud independiente al modelo, con sus propios cargos por uso; no forma parte de esta reproducción ni de su verificación.
Conserva el renderizado que funciona como referencia
El resultado práctico de este ejercicio con el código 3D de Gemini 4 Argon es una escena que puedes examinar, ejecutar y modificar. Conserva el código fuente que funciona y la vista previa antes de experimentar. La página del modelo Gemini 4 Argon y la referencia API explican la interfaz del modelo cuando quieras añadir una conversación de programación independiente.
Fuentes
- Google Gemini. Renderizado 3D con Gemini 4 Argon. Commit de origen fijado en 15515edc.
- Google Gemini. Motor de renderizado Python y punto de entrada. Código fuente de los controles de renderizado y del comportamiento de salida.
- Google Gemini. Licencia Apache-2.0. Incluida con el código fuente descargable.



