Skip to content

Replicate

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

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_...