Set up Fallback from Stable Diffusion to Dall-E
This cookbook introduces Portkey’s multimodal AI gateway, which helps you switch between multiple image generation models without any code changes — all with OpenAI SDK. You will learn to set up fallbacks from Stable Diffusion to Dall-E.1. Integrate Image Gen Models with Portkey
Begin by storing API keys in the Portkey Vault. To save your OpenAI and StabilityAI keys in the Portkey Vault:- Go to portkey.ai
- Click Virtual Keys and then Create
- Enter Name and API Key,
- Hit Create
- the virtual key from the KEY column
2. Making a call to Stability AI using OpenAI SDK
With Portkey, you can call Stability AI models like SDXL right from inside the OpenAI SDK. Just change thebase_url
to Portkey Gateway and add defaultHeaders
while instantiating your OpenAI client, and you’re good to go
Import the openai
and portkey_ai
libraries to send the requests, whereas the rest of the utility libraries will help decode the base64 response and print them onto Jupyter Notebook.
api_key
parameter is passed a random string since it’s redundant as the request will be handled through Portkey.
To generate an image:
3. Now, Setup a Fallback from SDXL to Dall-E
Let’s learn how to enhance the reliability of your Stability AI requests by configuring automatic fallbacks to Dall-E in case of failures. You can use Gateway Configs on Portkey to implement this automated fallback logic. These configurations can be passed while creating your OpenAI client. From the Portkey Dashboard, open Configs and then click Create. In the config editor, write the JSON for Gateway Configs:fallback
strategy, where the primary target to forward requests to is Stability AI (automatically inferred from the virtual key) and then to OpenAI. The override_params
let’s you override the default models for the provider. Finally, surprise surprise! — we also enabled caching with just one more key-value pair.
Learn about Gateway Configs and Caching from the docs.
Hit Save Config on the top right corner and grab the **Config ID. **Next up, we are going to use the _Config ID _in our requests to activate fallback mechanism.
4. Make a request with gateway configs
Finally, the requests will be sent like we did with OpenAI SDK earlier, but with one specific difference - theconfig
parameter. The request is sent through Portkey and uses saved gateway configs as references to activate the fallback mechanism.