Before you start
- You can sign in to the MagicPost admin panel.
- You have a fal.ai account with billing or credits set up. fal.ai bills you directly for every request. This is separate from the credits your users spend in MagicPost.
Get an API key
1
Open the keys page
Go to fal.ai/dashboard/keys and sign in. If you work in a team, select the team in the top-left corner of the dashboard first. A key belongs to the personal account or team that created it.
2
Create the key
Create a new key and choose the API preset. fal.ai describes it as the preset that covers calls to any model, which is all MagicPost needs.
Add the key in MagicPost
1
Open Media Models
Go to Admin → Publishing → Media Models.
2
Paste the key
In the Provider keys box, paste the key into the fal.ai field and click Save keys. The toast reads Keys saved. and the fal.ai card shows Key stored.
3
Switch on the models
Turn on the switch next to each fal.ai model you want to offer. Click Test on a picture model that creates new pictures. MagicPost asks for one small picture, so the test makes a real, billable request.
Starting models
The installer loads this list. Identifiers are as shipped. Credits are MagicPost credits, not fal.ai prices, and you can change them on the model.
A clip costs its credits per second times its length. For example, a 5 second clip on Kling 3.0 starts at 20 credits.
Add another fal.ai endpoint
fal.ai serves far more models than any fixed list, so you can add an endpoint by its id.1
Find the endpoint id
Open the model’s page on fal.ai and copy its endpoint id, for example
fal-ai/flux-2. Use it exactly as fal.ai shows it. MagicPost rejects ids that are not in that form.2
Fill in the form
At the bottom of Media Models, in Add a fal.ai endpoint, enter the Endpoint id and the Display name that users will see. Under Makes, choose Pictures or Video. Then set the price in MagicPost credits: Credits per picture for pictures, Credits per second for video.
3
Add it
Click Add endpoint. The model is added switched off, and its edit form opens so you can check the request mapping.
4
Check the request mapping
Compare the field names in Request mapping with the endpoint’s API page on fal.ai. Fix any that differ, then click Save.
5
Switch it on
Turn on the model’s switch. Users now see it.
Request mapping
Every fal.ai endpoint names its inputs and outputs in its own way, so each fal.ai model carries a mapping written as a JSON object. The mapping must be a JSON object and must containinputs.prompt. The default for a picture model is:
On the edit form, Only works from a picture marks an endpoint that cannot run without a source picture. Users see it only after they pick a picture to edit or bring to life.
Remove an endpoint
fal.ai rows have a trash button. Removing a model keeps the pictures and clips already made with it. MagicPost refuses to remove a model while something is still being made with it.How MagicPost calls fal.ai
- Requests are submitted to fal.ai’s queue at
queue.fal.runwith your key in theAuthorizationheader. - A picture request is waited on while the job runs. If fal.ai has not finished after about 150 seconds, MagicPost cancels it.
- A clip request is checked again by a background job until it finishes, so cron or a queue worker must be running. See Cron and queue.
- Finished files are downloaded straight away, because fal.ai keeps them only for a while. The key is never sent with the download.
- Pictures that fal.ai flags in its answer are dropped.

