File size: 4,070 Bytes
7fbc2c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
license: other
license_name: stabilityai-ai-community
license_link: LICENSE.md
---

# Stable Diffusion 3.5 Large Turbo -- Flumina Server App

This repository contains an implementation of Stable Diffusion 3.5 Large Turbo inference on Fireworks AI's new Flumina Server App toolkit.

![Example output](example.png)

## Getting Started -- Serverless deployment on Fireworks

This Server App is deployed to Fireworks as-is in a "serverless" deployment, enabling you to use the model without managing GPUs or deployments yourself.

Grab an [API Key](https://fireworks.ai/account/api-keys) from Fireworks and set it in your environment variables:

```bash
export API_KEY=YOUR_API_KEY_HERE
```

### Text-to-Image Example Call

```bash
curl -X POST 'https://api.fireworks.ai/inference/v1/workflows/accounts/fireworks/models/stable-diffusion-3p5-large-turbo/text_to_image' \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: image/jpeg" \
-d '{
        "prompt": "Close-up shot of a chrysanthemum with artistic bokeh stylish photo"
}' \
--output output.jpg
```

![Output of text-to-image](t2i_output.jpg)

## Deploying Stable Diffusion 3.5 Large Turbo to Fireworks On-Demand

Stable Diffusion 3.5 Large Turbo is available on Fireworks via [on-demand deployments](https://docs.fireworks.ai/guides/ondemand-deployments). It can be deployed in a few simple steps:

### Prerequisite: Install the Flumina CLI

The Flumina CLI is included with the [fireworks-ai](https://pypi.org/project/fireworks-ai/) Python package. It can be installed with pip like so:
```bash
pip install 'fireworks-ai[flumina]>=0.15.7'
```

Also get an API key from the [Fireworks site](https://fireworks.ai/account/api-keys) and set it in the Flumina CLI:

```bash
flumina set-api-key YOURAPIKEYHERE
```

### Creating an On-Demand Deployment

`flumina deploy` can be used to create an on-demand deployment. When invoked with a model name that exists already, it will create a new deployment in your account which has that model:

```bash
flumina deploy accounts/fireworks/models/stable-diffusion-3p5-large-turbo
```

When successful, the CLI will print out example commands to call your new deployment, for example:

```bash
curl -X POST 'https://api.fireworks.ai/inference/v1/workflows/accounts/fireworks/models/stable-diffusion-3p5-large-turbo/text_to_image?deployment=accounts/u-6jamesr6-63834f/deployments/b10d69dd' \
    -H "Authorization: Bearer $API_KEY" \
    -H "Content-Type: application/json" \
    -H "Accept: image/jpeg" \
    -d '{
        "prompt": "Beatiful west coast sunset",
        "aspect_ratio": "16:9",
        "guidance_scale": 0.0,
        "num_inference_steps": 4,
        "seed": 0
    }' --output output.jpg
```

![Dedicated deployment output](dedicated_output.jpg)

Your deployment can also be administered using the Flumina CLI. Useful commands include:
* `flumina list deployments` to show all of your deployments
* `flumina get deployment` to get details about a specific deployment
* `flumina delete deployment` to delete a deployment

## What is Flumina?

Flumina is Fireworks.ai’s new system for hosting Server Apps that allows users to deploy deep learning inference to production in minutes, not weeks.

## What does Flumina offer for Stable Diffusion models?

Flumina offers the following benefits:

* Clear, precise definition of the server-side workload by looking at the server app implementation (you are here)
* Extensibility interface, which allows for dynamic loading/dispatching of add-ons server-side. For Stable Diffusion 3.5:
  * ControlNet (Union) adapters (Coming soon!)
  * LoRA adapters (Coming soon!)
* Off-the-shelf support for standing up on-demand capacity for the Server App on Fireworks
  * Further, customization of the logic of the deployment by modifying the Server App and deploying the modified version.
* Now with support for FP8 numerics, delivering enhanced speed and efficiency for intensive workloads.

## Deploying Custom Stable Diffusion 3.5 Large Turbo Apps to Fireworks On-demand

Coming soon!