-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathWebUIApi.java
More file actions
210 lines (167 loc) · 7.1 KB
/
Copy pathWebUIApi.java
File metadata and controls
210 lines (167 loc) · 7.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
package org.springbus.sd;
import org.springbus.sd.model.Img2ImgModel;
import org.springbus.sd.model.Txt2ImgModel;
import org.springbus.sd.model.WebUIApiResult;
import org.springbus.sd.utils.HttpClientUtil;
import org.springbus.sd.utils.JacksonUtil;
import java.util.List;
import java.util.Map;
public class WebUIApi {
private String baseurl = "http://localhost:7660";
private String userName;
private String passWord;
public WebUIApi(String baseurl) {
this.baseurl = baseurl + "/sdapi/v1";
}
public WebUIApi() {
this.baseurl = baseurl + "/sdapi/v1";
}
public void setAuth(String userName, String passWord) {
this.userName = userName;
this.passWord = passWord;
}
public WebUIApiResult txt2Img(Txt2ImgModel txt2ImgModel) throws Exception {
String url = baseurl + "/txt2img";
String payload = JacksonUtil.toJsonString(txt2ImgModel);
System.out.println(payload);
Map result = HttpClientUtil.postAndGetApiResult(url, payload, userName, passWord);
return toApiResult(result);
}
public WebUIApiResult img2Img(Img2ImgModel img2ImgModel) throws Exception {
String url = baseurl + "/img2img";
String payload = JacksonUtil.toJsonString(img2ImgModel);
Map result = HttpClientUtil.postAndGetApiResult(url, payload, userName, passWord);
return toApiResult(result);
}
private WebUIApiResult toApiResult(Map<String, Object> result) {
Object o = result.get("images");
WebUIApiResult rs = new WebUIApiResult();
if (o == null) {
o = result.get("image");
}
if (o != null && o instanceof List) {
List<String> imgs = (List<String>) o;
for (String img : imgs) {
rs.addImage(img);
}
}
Object info = result.get("info");
if (info instanceof String) {
rs.info.putAll(JacksonUtil.jsonToObject(String.valueOf(info), Map.class));
}
Object parameters = result.get("parameters");
if (parameters != null) {
if (parameters instanceof String) {
rs.parameters.putAll(JacksonUtil.jsonToObject(String.valueOf(parameters), Map.class));
} else if (parameters instanceof Map) {
rs.parameters.putAll((Map<? extends String, ?>) parameters);
}
}
return rs;
}
public WebUIApiResult pngInfo(String image) throws Exception {
String payload = "{\"image\":" + "\"" + image + "\" }";
String url = baseurl + "/png-info";
Map result = HttpClientUtil.postAndGetApiResult(url, payload, userName, passWord);
return toApiResult(result);
}
/**
* param model "clip" or "deepdanbooru"
*/
public WebUIApiResult interrogate(String image, String model) throws Exception {
String payload = " {\"image\":\"" + image + "\", \"model\": " + model + "\"} ";
String url = baseurl + "/interrogate";
Map result = HttpClientUtil.postAndGetApiResult(url, payload, userName, passWord);
return toApiResult(result);
}
public String interrupt() throws Exception {
String url = baseurl + "/interrupt";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String skip() throws Exception {
String url = baseurl + "/skip";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getOptions() throws Exception {
String url = baseurl + "/options";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public Map setOptions(Map<String, Object> options) throws Exception {
String url = baseurl + "/options";
String payload = JacksonUtil.toJsonString(options);
return HttpClientUtil.postAndGetApiResult(url, payload, userName, passWord);
}
public String getCmdFlags() throws Exception {
String url = baseurl + "/cmd-flags";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getProgress() throws Exception {
String url = baseurl + "/progress";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getSamplers() throws Exception {
String url = baseurl + "/samplers";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getSdVae() throws Exception {
String url = baseurl + "/sd-vae";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getUpscalers() throws Exception {
String url = baseurl + "/upscalers";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getLatentUpscaleModes() throws Exception {
String url = baseurl + "/latent-upscale-modes";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getLoras() throws Exception {
String url = baseurl + "/loras";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getSdModels() throws Exception {
String url = baseurl + "/sd-models";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getHypernetworks() throws Exception {
String url = baseurl + "/hypernetwork";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getFaceRestorers() throws Exception {
String url = baseurl + "/face-restorers";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getRealesrganModels() throws Exception {
String url = baseurl + "/realesrgan-models";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getPromptStyles() throws Exception {
String url = baseurl + "/prompt-styles";
String payload = "{}";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getArtistCategories() throws Exception {
String url = baseurl + "/artist-categories";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getArtists() throws Exception {
String url = baseurl + "/artists";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String refreshCheckpoints() throws Exception {
String url = baseurl + "/refresh-checkpoints";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getScripts() throws Exception {
String url = baseurl + "/scripts";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getEmbeddings() throws Exception {
String url = baseurl + "/embeddings";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
public String getMemory() throws Exception {
String url = baseurl + "/memory";
return HttpClientUtil.getAndGetApiResult(url, userName, passWord);
}
}