Pada modul ini kita akan menyimpan image dengan pendekatan kedua, yaitu dengan menentukan parameter response_format = b64_json, dimana response yang diberikan berupa image itu sendiri, bukan url dari image.
Kita memerlukan library base64 untuk mendecode data image yang diperoleh dari DALL-E.
Berikut contoh fungsi untuk menyimpan image menggunakan response_format = b64_json.
import base64
def get_save_image(prompt, image_name):
response = openai.Image.create(
prompt = prompt,
size= "512x512",
n=1,
response_format="b64_json"
)
image_data = response["data"][0]["b64_json"]
image_dir_name = "img"
image_directory = os.path.join(os.curdir, image_dir_name)
if not os.path.isdir(image_directory):
os.mkdir(image_directory)
image_file_path = os.path.join(image_directory, image_name)
decoded_img = base64.b64decode(image_data)
with open(image_file_path, "wb") as image_file:
image_file.write(decoded_img)
Anda dapat tambahkan agar fungsi dapat menerima parameter jumlah image yang digenerate.
Sampai disini, contoh kode untuk menyimpan image yang digenerate DALL-E sudah selesai. Pada modul selanjutnya kita akan membahas image variations.