Stability Ai Stable Diffusion 3.5 Medium
Playground
Try it on WavespeedAI!Stable Diffusion 3.5 Medium is a 2.5B-parameter text-to-image model with the improved MMDiT-X architecture for quality images. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Stable Diffusion 3.5 Medium
Generate stunning images from text prompts with Stability AI’s Stable Diffusion 3.5 Medium. This versatile model delivers high-quality results for both text-to-image and image-to-image generation, with excellent prompt adherence and artistic flexibility.
Why It Looks Great
- Strong prompt understanding: Accurately interprets complex, detailed descriptions including style, mood, and composition.
- Dual mode support: Use text-only for pure generation, or add a reference image for guided transformations.
- Flexible aspect ratios: Supports multiple output formats for any creative need.
- Prompt Enhancer: Built-in tool to refine and expand your descriptions for richer results.
- Reproducible outputs: Use the seed parameter to recreate exact images or explore variations.
- Balanced quality: Medium model offers an optimal trade-off between speed and visual fidelity.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the image you want to generate. |
| image | No | Optional reference image for image-to-image generation (upload or URL). |
| aspect_ratio | No | Output aspect ratio (e.g., 16:9, 1:1, 9:16). Default: 16:9. |
| seed | No | Random seed for reproducibility. Use -1 for random. |
| enable_base64_output | No | API only: Returns base64 string instead of URL. |
How to Use
- Write your prompt — describe the image in detail, including subject, style, lighting, and mood.
- Use Prompt Enhancer (optional) — click to refine your description for better results.
- Add reference image (optional) — upload an image for image-to-image transformation.
- Choose aspect ratio — select the format that fits your needs.
- Set seed (optional) — use -1 for random, or a specific number for reproducible results.
- Run — click the button to generate.
- Download — preview and save your generated image.
Pricing
Flat rate per image generation.
| Output | Cost |
|---|---|
| Per image | $0.035 |
Examples
| Images Generated | Total Cost |
|---|---|
| 1 | $0.035 |
| 10 | $0.35 |
| 30 | $1.05 |
| 100 | $3.50 |
Best Use Cases
- Concept Art & Illustration — Generate detailed artwork, landscapes, and character designs.
- Marketing & Advertising — Create custom visuals for campaigns without stock photos.
- Creative Exploration — Rapidly iterate on visual ideas and artistic directions.
- Style Transfer — Transform reference images into new artistic interpretations.
- Storytelling & Storyboarding — Visualize scenes and narratives with consistent styling.
Example Prompts
- “A tumultuous ocean violently crashing against black reefs as a storm approaches, dark heavy clouds, lightning illuminating churning waves, dramatic oil painting style”
- “A cozy coffee shop interior with warm lighting, rain on the windows, vintage furniture, soft atmospheric mood”
- “Portrait of an astronaut in a field of wildflowers, cinematic lighting, photorealistic, golden hour”
- “Abstract geometric shapes floating in space, vibrant neon colors, minimalist design”
- “Ancient temple ruins overgrown with jungle vines, misty atmosphere, rays of sunlight breaking through”
Pro Tips for Best Results
- Be descriptive — include style references, lighting conditions, color palette, and mood.
- Mention artistic styles or artists for specific aesthetics (e.g., “in the style of impressionism”).
- Use the Prompt Enhancer to add professional-quality details to simple ideas.
- For image-to-image, the reference strongly guides composition — choose images with the structure you want.
- Fix the seed when iterating on prompts to isolate the effect of text changes.
- Negative concepts can be implied by describing what you do want rather than what you don’t.
Notes
- If using a URL for the reference image, ensure it is publicly accessible.
- The enable_base64_output option is only available through the API, not the web interface.
- Generation time may vary based on current queue load.
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/stability-ai/stable-diffusion-3.5-medium" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "1:1",
"seed": -1,
"enable_base64_output": 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. | |
| image | string | No | - | The image to generate an image from. | |
| aspect_ratio | string | No | 1:1 | 1:1, 3:4, 4:3, 16:9, 9:16 | The aspect ratio of the generated media. |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
| 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. |
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 |