Skip to content

Instantly share code, notes, and snippets.

@dobrosketchkun
Last active November 23, 2022 16:16
Show Gist options
  • Select an option

  • Save dobrosketchkun/d2e6d700a7e20366a98c236d44b9086b to your computer and use it in GitHub Desktop.

Select an option

Save dobrosketchkun/d2e6d700a7e20366a98c236d44b9086b to your computer and use it in GitHub Desktop.
Extract prompt from any* image file made in AUTOMATIC1111
from PIL import Image
filename = 'kprverse_v4-4300.jpg'
im = Image.open(filename)
print(filename)
try:
im.load()
exif_data = im.info['parameters']
try:
prompt, other = exif_data.split('Negative prompt:')
prompt = ''.join(prompt).replace('\\n', ' ')
nprompt, params = other.split('Steps:')
nprompt = nprompt.replace('\\n', ' ')
params = 'Steps:' + params
print('\n', prompt)
print()
print(nprompt)
print()
print(params)
except Exception as e:
prompt, other = exif_data.split('Steps')
prompt = ''.join(prompt).replace('\\n', ' ')
params = prompt.replace('\\n', ' ')
params = 'Steps:' + params
print('\n', prompt, '\n', params)
except:
exif_data = im._getexif()
exif_data = exif_data[37510]
exif_data = str(exif_data)[9:-1]
exif_data = exif_data.replace('\\x00', '')
try:
prompt, other = exif_data.split('Negative prompt:')
prompt = ''.join(prompt).replace('\\n', ' ')
nprompt, params = other.split('Steps:')
nprompt = nprompt.replace('\\n', ' ')
params = 'Steps:' + params
print('\n', prompt)
print()
print(nprompt)
print()
print(params)
except Exception as e:
prompt, other = exif_data.split('Steps')
prompt = ''.join(prompt).replace('\\n', ' ')
params = other.replace('\\n', ' ')
params = 'Steps:' + params
print('\n', prompt, '\n'*2, params)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment