package main
import (
"context"
"encoding/base64"
"fmt"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
apiKey := "sk-123456789012345678901234567890123456789012345678"
exampleFilePath := "example.png"
client := openai.NewClient(
option.WithAPIKey(apiKey),
option.WithBaseURL("https://gateway.theturbo.ai/v1"),
)
resp, err := client.Images.Generate(
context.Background(),
openai.ImageGenerateParams{
Model: "gpt-image-1",
Prompt: "A cute baby sea otter",
Size: "1024x1024",
},
)
if err != nil {
fmt.Println("error:", err)
return
}
if len(resp.Data) == 0 || resp.Data[0].B64JSON == "" {
fmt.Println("error: empty b64_json")
return
}
imageData, err := base64.StdEncoding.DecodeString(resp.Data[0].B64JSON)
if err != nil {
fmt.Println("error:", err)
return
}
if err := os.WriteFile(exampleFilePath, imageData, 0644); err != nil {
fmt.Println("error:", err)
return
}
fmt.Println("success to write to file", exampleFilePath)
}