fal_list_models
List available fal.ai models. Returns model IDs, descriptions, and capabilities.
- Operation
- Read
read - Full name
fal.fal_list_models
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
ai
Agent-facing Lua documentation and function reference for the fal.ai KosmoKrator integration.
Agents call this integration through app.integrations.fal.*.
Use lua_read_doc("integrations.fal") inside KosmoKrator to discover the same reference at runtime.
This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.
List available fal.ai models.
None.
local result = app.integrations["fal"].list_models({})
for _, model in ipairs(result) do
print(model.id .. ": " .. model.description)
end
Submit a generation request to a fal.ai model.
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier (e.g., "fal-ai/flux/schnell") |
input | object | yes | Model input values (e.g., prompt, image_url) |
webhook_url | string | no | URL to receive POST notifications on completion |
local result = app.integrations["fal"].submit_request({
model_id = "fal-ai/flux/schnell",
input = {
prompt = "A beautiful sunset over the ocean, cinematic lighting",
image_size = "landscape_16_9",
num_images = 1
}
})
print("Request ID: " .. result.request_id)
Get the status of a submitted fal.ai request.
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier used when submitting |
request_id | string | yes | The request ID returned by submit_request |
local status = app.integrations["fal"].get_request_status({
model_id = "fal-ai/flux/schnell",
request_id = "abc123-def456"
})
print("Status: " .. status.status)
if status.queue_position then
print("Queue position: " .. status.queue_position)
end
Get the result of a completed fal.ai request.
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier used when submitting |
request_id | string | yes | The request ID returned by submit_request |
local result = app.integrations["fal"].get_result({
model_id = "fal-ai/flux/schnell",
request_id = "abc123-def456"
})
if result.images then
for _, image in ipairs(result.images) do
print("Image URL: " .. image.url)
end
end
if result.video then
print("Video URL: " .. result.video.url)
end
List files stored in fal.ai storage.
None.
local result = app.integrations["fal"].list_files({})
for _, file in ipairs(result) do
print(file.file_name .. " — " .. file.url)
end
Upload a file to fal.ai storage for use as model input.
| Name | Type | Required | Description |
|---|---|---|---|
file_path | string | yes | The local file path to upload |
file_name | string | no | Custom file name for the upload |
local result = app.integrations["fal"].upload_file({
file_path = "/path/to/reference-image.png",
file_name = "reference.png"
})
print("Uploaded file URL: " .. result.url)
Get the current fal.ai user profile and account information.
None.
local user = app.integrations["fal"].get_current_user({})
print("Name: " .. user.name)
print("Email: " .. user.email)
If you have multiple fal.ai accounts configured, use account-specific namespaces:
-- Default account (always works)
app.integrations["fal"].function_name({...})
-- Explicit default (portable across setups)
app.integrations["fal"].default.function_name({...})
-- Named accounts
app.integrations["fal"].production.function_name({...})
app.integrations["fal"].staging.function_name({...})
All functions are identical across accounts — only the credentials differ.
# fal.ai — Lua API Reference
## list_models
List available fal.ai models.
### Parameters
None.
### Example
```lua
local result = app.integrations["fal"].list_models({})
for _, model in ipairs(result) do
print(model.id .. ": " .. model.description)
end
```
---
## submit_request
Submit a generation request to a fal.ai model.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `model_id` | string | yes | The model identifier (e.g., `"fal-ai/flux/schnell"`) |
| `input` | object | yes | Model input values (e.g., prompt, image_url) |
| `webhook_url` | string | no | URL to receive POST notifications on completion |
### Example
```lua
local result = app.integrations["fal"].submit_request({
model_id = "fal-ai/flux/schnell",
input = {
prompt = "A beautiful sunset over the ocean, cinematic lighting",
image_size = "landscape_16_9",
num_images = 1
}
})
print("Request ID: " .. result.request_id)
```
---
## get_request_status
Get the status of a submitted fal.ai request.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `model_id` | string | yes | The model identifier used when submitting |
| `request_id` | string | yes | The request ID returned by `submit_request` |
### Example
```lua
local status = app.integrations["fal"].get_request_status({
model_id = "fal-ai/flux/schnell",
request_id = "abc123-def456"
})
print("Status: " .. status.status)
if status.queue_position then
print("Queue position: " .. status.queue_position)
end
```
---
## get_result
Get the result of a completed fal.ai request.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `model_id` | string | yes | The model identifier used when submitting |
| `request_id` | string | yes | The request ID returned by `submit_request` |
### Example
```lua
local result = app.integrations["fal"].get_result({
model_id = "fal-ai/flux/schnell",
request_id = "abc123-def456"
})
if result.images then
for _, image in ipairs(result.images) do
print("Image URL: " .. image.url)
end
end
if result.video then
print("Video URL: " .. result.video.url)
end
```
---
## list_files
List files stored in fal.ai storage.
### Parameters
None.
### Example
```lua
local result = app.integrations["fal"].list_files({})
for _, file in ipairs(result) do
print(file.file_name .. " — " .. file.url)
end
```
---
## upload_file
Upload a file to fal.ai storage for use as model input.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `file_path` | string | yes | The local file path to upload |
| `file_name` | string | no | Custom file name for the upload |
### Example
```lua
local result = app.integrations["fal"].upload_file({
file_path = "/path/to/reference-image.png",
file_name = "reference.png"
})
print("Uploaded file URL: " .. result.url)
```
---
## get_current_user
Get the current fal.ai user profile and account information.
### Parameters
None.
### Example
```lua
local user = app.integrations["fal"].get_current_user({})
print("Name: " .. user.name)
print("Email: " .. user.email)
```
---
## Multi-Account Usage
If you have multiple fal.ai accounts configured, use account-specific namespaces:
```lua
-- Default account (always works)
app.integrations["fal"].function_name({...})
-- Explicit default (portable across setups)
app.integrations["fal"].default.function_name({...})
-- Named accounts
app.integrations["fal"].production.function_name({...})
app.integrations["fal"].staging.function_name({...})
```
All functions are identical across accounts — only the credentials differ. local result = app.integrations.fal.fal_list_models({})
print(result) fal_list_modelsList available fal.ai models. Returns model IDs, descriptions, and capabilities.
readfal.fal_list_models| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
fal_submit_requestSubmit a generation request to a fal.ai model. Returns the request ID for tracking. Poll get_request_status for progress.
writefal.fal_submit_request| Parameter | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier (e.g., "fal-ai/flux/schnell"). |
input | object | yes | An object of model input values (e.g., prompt, image_url, etc.). |
webhook_url | string | no | A URL to receive POST notifications when the request completes. |
fal_get_request_statusGet the status of a submitted fal.ai request. Returns queue position and processing state.
readfal.fal_get_request_status| Parameter | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier used when submitting the request. |
request_id | string | yes | The request ID returned by submit_request. |
fal_get_resultGet the result of a completed fal.ai request. Returns generated media URLs and metadata.
readfal.fal_get_result| Parameter | Type | Required | Description |
|---|---|---|---|
model_id | string | yes | The model identifier used when submitting the request. |
request_id | string | yes | The request ID returned by submit_request. |
fal_list_filesList files stored in fal.ai storage. Returns file names, URLs, and metadata.
readfal.fal_list_files| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
fal_upload_fileUpload a file to fal.ai storage for use as model input. Returns the file URL.
writefal.fal_upload_file| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | yes | The local file path to upload. |
file_name | string | no | Custom file name for the upload. Defaults to the original file name. |
fal_get_current_userGet current fal.ai user profile and account information.
readfal.fal_get_current_user| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||