diff --git a/README.md b/README.md
index f2b60c0..00cc9fe 100644
--- a/README.md
+++ b/README.md
@@ -170,6 +170,86 @@ func main() {
```
+
+DALL-E 2 image generation
+
+```go
+package main
+
+import (
+ "bytes"
+ "context"
+ "encoding/base64"
+ "fmt"
+ openai "github.com/sashabaranov/go-openai"
+ "image/png"
+ "os"
+)
+
+func main() {
+ c := openai.NewClient("your token")
+ ctx := context.Background()
+
+ // Sample image by link
+ reqUrl := openai.ImageRequest{
+ Prompt: "Parrot on a skateboard performs a trick, cartoon style, natural light, high detail",
+ Size: openai.CreateImageSize256x256,
+ ResponseFormat: openai.CreateImageResponseFormatURL,
+ N: 1,
+ }
+
+ respUrl, err := c.CreateImage(ctx, reqUrl)
+ if err != nil {
+ fmt.Printf("Image creation error: %v\n", err)
+ return
+ }
+ fmt.Println(respUrl.Data[0].URL)
+
+ // Example image as base64
+ reqBase64 := openai.ImageRequest{
+ Prompt: "Portrait of a humanoid parrot in a classic costume, high detail, realistic light, unreal engine",
+ Size: openai.CreateImageSize256x256,
+ ResponseFormat: openai.CreateImageResponseFormatB64JSON,
+ N: 1,
+ }
+
+ respBase64, err := c.CreateImage(ctx, reqBase64)
+ if err != nil {
+ fmt.Printf("Image creation error: %v\n", err)
+ return
+ }
+
+ imgBytes, err := base64.StdEncoding.DecodeString(respBase64.Data[0].B64JSON)
+ if err != nil {
+ fmt.Printf("Base64 decode error: %v\n", err)
+ return
+ }
+
+ r := bytes.NewReader(imgBytes)
+ imgData, err := png.Decode(r)
+ if err != nil {
+ fmt.Printf("PNG decode error: %v\n", err)
+ return
+ }
+
+ file, err := os.Create("image.png")
+ if err != nil {
+ fmt.Printf("File creation error: %v\n", err)
+ return
+ }
+ defer file.Close()
+
+ if err := png.Encode(file, imgData); err != nil {
+ fmt.Printf("PNG encode error: %v\n", err)
+ return
+ }
+
+ fmt.Println("The image was saved as example.png")
+}
+
+```
+
+
Configuring proxy