2022-08-22 04:12:16 +00:00
|
|
|
#!/usr/bin/env python3
|
2022-10-08 15:37:23 +00:00
|
|
|
'''This script reads the "Invoke" Stable Diffusion prompt embedded in files generated by invoke.py'''
|
2022-08-22 04:12:16 +00:00
|
|
|
|
|
|
|
import sys
|
|
|
|
from PIL import Image,PngImagePlugin
|
|
|
|
|
|
|
|
if len(sys.argv) < 2:
|
|
|
|
print("Usage: file2prompt.py <file1.png> <file2.png> <file3.png>...")
|
2022-10-08 15:37:23 +00:00
|
|
|
print("This script opens up the indicated invoke.py-generated PNG file(s) and prints out the prompt used to generate them.")
|
2022-08-22 04:12:16 +00:00
|
|
|
exit(-1)
|
|
|
|
|
|
|
|
filenames = sys.argv[1:]
|
|
|
|
for f in filenames:
|
|
|
|
try:
|
|
|
|
im = Image.open(f)
|
|
|
|
try:
|
|
|
|
prompt = im.text['Dream']
|
|
|
|
except KeyError:
|
|
|
|
prompt = ''
|
|
|
|
print(f'{f}: {prompt}')
|
|
|
|
except FileNotFoundError:
|
|
|
|
sys.stderr.write(f'{f} not found\n')
|
|
|
|
continue
|
|
|
|
except PermissionError:
|
|
|
|
sys.stderr.write(f'{f} could not be opened due to inadequate permissions\n')
|
|
|
|
continue
|
2022-12-19 16:36:39 +00:00
|
|
|
|
2022-08-22 04:12:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
|