# Bytedance | Seedream | v4.5 | Edit ByteDance Seedream v4.5 Edit performs precise, text-guided image edits — background swaps, object removal, style transfer, typography changes using up to 14 reference images and delivering native 4K output at 2048×2048 resolution. Its multi-image subject identification and designer-level text rendering make it the professional standard for e-commerce, branding, and editorial production. ## API Information - **Model Slug:** bytedance-seedream-v4-5-edit - **Branded URL:** https://www.eachlabs.ai/bytedance/seedream-v4-5/bytedance-seedream-v4-5-edit - **Provider:** ByteDance - **Category:** Image to Image - **Output Type:** array - **Status:** active - **Base Cost:** $0.04 per image - **Estimated Processing Time:** 35 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/bytedance-seedream-v4-5-edit ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.04 per image - **Pricing Details:** default: $0.04 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | image_urls | array | Yes | - | - | One or more reference image URLs for editing. Supports JPEG, PNG, WEBP, BMP, TIFF, GIF. Max 10 MB per image. | | prompt | string | Yes | - | - | Editing instruction describing the desired changes or output. Recommended: under 600 English words. | | image_size | string | No | auto_2K | square_hd, square, auto_2K, auto_4K, portrait_4_3, landscape_4_3, portrait_16_9, landscape_16_9 | Output image dimensions. square_hd/square: 2048x2048. auto_2K: automatic 2K resolution (default). auto_4K: automatic 4K resolution. portrait_4_3: 1728x2304. landscape_4_3: 2304x1728. portrait_16_9: 1600x2848. landscape_16_9: 2848x1600. | | num_images | integer | No | - | 1–15 | Number of output images to generate (1–15). When > 1, batch generation is enabled automatically and the count is injected into the prompt. Note: reference images + output images must not exceed 15 (e.g. with 2 reference images, max is 13). | | enable_safety_checker | boolean | No | - | - | Compatibility field. Accepted but not used by BytePlus API. | | disable_safety_checker | boolean | No | - | - | Compatibility field. Accepted but not used. | | sync_mode | boolean | No | - | - | Compatibility field. Accepted but not used. | | strength | number | No | - | - | Compatibility field. Accepted but not used. | | max_images | integer | No | - | - | Compatibility field. Accepted but not used. | | seed | integer | No | - | - | Seed for reproducibility. Accepted but not used by v4.5. | | safety_tolerance | string | No | - | - | Compatibility field. Accepted but not used. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance-seedream-v4-5-edit", "input": { "image_urls": [ "https://cdn-us.eachlabs.ai/defaults/a97f4c62366e2a4c68988cda0c5196a6a636a4ca91b3a4c0398855027e64bdcd.png", "https://cdn-us.eachlabs.ai/defaults/488f6b2f62199a1ae65f7e7d83aa5ce41b91b0a0098e5c6c7a5782efd0faa063.png" ], "prompt": "Visual try on" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "array", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **bytedance-seedream-v4.5-edit — Image-to-Image AI Model** Developed by Bytedance as part of the **seedream-v4.5** family, **bytedance-seedream-v4.5-edit** is an advanced **image-to-image AI model** that merges text-to-image synthesis and precise image editing into a unified architecture, enabling targeted modifications like background swaps, style refinements, and layout adjustments without altering the core subject. This ByteDance innovation excels in professional visual creatives, supporting up to 14 reference images for consistent multi-image editing and delivering native high-resolution outputs ideal for developers seeking a robust **Bytedance image-to-image** solution. With its multimodal design, **bytedance-seedream-v4.5-edit** handles complex prompts and image inputs seamlessly, making it perfect for **AI image editor API** integrations that demand speed and fidelity in editing workflows. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.