Bytedance Dreamina V3.1 Text To Image
Playground
Try it on WavespeedAI!ByteDance Dreamina V3.1 is a text-to-image model with enhanced aesthetics and style accuracy, producing richer, more polished images. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
ByteDance Dreamina v3.1 Text-to-Image
Generate beautiful, detailed images from text descriptions with ByteDance’s latest Dreamina v3.1 model. Featuring flexible custom dimensions, enhanced prompt understanding, and high-fidelity output — perfect for creating professional visuals at an affordable price.
Why It Looks Great
- Advanced generation: ByteDance’s latest v3.1 model delivers improved detail, coherence, and artistic quality.
- Custom dimensions: Precise control over width and height for any aspect ratio or resolution.
- High resolution support: Generate images up to 1328×1328 and beyond.
- Prompt Enhancer: Built-in tool to automatically refine and expand your descriptions.
- Prompt expansion option: Enable automatic prompt enhancement for richer, more detailed outputs.
- Reproducible results: Use the seed parameter to recreate exact outputs or explore variations.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the image you want to generate. |
| size | No | Custom dimensions with separate width and height controls. |
| width | No | Output width in pixels (e.g., 1328). |
| height | No | Output height in pixels (e.g., 1328). |
| seed | No | Random seed for reproducibility. Use -1 for random. |
| enable_prompt_expansion | No | API only: Waits for image generation and returns it directly in the response. |
How to Use
- Write your prompt — describe your image with details about subject, style, lighting, and atmosphere.
- Use Prompt Enhancer (optional) — click to automatically enrich your description.
- Set dimensions — adjust width and height sliders to your desired resolution and aspect ratio.
- Set seed (optional) — use -1 for random, or a specific number to reproduce results.
- Run — click the button to generate.
- Download — preview and save your image.
Pricing
Flat rate per image generation.
| Output | Cost |
|---|---|
| Per image | $0.027 |
Best Use Cases
- Artistic Scenes — Create atmospheric environments, studios, and creative spaces.
- Marketing Visuals — Generate custom imagery for campaigns and brand content.
- Concept Art — Visualize ideas for games, films, and creative projects.
- Social Media Content — Produce eye-catching visuals optimized for any platform format.
- Stock Image Alternative — Create unique, royalty-free imagery on demand.
Example Prompts
- “A painter working in a sunlit studio, large canvas filled with abstract colors, brushes and paint tubes scattered on the floor, creative atmosphere”
- “Cozy coffee shop corner with vintage furniture, morning light streaming through large windows, steam rising from a ceramic cup”
- “Futuristic city rooftop garden at golden hour, glass skyscrapers in background, lush green plants contrasting with urban architecture”
- “Portrait of a jazz musician mid-performance, dramatic stage lighting, saxophone gleaming, smoky club atmosphere”
- “Serene Japanese zen garden with raked sand patterns, moss-covered stones, soft morning mist, minimalist aesthetic”
Pro Tips for Best Results
- Include atmosphere and mood — “creative atmosphere”, “warm lighting”, “dramatic shadows”.
- Describe environmental details — objects, textures, and spatial relationships.
- Use the Prompt Enhancer to add professional details to simple ideas.
- Square dimensions (1328×1328) work well for balanced compositions.
- Adjust dimensions to match your platform: tall for Stories, wide for headers, square for feeds.
- Keep the seed constant when testing prompt variations to isolate changes.
Notes
- The enable_prompt_expansion option is only available through the API.
- Generation time may vary based on resolution and current queue load.
- Higher resolutions produce more detailed results but may take slightly longer.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/bytedance/dreamina-v3.1/text-to-image" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"size": "1328*1328",
"seed": -1,
"enable_prompt_expansion": true,
"enable_base64_output": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| size | string | No | 1328*1328 | 512 ~ 2048 per dimension | The size of the generated media in pixels (width*height). |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
| enable_prompt_expansion | boolean | No | true | - | If set to true, the function will wait for the image to be generated and uploaded before returning the response. It allows you to get the image directly in the response. This property is only available through the API. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |