add ImageVariRequest/ImageEditRequest.ResponseFormat (#264)

* add ImageEditRequest.ResponseFormat

* add ImageEditRequest/ImageVariRequest.ResponseFormat

* complete image_test

* delete var prompt param

---------

Co-authored-by: Aceld <liudanbing@tal.com>
This commit is contained in:
刘丹冰
2023-04-18 17:23:29 +08:00
committed by GitHub
parent 061c97ef7e
commit 3b10c032b6
2 changed files with 48 additions and 20 deletions

View File

@@ -60,6 +60,7 @@ type ImageEditRequest struct {
Prompt string `json:"prompt,omitempty"`
N int `json:"n,omitempty"`
Size string `json:"size,omitempty"`
ResponseFormat string `json:"response_format,omitempty"`
}
// CreateEditImage - API call to create an image. This is the main endpoint of the DALL-E API.
@@ -85,14 +86,22 @@ func (c *Client) CreateEditImage(ctx context.Context, request ImageEditRequest)
if err != nil {
return
}
err = builder.writeField("n", strconv.Itoa(request.N))
if err != nil {
return
}
err = builder.writeField("size", request.Size)
if err != nil {
return
}
err = builder.writeField("response_format", request.ResponseFormat)
if err != nil {
return
}
err = builder.close()
if err != nil {
return
@@ -114,6 +123,7 @@ type ImageVariRequest struct {
Image *os.File `json:"image,omitempty"`
N int `json:"n,omitempty"`
Size string `json:"size,omitempty"`
ResponseFormat string `json:"response_format,omitempty"`
}
// CreateVariImage - API call to create an image variation. This is the main endpoint of the DALL-E API.
@@ -132,10 +142,17 @@ func (c *Client) CreateVariImage(ctx context.Context, request ImageVariRequest)
if err != nil {
return
}
err = builder.writeField("size", request.Size)
if err != nil {
return
}
err = builder.writeField("response_format", request.ResponseFormat)
if err != nil {
return
}
err = builder.close()
if err != nil {
return

View File

@@ -123,6 +123,7 @@ func TestImageEdit(t *testing.T) {
Prompt: "There is a turtle in the pool",
N: 3,
Size: CreateImageSize1024x1024,
ResponseFormat: CreateImageResponseFormatURL,
}
_, err = client.CreateEditImage(ctx, req)
checks.NoError(t, err, "CreateImage error")
@@ -158,6 +159,7 @@ func TestImageEditWithoutMask(t *testing.T) {
Prompt: "There is a turtle in the pool",
N: 3,
Size: CreateImageSize1024x1024,
ResponseFormat: CreateImageResponseFormatURL,
}
_, err = client.CreateEditImage(ctx, req)
checks.NoError(t, err, "CreateImage error")
@@ -223,6 +225,7 @@ func TestImageVariation(t *testing.T) {
Image: origin,
N: 3,
Size: CreateImageSize1024x1024,
ResponseFormat: CreateImageResponseFormatURL,
}
_, err = client.CreateVariImage(ctx, req)
checks.NoError(t, err, "CreateImage error")
@@ -336,6 +339,10 @@ func TestImageFormBuilderFailures(t *testing.T) {
_, err = client.CreateEditImage(ctx, req)
checks.ErrorIs(t, err, mockFailedErr, "CreateImage should return error if form builder fails")
failForField = "response_format"
_, err = client.CreateEditImage(ctx, req)
checks.ErrorIs(t, err, mockFailedErr, "CreateImage should return error if form builder fails")
failForField = ""
mockBuilder.mockClose = func() error {
return mockFailedErr
@@ -384,6 +391,10 @@ func TestVariImageFormBuilderFailures(t *testing.T) {
_, err = client.CreateVariImage(ctx, req)
checks.ErrorIs(t, err, mockFailedErr, "CreateVariImage should return error if form builder fails")
failForField = "response_format"
_, err = client.CreateVariImage(ctx, req)
checks.ErrorIs(t, err, mockFailedErr, "CreateVariImage should return error if form builder fails")
failForField = ""
mockBuilder.mockClose = func() error {
return mockFailedErr