Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Your Stability API key, sent as a bearer token in the Authorization header.

Headers

Accept
enum<string>
default:application/json

The format of the response. Leave blank for JSON, or set to 'image/png' for a PNG image.

Available options:
application/json,
image/png
Organization
string

Allows for requests to be scoped to an organization other than the user's default. If not provided, the user's default organization will be used.

Stability-Client-ID
string

Used to identify the source of requests, such as the client application or sub-organization. Optional, but recommended for organizational clarity.

Stability-Client-Version
string

Used to identify the version of the application or service making the requests. Optional, but recommended for organizational clarity.

Path Parameters

engine_id
string
required

Body

multipart/form-data

Represents the optional parameters that can be passed to any generation request.

text_prompts
object[]
required

An array of text prompts to use for generation.

Due to how arrays are represented in multipart/form-data requests, prompts must adhere to the format text_prompts[index][text|weight], where index is some integer used to tie the text and weight together. While index does not have to be sequential, duplicate entries will override previous entries, so it is recommended to use sequential indices.

Given a text prompt with the text A lighthouse on a cliff and a weight of 0.5, it would be represented as:

To add another prompt to that request simply provide the values under a new index:

Minimum array length: 1
init_image
file
required

Image used to initialize the diffusion process, in lieu of random noise.

init_image_mode
enum<string>
default:IMAGE_STRENGTH

Whether to use image_strength or step_schedule_* to control how much influence the init_image has on the result.

Available options:
IMAGE_STRENGTH,
STEP_SCHEDULE
image_strength
number<float>
default:0.35

How much influence the init_image has on the diffusion process. Values close to 1 will yield images very similar to the init_image while values close to 0 will yield images wildly different than the init_image. The behavior of this is meant to mirror DreamStudio's "Image Strength" slider.

This parameter is just an alternate way to set step_schedule_start, which is done via the calculation 1 - image_strength. For example, passing in an Image Strength of 35% (0.35) would result in a step_schedule_start of 0.65.

Required range: 0 <= x <= 1
Example:

0.4

cfg_scale
number
default:7

How strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt)

Required range: 0 <= x <= 35
Example:

7

clip_guidance_preset
enum<string>
default:NONE
Available options:
FAST_BLUE,
FAST_GREEN,
NONE,
SIMPLE,
SLOW,
SLOWER,
SLOWEST
Example:

"FAST_BLUE"

sampler
enum<string>

Which sampler to use for the diffusion process. If this value is omitted we'll automatically select an appropriate sampler for you.

Available options:
DDIM,
DDPM,
K_DPMPP_2M,
K_DPMPP_2S_ANCESTRAL,
K_DPM_2,
K_DPM_2_ANCESTRAL,
K_EULER,
K_EULER_ANCESTRAL,
K_HEUN,
K_LMS
Example:

"K_DPM_2_ANCESTRAL"

samples
integer
default:1

Number of images to generate

Required range: 1 <= x <= 10
Example:

1

seed
integer
default:0

Random noise seed (omit this option or use 0 for a random seed)

Required range: 0 <= x <= 4294967295
Example:

0

steps
integer
default:30

Number of diffusion steps to run.

Required range: 10 <= x <= 50
Example:

50

style_preset
enum<string>

Pass in a style preset to guide the image model towards a particular style. This list of style presets is subject to change.

Available options:
enhance,
anime,
photographic,
digital-art,
comic-book,
fantasy-art,
line-art,
analog-film,
neon-punk,
isometric,
low-poly,
origami,
modeling-compound,
cinematic,
3d-model,
pixel-art,
tile-texture
extras
object

Extra parameters passed to the engine. These parameters are used for in-development or experimental features and may change without warning, so please use with caution.

step_schedule_start
number
default:0.65

Skips a proportion of the start of the diffusion steps, allowing the init_image to influence the final generated image. Lower values will result in more influence from the init_image, while higher values will result in more influence from the diffusion steps. (e.g. a value of 0 would simply return you the init_image, where a value of 1 would return you a completely different image.)

Required range: 0 <= x <= 1
Example:

0.4

step_schedule_end
number

Skips a proportion of the end of the diffusion steps, allowing the init_image to influence the final generated image. Lower values will result in more influence from the init_image, while higher values will result in more influence from the diffusion steps.

Required range: 0 <= x <= 1
Example:

0.01

Response

Generation successful.

An array of results from the generation request, where each image is a base64 encoded PNG.

artifacts
object[]