Skip to content

Stability AI

The Stability AI plugin provides image generation using Stable Diffusion models and AI-powered image transformations.

Terminal window
pnpm add @teamflojo/floimg-stability
import createClient from '@teamflojo/floimg';
import stability, { stabilityTransform } from '@teamflojo/floimg-stability';
const floimg = createClient();
// Register generator (for image generation)
floimg.registerGenerator(stability({
apiKey: process.env.STABILITY_API_KEY
}));
// Register transform provider (for AI transforms)
floimg.registerTransformProvider(stabilityTransform({
apiKey: process.env.STABILITY_API_KEY
}));

Generate images using Stable Diffusion XL or SD3.

const image = await floimg.generate({
generator: 'stability',
params: {
prompt: 'A futuristic city at sunset, cyberpunk style',
model: 'sd3-large',
aspectRatio: '16:9',
outputFormat: 'png'
}
});
ParameterTypeRequiredDescription
promptstringYesText description of the image
modelstringNosd3-large, sd3-medium, sdxl (default: sd3-large)
negativePromptstringNoWhat to avoid in the image
aspectRatiostringNo1:1, 16:9, 9:16, 4:3, 3:4 (default: 1:1)
seednumberNoRandom seed for reproducibility
outputFormatstringNopng, jpeg, webp (default: png)

The Stability transform provider offers four AI-powered operations.

Remove the background from an image, returning a transparent PNG.

const noBg = await floimg.transform({
blob: image,
op: 'removeBackground',
provider: 'stability-transform'
});

Upscale an image 4x using conservative AI upscaling.

const upscaled = await floimg.transform({
blob: image,
op: 'upscale',
provider: 'stability-transform',
params: {
prompt: 'high quality, detailed' // Optional guidance
}
});
ParameterTypeRequiredDescription
promptstringNoGuidance prompt for upscaling
negativePromptstringNoWhat to avoid
creativitynumberNo0.0-0.35, how creative the upscale should be
seednumberNoRandom seed
outputFormatstringNopng, jpeg, webp

Find and replace objects in an image using AI.

const replaced = await floimg.transform({
blob: image,
op: 'searchAndReplace',
provider: 'stability-transform',
params: {
prompt: 'a golden retriever',
searchPrompt: 'the cat'
}
});
ParameterTypeRequiredDescription
promptstringYesWhat to replace with
searchPromptstringYesWhat to find and replace
negativePromptstringNoWhat to avoid
seednumberNoRandom seed
outputFormatstringNopng, jpeg, webp

Extend the boundaries of an image with AI-generated content.

const extended = await floimg.transform({
blob: image,
op: 'outpaint',
provider: 'stability-transform',
params: {
left: 200,
right: 200,
prompt: 'continue the scene naturally'
}
});
ParameterTypeRequiredDescription
leftnumberNoPixels to extend left (default: 0)
rightnumberNoPixels to extend right (default: 0)
upnumberNoPixels to extend up (default: 0)
downnumberNoPixels to extend down (default: 0)
promptstringNoGuidance for the extension
creativitynumberNo0.0-1.0, creative freedom
seednumberNoRandom seed
outputFormatstringNopng, jpeg, webp

Get your API key from Stability AI Platform.

Set the environment variable:

Terminal window
export STABILITY_API_KEY=sk-...