in packages/inference/src/providers/fal-ai.ts [230:258]
override async getResponse(
response: FalAiQueueOutput,
url?: string,
headers?: Record<string, string>
): Promise<Blob> {
const result = await this.getResponseFromQueueApi(response, url, headers);
if (
typeof result === "object" &&
!!result &&
"images" in result &&
Array.isArray(result.images) &&
result.images.length > 0 &&
typeof result.images[0] === "object" &&
!!result.images[0] &&
"url" in result.images[0] &&
typeof result.images[0].url === "string" &&
isUrl(result.images[0].url)
) {
const urlResponse = await fetch(result.images[0].url);
return await urlResponse.blob();
} else {
throw new InferenceClientProviderOutputError(
`Received malformed response from Fal.ai image-to-image API: expected { images: Array<{ url: string }> } result format, got instead: ${JSON.stringify(
result
)}`
);
}
}