Skip to content

Commit d40304d

Browse files
tests+api: use smaller model gpt-image-1-mini instead of dall-e-2; update requests (size=1024x1024, quality=low)
Signed-off-by: Hrushikesh Patil <[email protected]>
1 parent 29b31be commit d40304d

File tree

4 files changed

+16
-13
lines changed

4 files changed

+16
-13
lines changed

internal/apischema/openai/openai.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,9 @@ const (
5858
// ModelTextEmbedding3Small is the cheapest model usable with /embeddings.
5959
ModelTextEmbedding3Small = "text-embedding-3-small"
6060

61-
// ModelDALLE2 is the DALL-E 2 model usable with /v1/images/generations.
62-
ModelDALLE2 = "dall-e-2"
63-
// ModelDALLE3 is the DALL-E 3 model usable with /v1/images/generations.
64-
ModelDALLE3 = "dall-e-3"
61+
// ModelGPTImage1Mini is the smallest/cheapest Images model usable with
62+
// /v1/images/generations. Use with size "1024x1024" and quality "low".
63+
ModelGPTImage1Mini = "gpt-image-1-mini"
6564
)
6665

6766
// ChatCompletionContentPartRefusalType The type of the content part.

internal/extproc/imagegeneration_processor_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ func Test_imageGenerationProcessorUpstreamFilter_SetBackend(t *testing.T) {
343343
rp := &imageGenerationProcessorRouterFilter{originalRequestBody: &openaisdk.ImageGenerateParams{}}
344344
p2 := &imageGenerationProcessorUpstreamFilter{
345345
config: &processorConfig{},
346-
requestHeaders: map[string]string{internalapi.ModelNameHeaderKeyDefault: "dall-e-2"},
346+
requestHeaders: map[string]string{internalapi.ModelNameHeaderKeyDefault: "gpt-image-1-mini"},
347347
logger: slog.Default(),
348348
metrics: &mockImageGenerationMetrics{},
349349
}
@@ -358,12 +358,12 @@ func Test_imageGenerationProcessorUpstreamFilter_SetBackend(t *testing.T) {
358358

359359
func TestImageGeneration_ParseBody(t *testing.T) {
360360
t.Run("ok", func(t *testing.T) {
361-
jsonBody := `{"model":"dall-e-2","prompt":"a cat"}`
361+
jsonBody := `{"model":"gpt-image-1-mini","prompt":"a cat","size":"1024x1024","quality":"low"}`
362362
modelName, rb, err := parseOpenAIImageGenerationBody(&extprocv3.HttpBody{Body: []byte(jsonBody)})
363363
require.NoError(t, err)
364-
require.Equal(t, "dall-e-2", modelName)
364+
require.Equal(t, "gpt-image-1-mini", modelName)
365365
require.NotNil(t, rb)
366-
require.Equal(t, "dall-e-2", rb.Model)
366+
require.Equal(t, "gpt-image-1-mini", rb.Model)
367367
require.Equal(t, "a cat", rb.Prompt)
368368
})
369369
t.Run("error", func(t *testing.T) {

tests/extproc/testupstream_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ func TestWithTestUpstream(t *testing.T) {
142142
backend: "openai",
143143
path: "/v1/images/generations",
144144
method: http.MethodPost,
145-
requestBody: `{"model":"dall-e-2","prompt":"a cat wearing sunglasses"}`,
145+
requestBody: `{"model":"gpt-image-1-mini","prompt":"a cat wearing sunglasses","size":"1024x1024","quality":"low"}`,
146146
expPath: "/v1/images/generations",
147-
responseBody: `{"created":1736890000,"data":[{"url":"https://example.com/image1.png"}],"model":"dall-e-2","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}`,
147+
responseBody: `{"created":1736890000,"data":[{"url":"https://example.com/image1.png"}],"model":"gpt-image-1-mini","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}`,
148148
expStatus: http.StatusOK,
149-
expResponseBody: `{"created":1736890000,"data":[{"url":"https://example.com/image1.png"}],"model":"dall-e-2","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}`,
149+
expResponseBody: `{"created":1736890000,"data":[{"url":"https://example.com/image1.png"}],"model":"gpt-image-1-mini","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}`,
150150
},
151151
{
152152
name: "openai - /v1/images/generations - non json upstream error mapped to OpenAI",

tests/internal/testopenai/image_requests.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,16 @@ type imageGenerationRequest struct {
1616
Model string `json:"model"`
1717
Prompt string `json:"prompt"`
1818
// Optional fields like size/quality/response_format can be added later if needed.
19+
Size string `json:"size,omitempty"`
20+
Quality string `json:"quality,omitempty"`
1921
}
2022

2123
// imageRequests contains the actual request body for each image generation cassette.
2224
var imageRequests = map[Cassette]*imageGenerationRequest{
2325
CassetteImageGenerationBasic: {
24-
Model: "dall-e-2",
25-
Prompt: "A simple black-and-white line drawing of a cat playing with yarn",
26+
Model: "gpt-image-1-mini",
27+
Prompt: "A simple black-and-white line drawing of a cat playing with yarn",
28+
Size: "1024x1024",
29+
Quality: "low",
2630
},
2731
}

0 commit comments

Comments
 (0)