mirror of
https://github.com/james-m-jordan/openai-cookbook.git
synced 2025-05-09 19:32:38 +00:00
673 lines
173 KiB
Plaintext
673 lines
173 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "760354d7",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Generate and edit images with GPT Image"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3e51d6ca",
|
||
"metadata": {},
|
||
"source": [
|
||
"In this cookbook, you'll learn how to use GPT Image, our new large language model with image generation capabilities.\n",
|
||
"\n",
|
||
"This model has world knowledge and can generate images leveraging this broad understanding of the world.\n",
|
||
"It is also much better at instruction following and producing photorealistic images compared to our previous-generation image models, DallE 2 and 3. \n",
|
||
"\n",
|
||
"To learn more about image generation, refer to our [guide](http://localhost:5000/docs/guides/image-generation?image-generation-model=gpt-image-1)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3b30f3ad",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Set up"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f2811f97",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"%pip install pillow openai"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "8eda6833",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import base64\n",
|
||
"import os\n",
|
||
"from openai import OpenAI\n",
|
||
"from PIL import Image\n",
|
||
"from io import BytesIO\n",
|
||
"from IPython.display import Image as IPImage, display"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "e022f680",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"client = OpenAI()\n",
|
||
"# Set your API key if not set globally\n",
|
||
"#client = OpenAI(api_key=os.environ.get(\"OPENAI_API_KEY\", \"<your OpenAI API key if not set as env var>\"))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "1eb23b94",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Create imgs/ folder\n",
|
||
"folder_path = \"imgs\"\n",
|
||
"os.makedirs(folder_path, exist_ok=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "33146f60",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Generate an image\n",
|
||
"\n",
|
||
"GPT Image 1 is great at instruction-following, meaning you can prompt the model to generate images with very detailed instructions."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "c4a5607d",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prompt1 = \"\"\"\n",
|
||
"Render a realistic image of this character:\n",
|
||
"Blobby Alien Character Spec Name: Glorptak (or nickname: \"Glorp\")\n",
|
||
"Visual Appearance Body Shape: Amorphous and gelatinous. Overall silhouette resembles a teardrop or melting marshmallow, shifting slightly over time. Can squish and elongate when emotional or startled.\n",
|
||
"Material Texture: Semi-translucent, bio-luminescent goo with a jelly-like wobble. Surface occasionally ripples when communicating or moving quickly.\n",
|
||
"Color Palette:\n",
|
||
"- Base: Iridescent lavender or seafoam green\n",
|
||
"- Accents: Subsurface glowing veins of neon pink, electric blue, or golden yellow\n",
|
||
"- Mood-based color shifts (anger = dark red, joy = bright aqua, fear = pale gray)\n",
|
||
"Facial Features:\n",
|
||
"- Eyes: 3–5 asymmetrical floating orbs inside the blob that rotate or blink independently\n",
|
||
"- Mouth: Optional—appears as a rippling crescent on the surface when speaking or emoting\n",
|
||
"- No visible nose or ears; uses vibration-sensitive receptors embedded in goo\n",
|
||
"- Limbs: None by default, but can extrude pseudopods (tentacle-like limbs) when needed for interaction or locomotion. Can manifest temporary feet or hands.\n",
|
||
"Movement & Behavior Locomotion:\n",
|
||
"- Slides, bounces, and rolls.\n",
|
||
"- Can stick to walls and ceilings via suction. When scared, may flatten and ooze away quickly.\n",
|
||
"Mannerisms:\n",
|
||
"- Constant wiggling or wobbling even at rest\n",
|
||
"- Leaves harmless glowing slime trails\n",
|
||
"- Tends to absorb nearby small objects temporarily out of curiosity\n",
|
||
"\"\"\"\n",
|
||
"\n",
|
||
"img_path1 = \"imgs/glorptak.jpg\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "dae9821a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Generate the image\n",
|
||
"result1 = client.images.generate(\n",
|
||
" model=\"gpt-image-1\",\n",
|
||
" prompt=prompt1,\n",
|
||
" size=\"1024x1024\"\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "15d182da",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the image to a file and resize/compress for smaller files\n",
|
||
"image_base64 = result1.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((300, 300), Image.LANCZOS)\n",
|
||
"image.save(img_path1, format=\"JPEG\", quality=80, optimize=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "1084fac0",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/jpeg": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Show the result\n",
|
||
"display(IPImage(img_path1))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e0101d66",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Customize the output\n",
|
||
"\n",
|
||
"You can customize the following output properties:\n",
|
||
"- Quality can be `low`, `medium`, `high` or `auto` (default value)\n",
|
||
"- Size can be `1024x1024` (square), `1536x1024` (portrait), `1024x1536` (landscape) or `auto` (default)\n",
|
||
"- You can adjust the compression level (from 0-100%) for JPEG and WEBP formats\n",
|
||
"- You can choose to generate an image with a transparent background (only available for PNG or WEBP)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "6df3dbe3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prompt2 = \"generate a portrait, pixel-art style, of a grey tabby cat dressed as a blond woman on a dark background.\"\n",
|
||
"img_path2 = \"imgs/cat_portrait_pixel.jpg\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "1bb40de7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Generate the image\n",
|
||
"result2 = client.images.generate(\n",
|
||
" model=\"gpt-image-1\",\n",
|
||
" prompt=prompt2,\n",
|
||
" quality=\"low\",\n",
|
||
" output_compression=50,\n",
|
||
" output_format=\"jpeg\",\n",
|
||
" size=\"1024x1536\"\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "4de5aa8e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the image to a file and resize/compress for smaller files\n",
|
||
"image_base64 = result2.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((250, 375), Image.LANCZOS)\n",
|
||
"image.save(img_path2, format=\"JPEG\", quality=80, optimize=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "03290401",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/jpeg": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Show the result\n",
|
||
"display(IPImage(img_path2))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "203ba5d4",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Transparent background\n",
|
||
"\n",
|
||
"You can use the `background` property to request a transparent background, but if you include in your prompt that you want a transparent background, it will be set to `transparent` by default. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "51b9f60f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prompt3 = \"generate a pixel-art style picture of a green bucket hat with a pink quill on a transparent background.\"\n",
|
||
"img_path3 = \"imgs/hat.png\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "c3e8a066",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"result3 = client.images.generate(\n",
|
||
" model=\"gpt-image-1\",\n",
|
||
" prompt=prompt3,\n",
|
||
" quality=\"low\",\n",
|
||
" output_format=\"png\",\n",
|
||
" size=\"1024x1024\"\n",
|
||
")\n",
|
||
"image_base64 = result3.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "b9929907",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the image to a file and resize/compress for smaller files\n",
|
||
"image_base64 = result3.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((250, 250), Image.LANCZOS)\n",
|
||
"image.save(img_path3, format=\"PNG\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "a0a0694c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"image/png": {
|
||
"width": 250
|
||
}
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Show the result\n",
|
||
"display(IPImage(img_path3))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "24aa76b7",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Edit images\n",
|
||
"\n",
|
||
"GPT Image can also accept image inputs, and use them to create new images. You can also provide a mask if you don't want the model to change a specific part of the input image.\n",
|
||
"\n",
|
||
"You can use a maximum of 10 input images, and if you use a mask, it will be applied to the first image provided in the `image` array."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"id": "3e4ae773",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prompt_edit = \"\"\"\n",
|
||
"Combine the images of the cat and the hat to show the cat wearing the hat while being perched in a tree, still in pixel-art style.\n",
|
||
"\"\"\"\n",
|
||
"img_path_edit = \"imgs/cat_with_hat.jpg\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "be995b49",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"img1 = open(img_path2, \"rb\")\n",
|
||
"img2 = open(img_path3, \"rb\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"id": "3e46de51",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Generate the new image\n",
|
||
"result_edit = client.images.edit(\n",
|
||
" model=\"gpt-image-1\",\n",
|
||
" image=[img1,img2], \n",
|
||
" prompt=prompt_edit,\n",
|
||
" size=\"1024x1536\"\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"id": "30fad662",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the image to a file and resize/compress for smaller files\n",
|
||
"image_base64 = result_edit.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((250, 375), Image.LANCZOS)\n",
|
||
"image.save(img_path_edit, format=\"JPEG\", quality=80, optimize=True) "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"id": "9016913d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/jpeg": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Show the result\n",
|
||
"display(IPImage(img_path_edit))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cb06c713",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Edit an image with a mask\n",
|
||
"\n",
|
||
"You can also provide a mask along with your input images (if there are several, the mask will be applied on the first one) to edit only the part of the input image that is not covered by the mask. Please note that the model might still edit some parts of the image inside the mask, but it will avoid it. \n",
|
||
"\n",
|
||
"Important note: the mask should contain an alpha channel. If you're generating it manually, for example using an image editing software, make sure you include this alpha channel. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e34eedd7",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Generating the mask\n",
|
||
"\n",
|
||
"For this example, we'll use our model to generate the mask automatically for us. The mask might not be exact, but it will be enough for our purposes. \n",
|
||
"If you need to have an exact mask, feel free to use an image segmentation model."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"id": "fe2ef0fc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"img_path_mask = \"imgs/mask.png\"\n",
|
||
"prompt_mask = \"generate a mask delimiting the entire character in the picture, using white where the character is and black for the background. Return an image in the same size as the input image.\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"id": "70329b98",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"img_input = open(img_path1, \"rb\")\n",
|
||
"\n",
|
||
"# Generate the mask\n",
|
||
"result_mask = client.images.edit(\n",
|
||
" model=\"gpt-image-1\",\n",
|
||
" image=img_input, \n",
|
||
" prompt=prompt_mask\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"id": "e3eb0193",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the image to a file and resize/compress for smaller files\n",
|
||
"image_base64 = result_mask.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((300, 300), Image.LANCZOS)\n",
|
||
"image.save(img_path_mask, format=\"PNG\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"id": "1660ae01",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Show the mask\n",
|
||
"display(IPImage(img_path_mask))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "2d66b14d",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Creating an alpha channel\n",
|
||
"This step is optional, if you want to turn a black & white image into a mask with an alpha channel that can be used in the Image Edit API."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 49,
|
||
"id": "2ea97104",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 1. Load your black & white mask as a grayscale image\n",
|
||
"mask = Image.open(img_path_mask).convert(\"L\")\n",
|
||
"\n",
|
||
"# 2. Convert it to RGBA so it has space for an alpha channel\n",
|
||
"mask_rgba = mask.convert(\"RGBA\")\n",
|
||
"\n",
|
||
"# 3. Then use the mask itself to fill that alpha channel\n",
|
||
"mask_rgba.putalpha(mask)\n",
|
||
"\n",
|
||
"# 4. Convert the mask into bytes\n",
|
||
"buf = BytesIO()\n",
|
||
"mask_rgba.save(buf, format=\"PNG\")\n",
|
||
"mask_bytes = buf.getvalue()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"id": "7aa9c7f7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Save the resulting file\n",
|
||
"img_path_mask_alpha = \"imgs/mask_alpha.png\"\n",
|
||
"with open(img_path_mask_alpha, \"wb\") as f:\n",
|
||
" f.write(mask_bytes)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ca8fdead",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Editing with the mask\n",
|
||
"When using a mask, we still need the prompt the model describing the entiring resulting image, not just the area that is masked. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"id": "40ee1402",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prompt_mask_edit = \"A strange character on a colorful galaxy background, with lots of stars and planets.\"\n",
|
||
"mask = open(img_path_mask_alpha, \"rb\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 52,
|
||
"id": "65b5487a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"result_mask_edit = client.images.edit(\n",
|
||
" model=\"gpt-image-1\", \n",
|
||
" prompt=prompt_mask_edit,\n",
|
||
" image=img_input,\n",
|
||
" mask=mask,\n",
|
||
" size=\"1024x1024\"\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"id": "06ee85a6",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Display result\n",
|
||
"\n",
|
||
"img_path_mask_edit = \"imgs/mask_edit.png\"\n",
|
||
"\n",
|
||
"image_base64 = result_mask_edit.data[0].b64_json\n",
|
||
"image_bytes = base64.b64decode(image_base64)\n",
|
||
"\n",
|
||
"image = Image.open(BytesIO(image_bytes))\n",
|
||
"image = image.resize((300, 300), Image.LANCZOS)\n",
|
||
"image.save(img_path_mask_edit, format=\"JPEG\", quality=80, optimize=True)\n",
|
||
" \n",
|
||
"display(IPImage(img_path_mask_edit))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ae87ecb7",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Wrapping up"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "28f2e4b8",
|
||
"metadata": {},
|
||
"source": [
|
||
"In this cookbook, we've seen how to use our new image generation model, GPT Image, to either generate new images from scratch, or use reference images. We've also covered how to create a mask with an alpha channel to apply it to an input image, to guide the image edition even further. \n",
|
||
"\n",
|
||
"Feel free to use this as a starting point to explore other use cases, and if you're looking for some inspiration, check out the [image gallery](https://platform.openai.com/docs/guides/image-generation?image-generation-model=gpt-image-1&gallery=open#generate-images) in our docs. \n",
|
||
"\n",
|
||
"Happy building!"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python (notebooks-env)",
|
||
"language": "python",
|
||
"name": "notebooks-env"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.13.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|