moss covered astronaut

Stability AI logoStable Diffusion 3 Medium

State of the art open-source image generation model

Deploy Stable Diffusion 3 Medium behind an API endpoint in seconds.

Deploy model

Example usage

The model accepts a prompt which is some text describing the image you want to generate. The output images tend to get better as you add more descriptive words to the prompt.

The output JSON object contains a key called data which represents the generated image as a base64 string.

Input
1import requests
2import os
3import base64
4from PIL import Image
5from io import BytesIO
6
7# Replace the empty string with your model id below
8model_id = ""
9baseten_api_key = os.environ["BASETEN_API_KEY"]
10BASE64_PREAMBLE = "data:image/png;base64,"
11
12def b64_to_pil(b64_str):
13    return Image.open(BytesIO(base64.b64decode(b64_str.replace(BASE64_PREAMBLE, ""))))
14
15data = {
16  "prompt": "anime art of a steampunk inventor in their workshop, surrounded by gears, gadgets, and steam. He is holding a blue potion and a red potion, one in each hand",
17  "num_inference_steps": 30
18}
19
20# Call the model endpoint
21res = requests.post(
22  f"https://model-{model_id}.api.baseten.co/production/predict", 
23  headers={"Authorization": f"Api-Key {baseten_api_key}"},
24  json=data
25)
26
27# Get the response from the model
28res = res.json()
29
30# Save the base64 string to a PNG image
31img = b64_to_pil(res.get("data"))
32img.show()
33img.save("sd3.png")
JSON output
1{
2    "output": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAIAAA..."
3}
Preview

Deploy any model in just a few commands

Avoid getting tangled in complex deployment processes. Deploy best-in-class open-source models and take advantage of optimized serving for your own models.

$

truss init -- example stable-diffusion-2-1-base ./my-sd-truss

$

cd ./my-sd-truss

$

export BASETEN_API_KEY=MdNmOCXc.YBtEZD0WFOYKso2A6NEQkRqTe

$

truss push

INFO

Serializing Stable Diffusion 2.1 truss.

INFO

Making contact with Baseten 👋 👽

INFO

🚀 Uploading model to Baseten 🚀

Upload progress: 0% | | 0.00G/2.39G