# Seedream V4 | Text to Image Seedream v4 is a text-to-image AI model developed by ByteDance. It generates high-resolution visuals quickly and can consistently recreate the same character or object across different scenes. The model delivers strong results in product photography, landscapes, anime, and advertising visuals. ## API Information - **Model Slug:** seedream-v4-text-to-image - **Branded URL:** https://www.eachlabs.ai/bytedance/seedream-v4/seedream-v4-text-to-image - **Provider:** ByteDance - **Category:** Text to Image - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.03 per generated image - **Estimated Processing Time:** 20 seconds - **Last Updated:** 2026-03-26 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/seedream-v4-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0300 - **Pricing Details:** $0.03 per generated image ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | $0.03 per generated image | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt used to generate the image | | image_size | string | No | square_hd | square_hd,square,portrait_4_3,portrait_16_9,landscape_4_3,landscape_16_9 | The size of the generated image. Width and height must be between 512 and 4096. | | num_images | integer | No | 1 | 1–6 | Number of times to retry generation with the prompt. | | seed | integer | No | - | - | Random seed to control the stochasticity of image generation. | | enable_safety_checker | boolean | No | true | - | If set to true, the safety checker will be enabled. | ## 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": "seedream-v4-text-to-image", "input": { "prompt": "Ultra-realistic cinematic photograph of a post-apocalyptic city street at dawn. In the foreground, a rusted abandoned bus with shattered windows lies half-buried in weeds, steam drifting from cracked asphalt. Skyscrapers in the background are partially collapsed, their steel frames exposed, covered with ivy and moss. A giant humanoid mech silhouette emerges faintly through the fog, towering over the ruined skyline. Golden morning light breaks through the mist, casting dramatic long shadows. Shot with Leica SL2, 35mm wide-angle lens, atmospheric photography." } }' ``` ## 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 **seedream-v4-text-to-image — Text-to-Image AI Model** Developed by ByteDance as part of the **seedream-v4** family, **seedream-v4-text-to-image** is a powerful text-to-image AI model that excels at generating consistent characters and objects across multiple scenes, ideal for commercial workflows like e-commerce and branding. This 12-billion parameter architecture unifies image generation and editing in a single system, enabling seamless creation of high-resolution visuals up to 4K (3840×2160) from text prompts or up to 14 reference images. ByteDance optimized **seedream-v4-text-to-image** for speed, producing 2K images in just 1.8 seconds, making it a go-to for developers seeking a **Bytedance text-to-image** solution with multi-image consistency. ## 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.