Skip to content
FLORA DocsGo to app

Get an action

GET/actions/{actionId}

Returns metadata for one released prebuilt Flora action. Action identifiers are raw slugs such as rotate-image, not action-prefixed IDs.

Path ParametersExpand Collapse
actionId: "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"
ReturnsExpand Collapse
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

Get an action

curl https://app.flora.ai/api/v1/actions/$ACTION_ID \
    -H "Authorization: Bearer $FLORA_API_KEY"
{
  "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
{
  "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."
  }
}