Skip to content

Commit c9a36c3

Browse files
[Inference Providers] Fix fal image-to-image API payload (#1858)
this should fix inference for https://huggingface.co/black-forest-labs/FLUX.2-dev it seems like some fal `image-to-image` endpoints expect `image_urls` as an array, not `image_url` as a string (see the specs for Flux.2 [here](https://fal.ai/models/fal-ai/flux-2/lora/edit/api#schema-input)). Note that other models like [Qwen-Image-Edit](https://huggingface.co/Qwen/Qwen-Image-Edit?inference_provider=fal-ai) still expects `image_url` as input (specs [here](https://fal.ai/models/fal-ai/qwen-image-edit/api#schema-input)).
1 parent bb963bd commit c9a36c3

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

packages/inference/src/providers/fal-ai.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,16 @@ export class FalAIImageToImageTask extends FalAiQueueTask implements ImageToImag
240240

241241
async preparePayloadAsync(args: ImageToImageArgs): Promise<RequestArgs> {
242242
const mimeType = args.inputs instanceof Blob ? args.inputs.type : "image/png";
243+
const imageDataUrl = `data:${mimeType};base64,${base64FromBytes(
244+
new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await (args.inputs as Blob).arrayBuffer())
245+
)}`;
243246
return {
244247
...omit(args, ["inputs", "parameters"]),
245-
image_url: `data:${mimeType};base64,${base64FromBytes(
246-
new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await (args.inputs as Blob).arrayBuffer())
247-
)}`,
248+
image_url: imageDataUrl,
248249
...args.parameters,
249250
...args,
251+
// Some fal endpoints (e.g. FLUX.2-dev) expect `image_urls` (array) instead of `image_url`
252+
image_urls: [imageDataUrl],
250253
};
251254
}
252255

0 commit comments

Comments
 (0)