Skip to main content

Class: FalImageProvider

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

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:220

Inherit Doc

Implementation of

IImageProvider.defaultModelId


isInitialized

isInitialized: boolean = false

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

Inherit Doc

Implementation of

IImageProvider.isInitialized


providerId

readonly providerId: "fal" = 'fal'

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

Inherit Doc

Implementation of

IImageProvider.providerId

Methods

editImage()

editImage(request): Promise<ImageGenerationResult>

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

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:289

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:237

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:441

Returns

Promise<ImageModelInfo[]>

Implementation of

IImageProvider.listAvailableModels