Skip to content

Commit fb16e20

Browse files
author
BitsAdmin
committed
Merge branch 'feat/arkruntime_0826' into 'integration_2025-09-11_1051245470210'
feat: [development task] ark runtime (1649393) See merge request iaasng/volcengine-java-sdk!651
2 parents d3f65f5 + 513a711 commit fb16e20

File tree

112 files changed

+8039
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+8039
-14
lines changed

volcengine-java-sdk-ark-runtime/src/main/java/com/volcengine/ark/runtime/model/images/generation/GenerateImagesRequest.java

Lines changed: 137 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
package com.volcengine.ark.runtime.model.images.generation;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
34
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import com.fasterxml.jackson.core.JsonParser;
6+
import com.fasterxml.jackson.core.JsonProcessingException;
7+
import com.fasterxml.jackson.databind.DeserializationContext;
8+
import com.fasterxml.jackson.databind.JsonDeserializer;
9+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
10+
import com.fasterxml.jackson.databind.JsonNode;
11+
12+
import java.io.IOException;
13+
import java.util.ArrayList;
14+
import java.util.Collections;
15+
import java.util.List;
416

517
public class GenerateImagesRequest {
618

@@ -11,7 +23,8 @@ public class GenerateImagesRequest {
1123
private String prompt;
1224

1325
@JsonProperty("image")
14-
private String image;
26+
@JsonDeserialize(using = ImageDeserializer.class)
27+
private List<String> image;
1528

1629
@JsonProperty("response_format")
1730
private String responseFormat;
@@ -31,10 +44,39 @@ public class GenerateImagesRequest {
3144
@JsonProperty("optimize_prompt")
3245
private Boolean optimizePrompt;
3346

47+
@JsonProperty("sequential_image_generation")
48+
private String sequentialImageGeneration;
49+
50+
@JsonProperty("sequential_image_generation_options")
51+
private SequentialImageGenerationOptions sequentialImageGenerationOptions;
52+
53+
@JsonProperty("stream")
54+
private Boolean stream;
55+
56+
@JsonIgnoreProperties(ignoreUnknown = true)
57+
public static class SequentialImageGenerationOptions {
58+
private Integer maxImages;
59+
60+
public Integer getMaxImages() {
61+
return maxImages;
62+
}
63+
64+
public void setMaxImages(Integer maxImages) {
65+
this.maxImages = maxImages;
66+
}
67+
68+
@Override
69+
public String toString() {
70+
return "SequentialImageGenerationOptions{" +
71+
"maxImages=" + maxImages +
72+
'}';
73+
}
74+
}
75+
3476
public GenerateImagesRequest() {
3577
}
3678

37-
public GenerateImagesRequest(String model, String prompt, String image, String responseFormat, Integer seed, Double guidanceScale, String size, Boolean watermark, Boolean optimizePrompt) {
79+
public GenerateImagesRequest(String model, String prompt, List<String> image, String responseFormat, Integer seed, Double guidanceScale, String size, Boolean watermark, String sequentialImageGeneration, SequentialImageGenerationOptions sequentialImageGenerationOptions, Boolean optimizePrompt, Boolean stream) {
3880
this.model = model;
3981
this.prompt = prompt;
4082
this.image = image;
@@ -44,6 +86,9 @@ public GenerateImagesRequest(String model, String prompt, String image, String r
4486
this.size = size;
4587
this.watermark = watermark;
4688
this.optimizePrompt = optimizePrompt;
89+
this.sequentialImageGeneration = sequentialImageGeneration;
90+
this.sequentialImageGenerationOptions = sequentialImageGenerationOptions;
91+
this.stream = stream;
4792
}
4893

4994
public String getModel() {
@@ -62,14 +107,18 @@ public void setPrompt(String prompt) {
62107
this.prompt = prompt;
63108
}
64109

65-
public String getImage() {
110+
public List<String> getImage() {
66111
return this.image;
67112
}
68113

69-
public void setImage(String image) {
114+
public void setImage(List<String> image) {
70115
this.image = image;
71116
}
72117

118+
public void setImage(String image) {
119+
this.image = image == null ? null : Collections.singletonList(image);
120+
}
121+
73122
public String getResponseFormat() {
74123
return this.responseFormat;
75124
}
@@ -118,6 +167,30 @@ public void setOptimizePrompt(Boolean optimizePrompt) {
118167
this.optimizePrompt = optimizePrompt;
119168
}
120169

170+
public Boolean getStream() {
171+
return this.stream;
172+
}
173+
174+
public void setStream(Boolean stream) {
175+
this.stream = stream;
176+
}
177+
178+
public SequentialImageGenerationOptions getSequentialImageGenerationOptions() {
179+
return this.sequentialImageGenerationOptions;
180+
}
181+
182+
public void setSequentialImageGenerationOptions(SequentialImageGenerationOptions sequentialImageGenerationOptions) {
183+
this.sequentialImageGenerationOptions = sequentialImageGenerationOptions;
184+
}
185+
186+
public String getSequentialImageGeneration() {
187+
return sequentialImageGeneration;
188+
}
189+
190+
public void setSequentialImageGeneration(String sequentialImageGeneration) {
191+
this.sequentialImageGeneration = sequentialImageGeneration;
192+
}
193+
121194
@Override
122195
public String toString() {
123196
return "GenerateImagesRequest{" +
@@ -130,6 +203,9 @@ public String toString() {
130203
", size=" + size +
131204
", watermark=" + watermark +
132205
", optimizePrompt=" + optimizePrompt +
206+
", stream=" + stream +
207+
", sequentialImageGeneration=" + sequentialImageGeneration +
208+
", sequentialImageGenerationOptions=" + sequentialImageGenerationOptions +
133209
'}';
134210
}
135211

@@ -140,13 +216,19 @@ public static GenerateImagesRequest.Builder builder() {
140216
public static class Builder {
141217
private String model;
142218
private String prompt;
143-
private String image;
219+
@JsonDeserialize(using = ImageDeserializer.class)
220+
private List<String> image;
144221
private String responseFormat;
145222
private Integer seed;
146223
private Double guidanceScale;
147224
private String size;
148225
private Boolean watermark;
149226
private Boolean optimizePrompt;
227+
private String sequentialImageGeneration;
228+
229+
private SequentialImageGenerationOptions sequentialImageGenerationOptions;
230+
231+
private Boolean stream;
150232

151233
private Builder() {
152234
}
@@ -161,11 +243,16 @@ public GenerateImagesRequest.Builder prompt(String prompt) {
161243
return this;
162244
}
163245

164-
public GenerateImagesRequest.Builder image(String image) {
246+
public GenerateImagesRequest.Builder image(List<String> image) {
165247
this.image = image;
166248
return this;
167249
}
168250

251+
public GenerateImagesRequest.Builder image(String image) {
252+
this.image = image == null ? null : Collections.singletonList(image);
253+
return this;
254+
}
255+
169256
public GenerateImagesRequest.Builder responseFormat(String responseFormat) {
170257
this.responseFormat = responseFormat;
171258
return this;
@@ -196,6 +283,21 @@ public GenerateImagesRequest.Builder optimizePrompt(Boolean optimizePrompt) {
196283
return this;
197284
}
198285

286+
public GenerateImagesRequest.Builder sequentialImageGeneration(String sequentialImageGeneration) {
287+
this.sequentialImageGeneration = sequentialImageGeneration;
288+
return this;
289+
}
290+
291+
public GenerateImagesRequest.Builder sequentialImageGenerationOptions(SequentialImageGenerationOptions sequentialImageGenerationOptions) {
292+
this.sequentialImageGenerationOptions = sequentialImageGenerationOptions;
293+
return this;
294+
}
295+
296+
public GenerateImagesRequest.Builder stream(Boolean stream) {
297+
this.stream = stream;
298+
return this;
299+
}
300+
199301
public GenerateImagesRequest build() {
200302
GenerateImagesRequest generateImagesRequest = new GenerateImagesRequest();
201303
generateImagesRequest.setModel(model);
@@ -207,7 +309,36 @@ public GenerateImagesRequest build() {
207309
generateImagesRequest.setSize(size);
208310
generateImagesRequest.setWatermark(watermark);
209311
generateImagesRequest.setOptimizePrompt(optimizePrompt);
312+
generateImagesRequest.setSequentialImageGeneration(sequentialImageGeneration);
313+
generateImagesRequest.setSequentialImageGenerationOptions(sequentialImageGenerationOptions);
314+
generateImagesRequest.setStream(stream);
210315
return generateImagesRequest;
211316
}
212317
}
213318
}
319+
320+
class ImageDeserializer extends JsonDeserializer<List<String>> {
321+
@Override
322+
public List<String> deserialize(JsonParser p, DeserializationContext ctxt)
323+
throws IOException, JsonProcessingException {
324+
325+
JsonNode node = p.getCodec().readTree(p);
326+
327+
// 如果是单个 string
328+
if (node.isTextual()) {
329+
return Collections.singletonList(node.asText());
330+
}
331+
332+
// 如果是数组
333+
if (node.isArray()) {
334+
List<String> list = new ArrayList<>();
335+
for (JsonNode element : node) {
336+
list.add(element.asText());
337+
}
338+
return list;
339+
}
340+
341+
// 其他情况(null、对象等)返回空
342+
return Collections.emptyList();
343+
}
344+
}

0 commit comments

Comments
 (0)