Skip to main content

Class: FalImageProvider

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:234

Image generation provider connecting to the Fal.ai serverless platform.

Implements the queue-based submit-then-poll pattern: a generation request returns a request ID immediately, and the provider polls the status endpoint until completion or timeout.

Implements​

Example​

const provider = new FalImageProvider();
await provider.initialize({ apiKey: process.env.FAL_API_KEY! });

const result = await provider.generateImage({
modelId: 'fal-ai/flux/dev',
prompt: 'A photorealistic astronaut riding a horse on Mars',
});
console.log(result.images[0].url);

Implements​

Constructors​

Constructor​

new FalImageProvider(): FalImageProvider

Returns​

FalImageProvider

Properties​

defaultModelId?​

optional defaultModelId: string

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:242

Inherit Doc​

Implementation of​

IImageProvider.defaultModelId


isInitialized​

isInitialized: boolean = false

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:239

Inherit Doc​

Implementation of​

IImageProvider.isInitialized


providerId​

readonly providerId: "fal" = 'fal'

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:236

Inherit Doc​

Implementation of​

IImageProvider.providerId

Methods​

editImage()​

editImage(request): Promise<ImageGenerationResult>

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:449

Edit an image using a Fal.ai-hosted Flux model.

Supports img2img (prompt-guided transformation) and inpainting (mask-guided regional editing). The source image is passed as a base64 data URL in the image field of the model input.

Parameters​

request​

ImageEditRequest

Edit request with source image, prompt, and optional mask.

Returns​

Promise<ImageGenerationResult>

Generation result with the edited image(s).

Throws​

When the provider is not initialised or the API fails.

Example​

const result = await provider.editImage({
modelId: 'fal-ai/flux/dev',
image: imageBuffer,
prompt: 'Convert to watercolor style',
strength: 0.7,
});

Implementation of​

IImageProvider.editImage


generateImage()​

generateImage(request): Promise<ImageGenerationResult>

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:311

Generate an image using the Fal.ai queue API.

Submits the generation task to the queue, then polls the status endpoint until the result is ready or the timeout is reached.

Parameters​

request​

ImageGenerationRequest

Image generation request with prompt and optional params.

Returns​

Promise<ImageGenerationResult>

The generated image result with URL(s).

Throws​

If the provider is not initialized.

Throws​

If the API returns an error or times out.

Example​

const result = await provider.generateImage({
modelId: 'fal-ai/flux/dev',
prompt: 'A serene Japanese garden in autumn',
n: 2,
});

Implementation of​

IImageProvider.generateImage


initialize()​

initialize(config): Promise<void>

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:259

Initialize the provider with API credentials and optional configuration.

Parameters​

config​

Record<string, unknown>

Configuration object. Must include apiKey.

Returns​

Promise<void>

Throws​

If apiKey is missing or empty.

Example​

await provider.initialize({ apiKey: 'fal_xxx' });

Implementation of​

IImageProvider.initialize


listAvailableModels()​

listAvailableModels(): Promise<ImageModelInfo[]>

Defined in: packages/agentos/src/io/media/images/providers/FalImageProvider.ts:506

Returns​

Promise<ImageModelInfo[]>

Implementation of​

IImageProvider.listAvailableModels