Hy Image 3.5 Preview

Hy-Image-3.5-Preview

Use the HY Image 3.5 Preview API for AI image generation. Describe the subject, composition, and style in the image request. Create illustrations, design concepts, and visual assets. Compare the available provider routes, request examples, and usage prices on OpenAny.

Published price
Output $1.379 / 1M tokens
Billing unit
/ 1M tokens
Context / Max output
— / —
Listed routes
1
Base URL
https://api.openany.si/v1
POST
/v1/images
Authentication
Authorization: Bearer $OPENANY_API_KEY

Provider

Published price Output $1.379 / 1M tokens

Request parameters

ParameterType / rangeDefault valueRequiredDescription
messagesarray—YesMulti-turn conversation messages ordered from oldest to newest. The server uses the last user message as the current image generation instruction, while earlier messages are passed as context for multi-turn editing.
modelstring · hy-image-v3.5-previewhy-image-v3.5-previewYesModel ID used for image generation.
footnotestring—NoCustom business watermark text rendered in the bottom-right corner of the image. Maximum length is 16 Unicode characters.
generate_max_pixelsinteger · 1048576 | 2359296 | 41943042359296NoTarget generated image area in pixels. Only effective when size is not provided. Supported tiers are 1048576 for 1K, 2359296 for 1.5K, and 4194304 for 2K. Non-enum intermediate values are rounded to the nearest tier.
resize_max_pixelsinteger1048576NoMaximum input reference image area in pixels. Images at or below this threshold are passed through unchanged; larger images are proportionally downscaled near the threshold before being sent to the model.
seedinteger · >= 0—NoGeneration seed as int64. Valid range is [0, 2^63-1]. When omitted or set to 0, the server assigns a random seed. Negative values are rejected.
sessionstring—NoSession ID used for consistent hash scheduling. Keeping the same session across multi-turn requests can improve KV-cache hit rate.
sizestring—NoGenerated image size in WIDTHxHEIGHT format. Width and height must be positive integers in [256, 8192], and total area must not exceed 16,777,216 pixels. If omitted or empty, the model chooses the size based on prompt semantics and generate_max_pixels. For 4K output, pass 4096x4096.
use_search_toolobject—NoExternal search enhancement switch. Fixed structure: {"value": true} or {"value": false}. Disabled by default.

Request example

curl 'https://api.openany.si/v1/images' \
  -H "Authorization: Bearer $OPENANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "messages": [
    {
      "content": [
        {
          "text": "A small river flowing",
          "type": "text"
        }
      ],
      "role": "user"
    }
  ],
  "model": "Hy-Image-3.5-Preview",
  "route_mode": "balanced",
  "size": "4096x4096",
  "generate_max_pixels": 2359296,
  "resize_max_pixels": 1048576
}'

Response example

Configured response example · not a live result

JSON
{
  "id": "1435304360-WandImage-af4a80501b6e402085e18031e24310a0",
  "model": "HY-Image-3.5-Preview-4090-Tob-v1.1",
  "round": 0,
  "object": "image.chat.completion.chunk",
  "choices": [
    {
      "delta": {
        "type": "image",
        "image": {
          "url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F23%2F932a3929-c3b8-49e9-8c77-eedbd60ead55.png",
          "width": 4096,
          "height": 4096,
          "source": "generate",
          "tool_call_id": "generate@call_0"
        }
      },
      "index": 0,
      "finish_reason": null
    }
  ],
  "created": 1790135140,
  "request_id": "b847d79d-f8f4-4fae-bea2-f4f7c55082f6",
  "tokenhub_usage": {
    "total_tokens": 20000
  },
  "openmodels_cost": 29624,
  "assembled_history": [
    {
      "role": "assistant",
      "content": [
        {
          "text": "",
          "type": "text"
        }
      ],
      "reasoning": "The input prompt 'A small river flowing' is extremely minimal, so the primary task is to construct a complete environmental narrative around this core action. To emphasize the sense of movement and vitality, the camera perspective should be positioned close to the water's surface, allowing for a detailed view of the current and submerged elements. The environment surrounding the river needs to be fleshed out to provide context and scale; adding a textured riverbed with rocks and patches of vegetation, along with a framing structure like a bridge in the background, creates depth and guides the viewer's eye. Lighting plays a crucial role in revealing these details, so bright, direct sunlight is appropriate to cast sharp shadows and highlight the water's surface and the surrounding foliage. The style should aim for photorealism to capture the crispness of natural textures, with a color palette that balances the cool tones of the water against the warm greens of the land. Finally, defining the composition to include these natural and structural elements ensures the image feels like a cohesive, serene landscape rather than an isolated water feature.",
      "tool_calls": [
        {
          "id": "generate@call_0",
          "type": "function",
          "function": {
            "name": "generate",
            "arguments": "{\"source_image_indices_list\":\"[]\",\"recaption\":\"Captured from an eye-level perspective, this close-up presents a detailed view of a small river flowing through what appears to be a park or garden. The immediate foreground is dominated by the river itself, its surface a mix of clear water revealing the rocky bed beneath and areas of white foam created by the current. The water's movement creates dynamic ripples that catch the bright sunlight, resulting in shimmering highlights across its expanse. Submerged within the shallower parts of the riverbed are numerous smooth, rounded stones of varying sizes, colored in shades of brown, tan, and grey. A few patches of dark green aquatic plants cling to some of the rocks, adding texture to the underwater view.\\n\\nThe midground transitions into the far bank of the river. This area features more large, weathered boulders forming a rugged shoreline. Interspersed among these rocks are several young trees with thin trunks and vibrant green leaves, suggesting a well-tended environment. These trees cast distinct, dark shadows onto the ground below them, indicating the presence of strong overhead lighting. Behind this cluster of trees stands a prominent concrete structure, likely part of a bridge abutment or retaining wall. It has a rough, textured surface and rises vertically behind the foliage. Above it, a flat-topped concrete slab forms the top of the structure. Further back, another section of the concrete bridge pier can be seen.\\n\\nThe entire scene is bathed in bright, direct daylight, which contributes to the high-contrast look and the vividness of the colors. The atmosphere is one of tranquility and serenity, evoking a sense of peaceful solitude. The composition employs framing, using the overhanging branches at the top right and the rocky banks on either side to enclose the central subject—the flowing river—and draw attention inward along its path. The color palette is predominantly natural, with the cool blues and whites of the water contrasting sharply with the warm browns of the earth and wood, and the lively greens of the plant life. A realistic photographic style featuring natural light and shadow with clear details.\",\"image_width\":\"<|img_tw_th_93|>\",\"image_height\":\"<|img_tw_th_162|>\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F23%2F932a3929-c3b8-49e9-8c77-eedbd60ead55.png"
          }
        }
      ],
      "tool_call_id": "generate@call_0"
    },
    {
      "role": "assistant",
      "content": [
        {
          "text": "",
          "type": "text"
        }
      ]
    }
  ]
}

Error handling

400Check the model ID and request fields.
429Retry with exponential backoff.
5xxRetry only temporary provider failures.

JSON Schema

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "model",
    "messages"
  ],
  "properties": {
    "seed": {
      "type": "integer",
      "minimum": 0,
      "description": "Generation seed as int64. Valid range is [0, 2^63-1]. When omitted or set to 0, the server assigns a random seed. Negative values are rejected."
    },
    "size": {
      "type": "string",
      "description": "Generated image size in WIDTHxHEIGHT format. Width and height must be positive integers in [256, 8192], and total area must not exceed 16,777,216 pixels. If omitted or empty, the model chooses the size based on prompt semantics and generate_max_pixels. For 4K output, pass 4096x4096."
    },
    "model": {
      "enum": [
        "hy-image-v3.5-preview"
      ],
      "type": "string",
      "default": "hy-image-v3.5-preview",
      "description": "Model ID used for image generation."
    },
    "session": {
      "type": "string",
      "description": "Session ID used for consistent hash scheduling. Keeping the same session across multi-turn requests can improve KV-cache hit rate."
    },
    "footnote": {
      "type": "string",
      "description": "Custom business watermark text rendered in the bottom-right corner of the image. Maximum length is 16 Unicode characters."
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "enum": [
              "user",
              "assistant",
              "tool"
            ],
            "type": "string",
            "description": "Message role. Supported values are user, assistant, and tool. The tool role is used when feeding previous generation results back into the next turn."
          },
          "content": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "text": {
                  "type": "string",
                  "description": "Text content used when type is text."
                },
                "type": {
                  "enum": [
                    "text",
                    "image_url"
                  ],
                  "type": "string",
                  "description": "Content part type. Supported values are text and image_url."
                },
                "image_url": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "Public image URL or data:image/...;base64,... image payload."
                    }
                  },
                  "description": "Image input used when type is image_url. Structure: {\"url\":\"...\"}. Supports public HTTP(S) URLs and data:image/...;base64,... URLs. Each image must be no larger than 20 MB, and up to 20 images are supported before server-side truncation."
                },
                "is_generate": {
                  "type": "boolean",
                  "description": "Tool-only field. Set to true for image content produced by a previous generate tool result. Do not send in other scenarios."
                }
              }
            },
            "description": "Message content parts. Can be omitted for assistant messages that only trigger tool calls without text."
          },
          "reasoning": {
            "type": "string",
            "description": "Assistant-only field for multi-turn replay. Passes through the raw reasoning text from the previous response."
          },
          "tool_calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Tool call ID. Must match the related tool_call_id when a tool message returns the result."
                },
                "type": {
                  "enum": [
                    "function"
                  ],
                  "type": "string",
                  "description": "Tool call type. The supported value is function."
                },
                "function": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Function name for the tool call."
                    },
                    "arguments": {
                      "type": "string",
                      "description": "Function arguments as a JSON string."
                    }
                  },
                  "description": "Function tool call payload."
                }
              }
            },
            "description": "Assistant-only field for multi-turn replay. Standard OpenAI tool calls, where each item contains id, type:function, and function{name, arguments}."
          },
          "tool_call_id": {
            "type": "string",
            "description": "Tool-only field for multi-turn replay. Must exactly match the previous assistant.tool_calls item ID."
          }
        }
      },
      "description": "Multi-turn conversation messages ordered from oldest to newest. The server uses the last user message as the current image generation instruction, while earlier messages are passed as context for multi-turn editing."
    },
    "use_search_tool": {
      "type": "object",
      "properties": {
        "value": {
          "type": "boolean",
          "default": false,
          "description": "Whether to enable external search enhancement."
        }
      },
      "description": "External search enhancement switch. Fixed structure: {\"value\": true} or {\"value\": false}. Disabled by default."
    },
    "resize_max_pixels": {
      "type": "integer",
      "default": 1048576,
      "description": "Maximum input reference image area in pixels. Images at or below this threshold are passed through unchanged; larger images are proportionally downscaled near the threshold before being sent to the model."
    },
    "generate_max_pixels": {
      "enum": [
        1048576,
        2359296,
        4194304
      ],
      "type": "integer",
      "default": 2359296,
      "description": "Target generated image area in pixels. Only effective when size is not provided. Supported tiers are 1048576 for 1K, 2359296 for 1.5K, and 4194304 for 2K. Non-enum intermediate values are rounded to the nearest tier."
    }
  }
}

Model API questions

How do I call Hy Image 3.5 Preview through OpenAny?

Use model ID Hy-Image-3.5-Preview with an OpenAny key and the operation published in this model's API tab. The model API base is https://api.openany.si/v1. Confirm the protocol and request schema; model availability does not imply every OpenAI API operation is supported.

How is Hy Image 3.5 Preview billed?

Compare the published rate and billing unit of the selected provider route. Input, output and cache token rates may differ. Image, audio and video models can use other units. Recorded usage determines the charge under that route's billing contract.

Are Community and Verified routes the same as an official publisher API?

No. Inspect the provider name and supply classification for the specific route. A marketplace listing or a supply label is not a claim of publisher endorsement, identical service or measured uptime. Different route prices may reflect different supply and conditions.

Where do these prices come from, and when were they updated?

Rates come from the provider routes in OpenAny's public model catalog, not an independent quote from the model publisher. The catalog does not supply a price update timestamp. A page or catalog snapshot date is not a price revision date. Compare supply, billing units, tiers and conditions; a lower listed rate alone does not establish equivalent service or explain the price difference.

Use Hy Image 3.5 Preview with your agent

Inspect endpoint contracts and confirm availability and pricing before a paid call.