Skip to content

fal

fal runs hosted media models that your app can call, then returns information about the generated files.

Visit fal

How does an image request become a file in your app?

Your app sends a description and settings to a specific hosted model through an API, a way for software to ask another service to do a job. With the queue, fal returns a request ID while it works. Keep that ID with your app’s draft so you can check the same request before submitting again.

Have the server send the request and hold the private credential. Show the person that the draft is in progress, then check whether the completed request actually returned a file. A completed queue entry can still return a model error.

Who can open a file link?

fal’s file service defaults to public access for uploads, so someone with the URL can download them. Before sending confidential inputs, check the actual file access and expiration settings for the workflow, and confirm the chosen model is allowed to receive the material.

Plan where to save finished files you need to keep, with your app’s own access controls. The queue result and the media file have separate retention rules. Keep the approved file itself rather than relying on the queue response as your archive.

What can make two requests cost different amounts?

Start with the specific model’s price and billing unit. For example, one image model may charge per image and another per megapixel, a measure of image size. Some models use compute time. The Model APIs use prepaid credits. Check terms on the exact model before planning commercial use.

What should your app show if generation fails?

Draw a draft illustration request and three possible screens. Use fictional text only and make no network request.

  1. Pending
    Show the person that the draft is in progress. Keep the same request reference.
  2. Ready
    Show the image only after a result includes the file and you have a copy in the intended storage.
  3. Failed
    Show that no image was saved. Check the original request before offering a new attempt.