a802f59f55
- cmd/fn/doctor.go - cmd/fn/main.go - cpp/apps/primitives_gallery/playground/tables/CMakeLists.txt - cpp/apps/primitives_gallery/playground/tables/data_table.cpp - cpp/apps/primitives_gallery/playground/tables/data_table_logic.cpp - cpp/apps/primitives_gallery/playground/tables/data_table_logic.h - cpp/apps/primitives_gallery/playground/tables/self_test.cpp - cpp/apps/primitives_gallery/playground/tables/tql.cpp - cpp/apps/primitives_gallery/playground/tables/viz.cpp - cpp/apps/primitives_gallery/playground/tables/viz.h - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| image_save_png | function | py | ml | 1.0.0 | impure | def image_save_png(img: PIL.Image.Image, path: str, metadata: dict | None = None) -> str | Guarda una PIL Image como PNG con metadata embebida en chunks tEXt (prompt, seed, steps, sampler, model). Crea directorio padre si no existe. Retorna path absoluto escrito. |
|
false | error_go_core |
|
|
string: ruta absoluta del archivo PNG escrito | true |
|
python/functions/ml/tests/test_image_save_png.py | python/functions/ml/image_save_png.py |
Ejemplo
from PIL import Image
from ml.image_save_png import image_save_png
img = Image.new("RGB", (512, 512), color=(128, 64, 200))
path = image_save_png(
img,
"outputs/gen_001.png",
metadata={
"prompt": "a cat on a purple sofa",
"seed": 42,
"steps": 20,
"sampler": "euler_a",
"model": "sd-v1-5",
},
)
# path = "/home/lucas/.../outputs/gen_001.png"
# Los metadatos quedan embebidos en el PNG y son legibles con exiftool o PIL.
Notas
- Usa
PngImagePlugin.PngInfopara chunkstEXt(texto plano, no comprimido). Para texto largo/comprimido existeadd_itxt, peroadd_textes compatible con la mayoria de lectores (exiftool, A1111, ComfyUI, etc.). - Los valores del dict se convierten a
strautomaticamente — se puede pasar int, float o bool sin castear. - Si
metadataesNoneo{}, el PNG se guarda sin chunks extra (igual queimg.save(path)). - Pillow no esta en los imports por defecto del registry para no bloquear
fn index. Se importa lazy dentro de la funcion. - impure: escribe en disco y crea directorios.