main
1#!/usr/bin/env python
2
3import base64
4from pathlib import Path
5
6from openai import OpenAI
7
8client = OpenAI()
9
10
11def main() -> None:
12 """Example of OpenAI image streaming with partial images."""
13 stream = client.images.generate(
14 model="gpt-image-1",
15 prompt="A cute baby sea otter",
16 n=1,
17 size="1024x1024",
18 stream=True,
19 partial_images=3,
20 )
21
22 for event in stream:
23 if event.type == "image_generation.partial_image":
24 print(f" Partial image {event.partial_image_index + 1}/3 received")
25 print(f" Size: {len(event.b64_json)} characters (base64)")
26
27 # Save partial image to file
28 filename = f"partial_{event.partial_image_index + 1}.png"
29 image_data = base64.b64decode(event.b64_json)
30 with open(filename, "wb") as f:
31 f.write(image_data)
32 print(f" 💾 Saved to: {Path(filename).resolve()}")
33
34 elif event.type == "image_generation.completed":
35 print(f"\n✅ Final image completed!")
36 print(f" Size: {len(event.b64_json)} characters (base64)")
37
38 # Save final image to file
39 filename = "final_image.png"
40 image_data = base64.b64decode(event.b64_json)
41 with open(filename, "wb") as f:
42 f.write(image_data)
43 print(f" 💾 Saved to: {Path(filename).resolve()}")
44
45 else:
46 print(f"❓ Unknown event: {event}") # type: ignore[unreachable]
47
48
49if __name__ == "__main__":
50 try:
51 main()
52 except Exception as error:
53 print(f"Error generating image: {error}")