Documentation Index
Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Seedream 4.5 is a ByteDance image model for text-to-image generation and reference-guided image generation. It supports 2K and 4K output tiers, up to 10 images per request, and optional sequential image generation for connected image sets. Use this page when you are ready to call the API after trying the model in the APIXO playground.| Capability | Value |
|---|---|
| Model ID | seedream-4-5 |
| Modes | text-to-image, image-to-image |
| Prompt length | 1-5000 characters |
| Reference images | 1-14 URLs for image-to-image |
| Images per task | max_images is required, 1-10 |
| Resolution tiers | 2K, 4K |
| Aspect ratios | 1:1, 2:3, 3:2, 4:3, 3:4, 9:16, 16:9, 21:9 |
| Sequential generation | disabled, auto |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/seedream-4-5 | Submit a generation task |
GET | /statusTask/seedream-4-5?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a text-to-image task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Text-to-image
Image-to-image
Multi-image sequence
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.Seedream 4.5 input parameters.
aspect_ratio is provided, APIXO maps resolution and aspect_ratio to an exact upstream size:
| Aspect ratio | 2K size | 4K size |
|---|---|---|
1:1 | 2048x2048 | 4096x4096 |
2:3 | 1664x2496 | 3328x4992 |
3:2 | 2496x1664 | 4992x3328 |
3:4 | 1728x2304 | 3520x4704 |
4:3 | 2304x1728 | 4704x3520 |
9:16 | 1600x2848 | 3040x5504 |
16:9 | 2848x1600 | 5504x3040 |
21:9 | 3136x1344 | 6240x2656 |
Response format
Submit task response
POST /generateTask/seedream-4-5 returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing the generated image URLs. Present when
state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds. Present after successful completion.
success and resultJson.resultUrls contains only the successful images. Any requested images that did not complete are not included in resultUrls.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.code: 500, message: "failed", and include failCode / failMsg in data.
See Webhooks for delivery requirements and retry behavior.
Billing
Seedream 4.5 is billed per successfully generated image.| Unit | APIXO price |
|---|---|
| Generated image | $0.035 / image |
max_images * unit price when the task is accepted. If fewer images complete successfully, the unused portion is refunded automatically.
For current route and market comparison pricing, see Pricing.
Latency and polling
Actual latency may vary by prompt complexity, number of requested images, reference image count, and current provider queue load.| Resolution | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
2K | 25s-35s | 20s after task creation | 3s-5s |
4K | 40s-55s | 30s after task creation | 5s |
429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body, mode, parameter type, parameter value, or prompt length | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model, or content is blocked before task creation | Check permissions and input content |
404 | Model route or task ID was not found | Check the endpoint path and taskId |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error or streaming finalization error | Retry with backoff |
502 | Upstream provider error | Retry with backoff |
504 | Upstream timeout | Retry, reduce input complexity, or use callback mode |
Task failure codes
| Fail code | Meaning | What to do |
|---|---|---|
SensitiveContentDetected | Input or output was flagged as sensitive | Change the prompt or reference images |
InputOutputSensitiveContentDetected | Input or output failed safety checks | Use different prompt or image inputs |
PromptInvalid | Prompt was invalid or rejected by the provider | Rewrite the prompt and retry |
BadRequest | Required parameters were missing or malformed upstream | Check mode, prompt, max_images, resolution, aspect_ratio, and image_urls |
InvalidImageSize | A reference image size is unsupported | Use a different image size |
ImageFormatIncorrect | A reference image format could not be accepted | Use a direct JPEG, PNG, or WebP image URL |
Upload error | A reference image is too large | Compress the image and retry |
RateLimitExceeded | Provider-side rate limit reached | Retry later with backoff |
Timeout | Provider processing timed out | Retry with simpler inputs or fewer images |
StreamError | Streaming request failed after retries | Retry later |
FinalizeError | Result finalization failed | Retry or contact support with the taskId |
Validation error | Upstream rejected the request as invalid | Check all parameters and image URLs |
UpstreamError | Provider returned an unmapped failure | Retry or contact support with the taskId |
Common fixes
- Missing
mode: Includeinput.mode; routing requirestext-to-imageorimage-to-image. - Missing
max_images: Includeinput.max_images; it is required even when you only want one image. - Image-to-image errors: Include at least one public, direct URL in
image_urls; the maximum is 14 URLs. - Unexpected aspect ratio: Omit
aspect_ratioonly if you want the provider to use the resolution tier without a forced ratio. - Partial output: If only some images complete, the task can still be
success; parseresultUrlsand use the returned URLs only. See Error Codes for the full error reference.