"""Generate a sprite from a prompt. python generate.py "red potion" --seed 3 --scale 8 --out sprite.png """ import argparse import sys from pathlib import Path from pixelgen import weights from pixelgen.model import PixelGen def main(argv=None): ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) ap.add_argument("prompt") ap.add_argument("--seed", type=int, default=0) ap.add_argument("--scale", type=int, default=8) ap.add_argument("--out", default="sprite.png") ap.add_argument("--weights", default=None, help="load a saved weights file instead of building") args = ap.parse_args(argv) model = weights.load(args.weights) if args.weights else PixelGen() img = model.sprite(args.prompt, seed=args.seed, scale=args.scale) out = Path(args.out) out.parent.mkdir(parents=True, exist_ok=True) img.save(out) print(f"wrote {out} ({img.size[0]}x{img.size[1]})") return 0 if __name__ == "__main__": sys.exit(main())