Model reference · open weights

stable-diffusion-3.5-large-controlnet-depth

Available as managed deployment Licence fee Image stabilityai Text→image 1 variants 1k dl/mo

stable-diffusion-3.5-large-controlnet-depth is an open-weight image model from stabilityai. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Released byStability AI
Published understabilityai
TypeImage models
TaskText→image
Parameters (lead)2.2B
Runs withdiffusers
Released2024-11-25
Popularity1k downloads / month
LicenceCommercial licence needed

About

What stable-diffusion-3.5-large-controlnet-depth is

Model

This repository provides the Depth ControlNet for Stable Diffusion 3.5 Large..

Please note: This model is released under the Stability Community License. Visit Stability AI to learn or contact us for commercial licensing details.

Read the full model card

License

Here are the key components of the license:

  • Free for non-commercial use: Individuals and organizations can use the model free of charge for non-commercial use, including scientific research.
  • Free for commercial use (up to $1M in annual revenue): Startups, small to medium-sized businesses, and creators can use the model for commercial purposes at no cost, as long as their total annual revenue is less than $1M.
  • Ownership of outputs: Retain ownership of the media generated without restrictive licensing implications.

For organizations with annual revenue more than $1M, please contact us here to inquire about an Enterprise License.

Usage

Using Controlnets in SD3.5 Standalone Repo

Install the repo:

git clone git@github.com:Stability-AI/sd3.5.git
pip install -r requirements.txt

Then, download the models and sample image like so:

input/sample_cond.png
models/clip_g.safetensors
models/clip_l.safetensors
models/t5xxl.safetensors
models/sd3.5_large.safetensors
models/canny_8b.safetensors

and then you can run

python sd3_infer.py --controlnet_ckpt models/depth_8b.safetensors --controlnet_cond_image input/sample_cond.png --prompt "A girl sitting in a cafe, cozy interior, HDR photograph"

Which should give you an image like below:

Using Controlnets in Diffusers

Make sure you upgrade to the latest diffusers version: pip install -U diffusers. And then you can run:

import torch
from diffusers import StableDiffusion3ControlNetPipeline, SD3ControlNetModel
from diffusers.utils import load_image

controlnet = SD3ControlNetModel.from_pretrained("stabilityai/stable-diffusion-3.5-large-controlnet-depth", torch_dtype=torch.float16)
pipe = StableDiffusion3ControlNetPipeline.from_pretrained(
    "stabilityai/stable-diffusion-3.5-large",
    controlnet=controlnet,
    torch_dtype=torch.float16,
).to("cuda")

control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/marigold/marigold_einstein_lcm_depth.png")
generator = torch.Generator(device="cpu").manual_seed(0)
image = pipe(
    prompt = "a photo of a man",
    control_image=control_image,
    guidance_scale=4.5,
    num_inference_steps=40,
    generator=generator,
    max_sequence_length=77,
).images[0]
image.save('depth-8b.jpg')

You can use image_gen_aux to extract depth_image, which contains all the preprocessor required to use with diffusers pipelines.

# install image_gen_aux with: pip install git+https://github.com/huggingface/image_gen_aux.git
from image_gen_aux import DepthPreprocessor
image = load_image("path to image")

depth_preprocessor = DepthPreprocessor.from_pretrained("depth-anything/Depth-Anything-V2-Large-hf").to("cuda")
depth_image = depth_preprocessor(image, invert=True)[0].convert("RGB")

Preprocessing

An input image can be preprocessed for control use following the code snippet below. SD3.5 does not implement this behavior, so we recommend doing so in an external script beforehand.

# install depthfm from https://github.com/CompVis/depth-fm
import torchvision.transforms as transforms
from depthfm.dfm import DepthFM
depthfm_model = DepthFM(ckpt_path=checkpoint_path)
depthfm_model.eval()

# assuming img is a PIL image
img = F.to_tensor(img)
c, h, w = img.shape
img = F.interpolate(img, (512, 512), mode='bilinear', align_corners=False)
with torch.no_grad():
  img = self.depthfm_model(img, num_steps=2, ensemble_size=4)
img = F.interpolate(img, (h, w), mode='bilinear', align_corners=False)

Tips

  • We recommend starting with a ControlNet strength of 0.7, and adjusting as needed.
  • Euler sampler and a slightly higher step count (50-60) gives best results.
  • Pass --text_encoder_device to load the text encoders directly to VRAM, which can speed up the full inference loop at the cost of extra VRAM usage.

Uses

All uses of the model must be in accordance with our Acceptable Use Policy.

Out-of-Scope Uses

The model was not trained to be factual or true representations of people or events. As such, using the model to generate such content is out-of-scope of the abilities of this model.

Training Data and Strategy

These models were trained on a wide variety of data, including synthetic data and filtered publicly available data.

Safety

We believe in safe, responsible AI practices and take deliberate measures to ensure Integrity starts at the early stages of development. This means we have taken and continue to take reasonable steps to prevent the misuse of Stable Diffusion 3.5 by bad actors. For more information about our approach to Safety please visit our Safety page.

Integrity Evaluation

Our integrity evaluation methods include structured evaluations and red-teaming testing for certain harms. Testing was conducted primarily in English and may not cover all possible harms.

Risks identified and mitigations:

  • Harmful content: We have used filtered data sets when training our models and implemented safeguards that attempt to strike the right balance between usefulness and preventing harm. However, this does not guarantee that all possible harmful content has been removed. All developers and deployers should exercise caution and implement content safety guardrails based on their specific product policies and application use cases.
  • Misuse: Technical limitations and developer and end-user education can help mitigate against malicious application

From the published model card. Full card on the HuggingFace links in the sidebar.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys stable-diffusion-3-5-large-controlnet-depth for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (stable-diffusion-3-5-large-controlnet-depth below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/images/generations \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"stable-diffusion-3-5-large-controlnet-depth","prompt":"a red bicycle","size":"1024x1024"}'

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms