Skip to main content
GET
/
models
/
pricing
Pricing
curl --request GET \
  --url https://api.fal.ai/v1/models/pricing \
  --header 'Authorization: <api-key>'
import requests

url = "https://api.fal.ai/v1/models/pricing"

headers = {"Authorization": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};

fetch('https://api.fal.ai/v1/models/pricing', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
  "prices": [
    {
      "endpoint_id": "fal-ai/flux/dev",
      "unit_price": 0.025,
      "unit": "image",
      "currency": "USD"
    }
  ],
  "next_cursor": null,
  "has_more": false
}
{
"error": {
"type": "validation_error",
"message": "Invalid request parameters"
}
}
{
"error": {
"type": "authorization_error",
"message": "Authentication required"
}
}
{
"error": {
"type": "not_found",
"message": "Resource not found"
}
}
{
"error": {
"type": "rate_limited",
"message": "Rate limit exceeded"
}
}

Authorizations

Authorization
string
header
required

API key must be prefixed with "Key ", e.g. Authorization: Key YOUR_API_KEY

Query Parameters

endpoint_id
required

Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2

Example:
["fal-ai/flux/dev"]

Response

Pricing information retrieved successfully

Response containing pricing information for requested endpoints

next_cursor
string | null
required

Cursor for the next page of results, null if no more pages

has_more
boolean
required

Boolean indicating if more results are available (convenience field derived from next_cursor)

prices
object[]
required

Pricing information for requested endpoints