# Bytedance | Seedream | v5 | Pro | Text to Image Seedream 5.0 Pro is ByteDance’s text-to-image model, offering advanced prompt understanding, native text generation in 14 languages, and precise control over complex layouts and structured designs. ## API Information - **Model Slug:** bytedance-seedream-v5-pro-text-to-image - **Branded URL:** https://www.eachlabs.ai/bytedance/seedream-v5/bytedance-seedream-v5-pro-text-to-image - **Provider:** Bytedance - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.045 for Seedream 5.0 Pro outputs 1K aspect ratios - **Estimated Processing Time:** 160 seconds - **Last Updated:** 2026-07-09 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/bytedance-seedream-v5-pro-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0450 - **Pricing Details:** $0.045 for Seedream 5.0 Pro outputs 1K aspect ratios ### Pricing Rules | Condition | Pricing | | --- | --- | | resolution == "2K" | $0.09 for Seedream 5.0 Pro outputs 2K aspect ratios | | Rule 2 | $0.045 for Seedream 5.0 Pro outputs 1K aspect ratios | ## Input Schema No input parameters documented. ## 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-v5-pro-text-to-image", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "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 | v5 | Pro | Text to Image Overview** Bytedance | Seedream | v5 | Pro | Text to Image is a multimodal image creation model designed to turn detailed text prompts into high-fidelity, design-ready visuals for professional workflows. It solves the challenge of generating complex, structured layouts and multilingual on-image text directly from natural language, reducing manual design overhead. Developed by ByteDance under the Seedream 5.0 Pro family, it unifies text-to-image generation and reference-guided image editing in a single architecture, giving creators precise control over composition and typography. Its primary differentiator is advanced understanding of layout and dense information, enabling accurate posters, infographics, and marketing assets with native text rendering across more than ten languages, including robust support for 14 languages in many deployments. On each::labs, this model focuses on text-to-image generation while retaining the design-grade quality that Seedream 5.0 Pro is known for. ## 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.