Skip to content
FLORA DocsGo to app

List actions

GET/actions

Returns released prebuilt Flora actions that can be executed by the public API. Action identifiers are raw slugs such as rotate-image, not action-prefixed IDs.

ReturnsExpand Collapse
actions: array of object { action_id, charged_cost, description, 5 more }
action_id: "color-grade-image-browser" or "overlay-image-browser" or "draw-image-browser" or 37 more

Action identifier

One of the following:
"color-grade-image-browser"
"overlay-image-browser"
"draw-image-browser"
"crop-image-browser"
"scene-3d-image-browser"
"blur-image-browser"
"change-image-ar-browser"
"rotate-image-browser"
"color-filter-image-browser"
"color-tint-image-browser"
"filter-color-image-browser"
"duplicate-image-browser"
"side-by-side-composite-browser"
"add-shape-to-image-browser"
"add-text-to-image-browser"
"qr-code-generator-browser"
"resize-image-browser"
"shader-effect-browser"
"split-text-browser"
"find-and-replace-text-browser"
"concat-text-browser"
"ken-burns-video"
"stitch-videos"
"split-video"
"extract-video-frames"
"color-grade-video"
"video-to-frame-grid"
"boomerang-video"
"reverse-video"
"video-to-long-exposure"
"video-effect"
"color-filter-video"
"speed-up-video"
"slow-down-video"
"duplicate-video"
"greenscreen-video"
"resize-video"
"change-video-ar"
"split-audio-from-video"
"merge-audio-into-video"
charged_cost: number

Cost per execution in USD

minimum0
description: string

Action description

inputs: array of object { name, type, dynamic, 2 more }

Action input slots

name: string

Action input or output name

type: "image" or "video" or "text" or "audio"

Action input or output media type

One of the following:
"image"
"video"
"text"
"audio"
dynamic: optional boolean

Deprecated alias for multiple: true. Mirrors multiple for back-compat.

multiple: optional true or object { max, min }

Many-connections form. true is unbounded shorthand; the object form sets explicit min/max bounds.

One of the following:
true
object { max, min }
max: optional number
minimum0
min: optional number
minimum0
optional: optional boolean

Whether the slot allows zero connections in single-input mode. Ignored when multiple is the object form (use min: 0 there instead).

language: "javascript" or "python"

Action runtime language

One of the following:
"javascript"
"python"
name: string

Action name

outputs: array of object { name, type, dynamic, 2 more }

Action output slots

name: string

Action input or output name

type: "image" or "video" or "text" or "audio"

Action input or output media type

One of the following:
"image"
"video"
"text"
"audio"
dynamic: optional boolean

Deprecated alias for multiple: true. Mirrors multiple for back-compat.

multiple: optional true or object { max, min }

Many-connections form. true is unbounded shorthand; the object form sets explicit min/max bounds.

One of the following:
true
object { max, min }
max: optional number
minimum0
min: optional number
minimum0
optional: optional boolean

Whether the slot allows zero connections in single-input mode. Ignored when multiple is the object form (use min: 0 there instead).

params: array of object { key, type, available_values, 6 more }

Action parameters

key: string

Action parameter key

type: string

Action parameter control type

available_values: optional array of object { label, value, description }

Allowed parameter values

label: string
value: string
description: optional string
default_value: optional unknown

Default parameter value

info_tooltip: optional string

Action parameter description

label: optional string

Action parameter label

max_number_value: optional number
min_number_value: optional number
number_step: optional number

List actions

curl https://app.flora.ai/api/v1/actions \
    -H "Authorization: Bearer $FLORA_API_KEY"
{
  "actions": [
    {
      "action_id": "color-grade-image-browser",
      "charged_cost": 0,
      "description": "Rotate an image by a fixed angle.",
      "inputs": [
        {
          "name": "image",
          "type": "image",
          "dynamic": true,
          "multiple": true,
          "optional": true
        }
      ],
      "language": "javascript",
      "name": "Rotate Image",
      "outputs": [
        {
          "name": "image",
          "type": "image",
          "dynamic": true,
          "multiple": true,
          "optional": true
        }
      ],
      "params": [
        {
          "key": "angle",
          "type": "select",
          "available_values": [
            {
              "label": "label",
              "value": "value",
              "description": "description"
            }
          ],
          "default_value": {},
          "info_tooltip": "Rotation angle in degrees.",
          "label": "Angle",
          "max_number_value": 0,
          "min_number_value": 0,
          "number_step": 0
        }
      ]
    }
  ]
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}
Returns Examples
{
  "actions": [
    {
      "action_id": "color-grade-image-browser",
      "charged_cost": 0,
      "description": "Rotate an image by a fixed angle.",
      "inputs": [
        {
          "name": "image",
          "type": "image",
          "dynamic": true,
          "multiple": true,
          "optional": true
        }
      ],
      "language": "javascript",
      "name": "Rotate Image",
      "outputs": [
        {
          "name": "image",
          "type": "image",
          "dynamic": true,
          "multiple": true,
          "optional": true
        }
      ],
      "params": [
        {
          "key": "angle",
          "type": "select",
          "available_values": [
            {
              "label": "label",
              "value": "value",
              "description": "description"
            }
          ],
          "default_value": {},
          "info_tooltip": "Rotation angle in degrees.",
          "label": "Angle",
          "max_number_value": 0,
          "min_number_value": 0,
          "number_step": 0
        }
      ]
    }
  ]
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}