YM2API Developer docs
Skip to content
Docs / Image 2 · Upscaling and integration Download Markdown ↓

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 quality does 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 image field. Keep each image strictly below 20 MiB; gateway and upstream limits also apply to the total request.
  • JSON: use the images array, with directly downloadable image URLs or data:image/png;base64,....
  • n is the number of output images, not reference-image count. This guide consistently uses n=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:

  • size uses pixel width and height, such as 2048x1152, separated by a lowercase x; the basic example does not additionally send aspect_ratio.
  • For #77, prefer 1024x1024, 1536x1024, 1024x1536, 1536x864 or 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.json

Image 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.json

Let 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.json

Responses

{
  "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.