Site 2 image API documentation
English translation. Model names, API fields and executable examples retain their original text, including prompts and comments.
Applies to groups: #75、#77、#127. Updated: 2026-09-14.
- API base URL:
https://yyds.seqnode.com/v1 - Authentication:
Authorization: Bearer YOUR_API_KEY - Your API key determines the group. Changing the model name or
qualitydoes not switch groups.
1. Groups and models
| Group | Available models | Capabilities |
|---|---|---|
| #75: upscaling available | gpt-image-2, gpt-image-2.5, gpt-image-2.5-flare, gpt-image-2.5-sunburst |
Includes native and local-upscaling channels; all four names map togpt-image-2 |
| #77: no upscaling | gpt-image-2, gpt-image-2.5, gpt-image-2.5-flare, gpt-image-2.5-sunburst |
No local upscaling; all four names map togpt-image-2 |
| #127:Image 2 / flare / sunburst | gpt-image-2, gpt-image-2.5-flare, gpt-image-2.5-sunburst |
Each of the three models retains its upstream name; the group does not offergpt-image-2.5 |
Note: flare / sunburst in #75 and #77 are aliases, different from the same names in #127.
2. Reference-image counts
| Scenario / group | Counts and limits |
|---|---|
| Text to image | 0 references |
| #75 image editing | Start with 1–2 references; two were verified. When a request actually enters the local upscaling proxy, the limit is 15 |
| #77 image editing | Start with 1–2 references; two were verified. A common maximum across upstreams has not been confirmed; larger counts need separate testing |
- File uploads: repeat the
imagefield. Keep each image strictly below 20 MiB; gateway and upstream limits also apply to the total request. - JSON: use the
imagesarray, with directly downloadable image URLs ordata:image/png;base64,.... nis the number of output images, not reference-image count. This guide consistently usesn=1.
3. Dimensions, ratios and upscaling
Which requests currently use upscaling?
Requests pass through the upscaling proxy only when routed to the local upscaling account. Size-based automatic routing is currently disabled, so requesting 2K/4K or nonstandard dimensions in #75 does not guarantee that the proxy is used. #77 and #127 are not bound to this local upscaling account.
Inside the proxy, the upstream source size follows the target orientation. The result is scaled proportionally and center-cropped to the target dimensions:
| Target orientation | Upstream source size | Target examples |
|---|---|---|
| Square | 1024x1024 |
2048x2048, 4096x4096 |
| Landscape | 1536x1024 |
2048x1152, 3840x2160 |
| Portrait | 1024x1536 |
1152x2048, 2160x3840 |
Here, upscaling means image resampling and cropping, not an additional AI upscaling model. Smaller targets may be downscaled; cropping may remove edge content.
Standard reference dimensions
The following 14 dimensions come from the site's routing configuration template. That template is currently disabled. They explain “standard / nonstandard” dimensions and do not describe live automatic routing.
| Orientation | Standard reference sizes |
|---|---|
| Square | 1024x1024, 1280x1280 |
| Landscape | 1536x1024, 1536x1152, 1360x1024, 1536x864, 1600x900, 1824x1024 |
| Portrait | 1024x1536, 1152x1536, 1024x1360, 864x1536, 900x1600, 1024x1824 |
Ratios and nonstandard size examples
Common ratios: 1:1、16:9、9:16、4:3、3:4、3:2、2:3、3:1、1:3、21:9、9:21、5:4、4:5.
The dimensions below are outside the standard reference set above. They are request templates, not an individually verified allowlist for all models or a billing-tier table.
| Aspect ratio | Nonstandardsize example |
|---|---|
| 1:1 | 2048x2048, 2880x2880, 4096x4096 |
| 16:9 | 1792x1008, 2048x1152, 2560x1440, 3840x2160 |
| 9:16 | 1008x1792, 1152x2048, 1440x2560, 2160x3840 |
| 4:3 | 2048x1536, 4096x3072 |
| 3:4 | 1536x2048, 3072x4096 |
| 3:2 | 3072x2048, 3840x2560 |
| 2:3 | 2048x3072, 2560x3840 |
| 3:1 | 1536x512, 3072x1024, 3840x1280 |
| 1:3 | 512x1536, 1024x3072, 1280x3840 |
| 21:9 | 2016x864, 3780x1620 |
| 9:21 | 864x2016, 1620x3780 |
| 5:4 | 2560x2048, 3840x3072 |
| 4:5 | 2048x2560, 3072x3840 |
2000x1001 and other custom dimensions are also outside the standard set; listing every possible size is impractical.
How to fill the fields:
sizeuses pixel width and height, such as2048x1152, separated by a lowercasex; the basic example does not additionally sendaspect_ratio.- For #77, prefer
1024x1024,1536x1024,1024x1536,1536x864or the corresponding portrait sizes. - For #127, prefer 16:9 / 9:16 requests, such as
3840x2160,2160x3840; actual returned images are the source of truth. - Local proxy limits: positive integer dimensions; each side ≤ 16384 and total pixels ≤ 67,108,864. Multiples of 16 are not required. These limits do not mean every native upstream accepts the same sizes.
Verified two-reference requests:
| Group / model | Requested size | Actual result |
|---|---|---|
#75 / gpt-image-2 |
2048x1152 |
1672x941; this request did not use the upscaling account |
#77 / gpt-image-2.5-sunburst |
1536x864 |
1536x864 |
#127 / gpt-image-2.5-sunburst |
3840x2160 |
3584x2016 |
All three returned HTTP 200. Requested dimensions, actual pixels and billing tiers are different concepts. Inspect image dimensions before delivery.
4. Request examples
Choose your group key, model and size first
The commands below are for Bash / WSL. Choose the group you need and execute only the required request.
| Group | Example modelMODEL |
Example sizeSIZE |
QUALITY |
|---|---|---|---|
| #75 | gpt-image-2 |
2048x1152 |
Leave blank |
| #77 | gpt-image-2.5-sunburst |
1536x864 |
Leave blank |
| #127 | gpt-image-2 |
3840x2160 |
medium |
Other models in the same group use the same structure; replace MODEL. For #127 flare / sunburst, you may initially omit quality; that field does not guarantee a quality-tier switch.
Text to image: JSON
The example below uses #75. When switching groups, replace the key, model and size; for #127's gpt-image-2 also add "quality":"medium".
export YM2API_KEY="YOUR_GROUP_75_API_KEY"
curl --max-time 300 "https://yyds.seqnode.com/v1/images/generations" \
-H "Authorization: Bearer $YM2API_KEY" \
-H "Content-Type: application/json" \
--data-binary '{
"model": "gpt-image-2",
"prompt": "白色陶瓷杯放在木桌上,柔和自然光,无文字",
"size": "2048x1152",
"n": 1,
"response_format": "b64_json"
}' \
-o response.jsonImage editing: upload two local images
The following uses #127's gpt-image-2. For one reference, remove the second image field; for other groups, replace parameters according to the table.
export YM2API_KEY="YOUR_GROUP_127_API_KEY"
curl --max-time 300 "https://yyds.seqnode.com/v1/images/edits" \
-H "Authorization: Bearer $YM2API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=保留图1的主体,采用图2的配色,白色背景,无文字" \
-F "image=@reference-1.png" \
-F "image=@reference-2.png" \
-F "size=3840x2160" \
-F "quality=medium" \
-F "n=1" \
-F "response_format=b64_json" \
-o response.jsonLet cURL generate the multipart headers; do not manually set Content-Type.
Image editing: image URLs / Base64
For this #77 example, save the following as edit.json and substitute actual image URLs or Base64.
{
"model": "gpt-image-2.5-sunburst",
"prompt": "保留图1的主体,采用图2的配色,白色背景,无文字",
"images": [
{"image_url": "https://YOUR_IMAGE_HOST/reference-1.png"},
{"image_url": "data:image/png;base64,YOUR_REFERENCE_2_BASE64"}
],
"size": "1536x864",
"n": 1,
"response_format": "b64_json"
}export YM2API_KEY="YOUR_GROUP_77_API_KEY"
curl --max-time 300 "https://yyds.seqnode.com/v1/images/edits" \
-H "Authorization: Bearer $YM2API_KEY" \
-H "Content-Type: application/json" \
--data-binary @edit.json \
-o response.jsonResponses
{
"created": 1789380000,
"data": [{"b64_json": "BASE64_IMAGE_BYTES"}]
}Decode data[].b64_json and save the images. When using response_format=url, support and link expiration depend on the upstream; download promptly.
To retrieve the current key's complete model list, call GET https://yyds.seqnode.com/v1/models with the same authentication header.
#127 update: gpt-image-2 supports up to 10 references; 11 returns 400. See the group-specific tests.