Skip to content

Replicate

The Replicate plugin provides AI-powered image transformations using popular models from the Replicate platform.

Powered by Replicate

This plugin provides access to thousands of AI models—no FloImg abstraction layer. See the Replicate docs for all available models.

Terminal window
pnpm add @teamflojo/floimg-replicate
import createClient from '@teamflojo/floimg';
import { replicateTransform } from '@teamflojo/floimg-replicate';
const floimg = createClient();
floimg.registerTransformProvider(replicateTransform({
apiToken: process.env.REPLICATE_API_TOKEN
}));

The Replicate transform provider offers four specialized operations.

Enhance and restore faces in photos using GFPGAN.

const restored = await floimg.transform({
blob: image,
op: 'faceRestore',
provider: 'replicate-transform',
params: {
version: 'v1.4',
scale: 2
}
});
ParameterTypeRequiredDescription
versionstringNov1.3, v1.4, RestoreFormer (default: v1.4)
scalenumberNoUpscale factor 1-4 (default: 2)

Add color to black and white photos using DeOldify.

const colorized = await floimg.transform({
blob: bwPhoto,
op: 'colorize',
provider: 'replicate-transform',
params: {
renderFactor: 35
}
});
ParameterTypeRequiredDescription
renderFactornumberNoColor intensity 7-40 (default: 35)

AI-powered image upscaling with optional face enhancement.

const upscaled = await floimg.transform({
blob: image,
op: 'realEsrgan',
provider: 'replicate-transform',
params: {
scale: 4,
faceEnhance: true
}
});
ParameterTypeRequiredDescription
scalenumberNo2 or 4 (default: 4)
faceEnhancebooleanNoAlso enhance faces (default: false)

Edit images using natural language prompts with FLUX Kontext.

const edited = await floimg.transform({
blob: image,
op: 'fluxEdit',
provider: 'replicate-transform',
params: {
prompt: 'change the sky to a dramatic sunset'
}
});
ParameterTypeRequiredDescription
promptstringYesDescription of the edit to make
guidanceScalenumberNoHow closely to follow the prompt (default: 3.5)
numInferenceStepsnumberNoQuality vs speed tradeoff (default: 28)
seednumberNoRandom seed for reproducibility
outputFormatstringNopng, jpg, webp (default: png)
outputQualitynumberNo1-100 for lossy formats (default: 80)

Combine face restoration with colorization for old photos:

// 1. Restore faces
const faceRestored = await floimg.transform({
blob: oldPhoto,
op: 'faceRestore',
provider: 'replicate-transform',
params: { version: 'RestoreFormer' }
});
// 2. Colorize
const colorized = await floimg.transform({
blob: faceRestored,
op: 'colorize',
provider: 'replicate-transform'
});
// 3. Upscale
const final = await floimg.transform({
blob: colorized,
op: 'realEsrgan',
provider: 'replicate-transform',
params: { scale: 4 }
});
await floimg.save(final, './restored-photo.png');

Use FLUX Edit for creative transformations:

// Change scene elements
const sunset = await floimg.transform({
blob: landscape,
op: 'fluxEdit',
provider: 'replicate-transform',
params: {
prompt: 'make it winter with snow on the ground'
}
});

Get your API token from Replicate.

Set the environment variable:

Terminal window
export REPLICATE_API_TOKEN=r8_...