ByteDance
Seedream 4.5
seedream-4.5/image-to-image
ByteDance's commercial-grade image model, featuring cinematic lighting, cross-shot character consistency, and multi-image reference editing, ideal for high-resolution outputs for e-commerce and marketing assets
Try seedream-4.5/image-to-image
Input
Showcases
View all showcasesOutput
imagePricing
seedream-4.5/image-to-image per image
| Unit Price | $0.045 |
|---|
Positioning Overview
The Seedream 4.5 image editing line is aimed at developers who need to make controllable rewrites based on existing assets. It accepts 1 to 14 reference images plus an editing instruction, and outputs finished images at 2K or 4K resolution, with aspect ratios selectable from 1:1 to 21:9. It suits batch image-generation workflows for e-commerce, marketing, and film/TV concept work: it must both carry over the characters, products, or scenes from the reference images and adjust image details according to text instructions, producing high-resolution images ready for direct delivery.
Core Highlights
- Multi-reference-image-driven editing workflow — up to 14 reference images can be submitted at once, used to fuse multiple elements or keep the subject consistent before rewriting the image per instructions.
- Native 2K and 4K resolution options — the output resolution is specified directly in the parameters, with the 4K tier aimed at commercial delivery scenarios requiring high-resolution finished images.
- Aspect ratios covering landscape, portrait, and widescreen compositions — supports eight aspect ratios including 1:1, 4:3, 16:9, and 21:9; the layout can be locked in before generation, reducing secondary cropping.
Capability Description
Instruction-driven image rewriting: describe the target effect with an editing instruction of up to 3000 characters; the model completes the rewrite while preserving the content of the reference images, reducing the iteration cost of repeated redrawing.
Multi-image fusion and subject continuity: with 1 to 14 reference images input simultaneously, multiple assets can be combined in a single finished image, or a character or product can keep consistent form and texture across multiple shots.
Selectable resolution and aspect ratio: output supports two tiers, 2K standard and 4K ultra-HD, and with eight aspect ratios it directly produces finished images that meet placement and layout requirements.
In-image text rendering: it has good restoration capability for text such as labels and signage within the image, suitable for generating material-type images that require visible text.
Use Cases
- E-commerce operations: changing the scene of real product photos — input a product reference image and a scene description to produce multi-angle product scene images for detail pages and ad placements.
- Marketing design: extending materials based on key visuals — use an existing key visual as reference, and batch-generate landscape and portrait materials in different aspect ratios for on-site and social media channels.
- Film/TV and storyboards: generating images that continue a character's appearance — submit character reference images and storyboard instructions to produce a continuous series of images with a consistent appearance, for storyboard and concept design discussions.
Limitations and Selection Advice
Reference images must be publicly accessible jpeg, png, or webp links, no more than 10MB each; SVG is not supported. Instruction length is limited to between 4 and 3000 characters; anything beyond that must be trimmed by the user. 4K output and combinations of multiple reference images increase generation latency, so this is not suitable for real-time interactive scenarios sensitive to response speed. If the need is to generate from scratch without reference assets, the text-to-image line in the same family should be chosen instead; if non-image output is required, this line does not apply.
Frequently asked questions
View all FAQs →-
What is the difference between Seedream 4.5 image-to-image and text-to-image?
The image-to-image endpoint uses uploaded images as editing references for recoloring, scene changes, relighting, style transfer, and multi-image composition. Text-to-image starts from a written prompt without a source image. Use this image-to-image model when subjects, composition, or in-image text should remain recognizable.
-
How many reference images does Seedream 4.5 support?
Each request accepts 1–14 JPEG, PNG, or WebP images up to 10 MB each; SVG is not supported. For multi-image jobs, refer to inputs as “image 1” and “image 2” in the prompt, matching their order in the image_urls array.
-
How is Seedream 4.5 image editing priced, and do more references cost extra?
Billing is per successful output image, not per reference image. The current public rate is the same for 2K and 4K output. See the live model price and task record for the final charge.
-
How do I preserve a subject, composition, or text during an edit?
State both what should change and what must remain unchanged, such as the subject silhouette, camera angle, contact shadow, storefront layout, or calligraphy. Review the result in the Playground first. Keep human review for brand text or layouts that must be exact.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: seedream-4.5/image-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for seedream-4.5/image-to-image and route default — see the parameter table below.
promptstringRequiredminLength 4maxLength 3000Editing instruction describing the desired image output effect, maximum length 3000 characters.
image_urlsarrayRequiredminItems 1maxItems 14Array of input reference images, supporting 1 to 14 images; each must be a publicly accessible URL in jpeg/png/webp format, no larger than 10MB per image, SVG is not supported.
Array [ string ]
resolutionstringRequiredDefault: "2K"Output image resolution; 2K is standard quality, 4K is ultra-high definition; default is 2K.
2K4Kaspect_ratiostringRequiredDefault: "1:1"Aspect ratio of the generated image; default is 1:1.
1:14:33:416:99:162:33:221:9callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-4.5/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "2K",
"aspect_ratio": "1:1"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "seedream-4.5/image-to-image",
input: {
"prompt": "…",
"image_urls": "…",
"resolution": "2K",
"aspect_ratio": "1:1"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "seedream-4.5/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "2K",
"aspect_ratio": "1:1"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
GPT Image 2.5 OpenAI $0.017 /image -
Grok Imagine xAI $0.011 /second -
Recraft Crisp Upscale Recraft $0.004 /image -
Qwen Image 2.1 Alibaba $0.020 /image -
Grok Imagine Quality xAI $0.070 /image -
FIBO 1.5 Bria $0.058 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
Google Virtual Try-On Google $0.107 /image -
FLUX.2 Black Forest Labs $0.035 /image -
BRIA Product Shot Bria $0.058 /image -
Ideogram V3 Character Ideogram $0.090 /image







