ByteDance Seed: Seedream 5.0 Pro
Seedream 5.0 Pro creates and edits images with dense infographic layouts, spatially guided local changes, layer separation and realistic photographic textures. Its native multilingual generation supports localized posters and design concepts with substantial on-image text.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Seedream 5.0 Pro is ByteDance Seed’s multimodal image-creation model for professional visual work. It combines new-image generation with reference-based editing, emphasizing the structure of a design as well as its appearance. The producer organizes the edition around four strengths: dense information graphics, interactive editing, realistic imagery and native multilingual generation. Its documented generation interface returns a single finished image; related-image sequences, search and streaming output belong to other edition workflows. Prompt optimization offers standard and fast modes, with fast trading some quality for reduced generation time.
Complex information in one image Pro can turn a substantial brief into an infographic, poster or visual interface concept. Prepare the factual content before the style instructions: approved labels, values, relationships and the order in which the information should be read. Then specify the composition, main focal point, typography and supporting illustrations. For a museum display, provide the exhibit title and three approved descriptions, ask for one illustration beside each description, and specify which heading should dominate. Check the finished hierarchy and wording against the brief, especially the smaller supporting text.
This kind of output is useful for classroom visuals, technical explanations, presentation art and early product-layout exploration. A generated interface image helps communicate a visual idea; keep the actual controls and text in an editable design source when you need to develop it into a working product. For an infographic, retain the original table or notes alongside the image so a designer can verify and correct individual facts.
Spatial guidance for local changes Interactive editing adds location information to the instruction. Mark or select the relevant region, state the change, and identify the surrounding features that must remain. The maker describes points, lasso or box selections and sketches as ways to communicate position. For an interior concept, mark only the chair and request a different material while retaining the camera, floor, wall and nearby shadows. For a product photo, identify the label region rather than requesting a broad redesign of the whole object.
Pro’s edit capabilities include colour and material replacement, adding or removing objects, rendering from a sketch and combining elements from several references. Assign each reference a role: base composition, replacement object, material or palette. For example, supply a room, a fabric swatch and a chair reference, then request the chair in the marked location with the fabric applied. Compare the result with every reference, paying attention to scale, attachment points and illumination. When using a rough sketch, label the areas and tell the model whether the drawn marks should remain in the final picture.
Separating and recomposing visual elements The producer demonstrates splitting an image into independent layers, with transparent elements and restored background content. This is useful for a composition that needs further rearrangement: identify the title, principal subject and decorations to separate, then check each resulting element in a design tool. Keep the base image for comparison. Examine edges, missing detail and the background areas that were hidden by the original subject before moving or replacing elements. Layer separation is a distinct image-processing workflow; asking for several unrelated finished pictures is a different task. In the producer’s layer workflow, one JPEG or PNG image is required: up to 30 MB, 262,144–36,000,000 pixels and a 1:16–16:1 aspect ratio. The result contains a base image and up to 16 PNG layers with alpha, plus each layer’s name, description, stacking order and placement box. Layer sizes use 1K, 1.5K, 2K or an automatic setting that preserves the source aspect ratios.
Realistic light, materials and portraits Pro emphasizes photographic and computer-generated imagery, including lighting, surface behaviour and skin texture. A useful brief describes the physical scene rather than relying only on adjectives: subject, camera position, key light, background and the materials that should reflect or transmit light. For a furniture concept, specify whether the frame is brushed metal, clear glass or painted wood, and explain the lighting. For a portrait treatment, describe the desired changes and preserve the facial features and pose that matter. Inspect skin, hands, reflections and the edges between materials at the final viewing size. The manufacturer’s transparent-background option applies to image editing with exactly one input that already has an alpha channel; transparent output must be PNG. It is separate from ordinary opaque generation.
Multilingual visuals The model supports native prompting and rendered text in multiple widely used languages, including Chinese, English, French, German, Russian, Japanese, Korean, Spanish and Arabic. Supply the exact approved wording, specify the language and reading direction, and identify the regions that contain text. For a localized poster, keep the layout and imagery consistent while giving the heading and supporting copy separately. Ask a reader of that language to inspect the result, including accents, joined characters, line breaks and small labels.
Preparing a useful deliverable Start from the intended image: a data-rich graphic, localized poster, visual concept or precisely revised source picture. Provide the content and references needed for that specific job, then compare the result against the source assets and requested changes. The manufacturer’s generation workflow accepts up to 10 references in JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC or HEIF, up to 30 MB each, with both sides above 14 pixels, 196–36,000,000 total pixels and aspect ratios from 1:16 to 16:1. It returns JPEG or PNG, with 1K, 1.5K and 2K output choices and a 2K default; custom dimensions require 921,600–4,624,220 total pixels and the same ratio range. Image results can be encoded data or download links that expire within 24 hours. The manufacturer identifies fine text rendering and pixel-level edit consistency as continuing areas for improvement. Review dense labels and unchanged regions carefully, even when the overall composition looks convincing.
Ailoot Ultra · Images POST /v1/images/generations bytedance-seed/seedream-5-0-pro
bytedance-seed/seedream-5-0-pro
bytedance-seed/seedream-5-0-proOverview
Seedream 5.0 Pro creates and edits images with dense infographic layouts, spatially guided local changes, layer separation and realistic photographic textures. Its native multilingual generation supports localized posters and design concepts with substantial on-image text.
- Accepted inputs
- Text · Images
- Results
- Images
Available in Ailoot · inputs & methods
Ailoot Ultra · Images POST /v1/images/generations
- Input types
text,image- Output types
image
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits bytedance-seed/seedream-5-0-pro | Default— |
Fieldprompt | Typestring | RequirementRequired | Values & limits Minimum length: 1 | Default— |
Fieldresolution | Typestring | RequirementOptional | Values & limits 1K, 2K | Default— |
Fieldaspect_ratio | Typestring | RequirementOptional | Values & limits 1:1, 1:2, 2:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 9:19.5, 19.5:9, 9:20, 20:9, 9:21, 21:9, auto | Default— |
Fieldn | Typeinteger | RequirementOptional | Values & limits Minimum: 1 Maximum: 1 | Default— |
Fieldinput_references | Typearray | RequirementOptional | Values & limits Minimum items: 0 Maximum items: 14 | Default— |
Fieldprovider | Typeobject | RequirementOptional | Values & limits | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt |
Parametermaterial_types | Contracttext, image |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
How the final charge is calculated
The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Estimated rates for comparison
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Forecast quantity | Billing unit | Charge |
|---|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Forecast quantity— | Billing unit— | Charge Input · Input tokens · Estimate for comparison only — / 1K tokens Output · Output tokens · Estimate for comparison only — / 1K tokens Input · Cache read · Estimate for comparison only — / 1K tokens Input · Cache write · Estimate for comparison only — / 1K tokens Input · Cache write, 1 hour · Estimate for comparison only — / 1K tokens |
| Configurationinput image | Rate schedule— | Forecast quantity— | Billing unitper input image | Charge Input · input image · Estimate for comparison only $0.006 per input image |
| Configurationoutput image | Rate schedule— | Forecast quantity— | Billing unitper output image | Charge Output · output image · Estimate for comparison only $0.09 per output image |
| ConfigurationEstimated generation cost | Rate schedule— | Forecast quantityone generation estimate | Billing unit— | Charge Output · Estimated generation cost · Estimate for comparison only $0.09 estimate before generation This estimate is not an additional charge or a fixed rate for the completed generation. |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Images
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Receive and save results
Ailoot Ultra · Images
Download each returned image or save its Base64 contents
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Other content reads
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Keep all completed results
Save every completed image; retrieve each returned URL or decode its Base64 contents.
Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
If the original response needs checking
Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation.
Response fields
| Field | Type |
|---|---|
Fieldcreated | Type |
Fielddata[].url | Type |
Fielddata[].b64_json | Type |
Fieldusage | Type |
Aliases
Model aliases
Ailoot Ultra bytedance-seed/seedream-5-0-pro
Method path aliases
/v1/images
Related caller IDs
FAQ · ByteDance Seed: Seedream 5.0 Pro
- What inputs and results are available?
POST /v1/images/generations·bytedance-seed/seedream-5-0-pro:text,image→image- Which fields does the request use?
POST /v1/images/generations·bytedance-seed/seedream-5-0-pro:model,prompt,resolution,aspect_ratio,n,input_references,provider- What limits apply?
POST /v1/images/generations·bytedance-seed/seedream-5-0-pro:n.minimum:1;n.maximum:1