> For the complete documentation index, see [llms.txt](https://docs.flora.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flora.ai/nodes/custom-actions.md).

# Custom Actions

The [Action Node](/nodes/action-node.md) catalog covers the most common editing operations—but sometimes you need a tool that doesn't exist yet. Custom Actions let you describe the tool you want in plain language, and FLORA builds it for you on the spot. No plugins, no external apps, no waiting for a feature request.

Type "add a thin white border and my caption to the bottom of this image," and seconds later you have a working, reusable node with its own controls—sliders, color pickers, dropdowns—sitting on your canvas like any other action.

***

## Creating a Custom Action

{% stepper %}
{% step %}
**Add the node**

Open the Add Node menu with the **+** button and choose **Generate Action** ("Build with AI from a prompt"). A new node appears with a single text field showing an example prompt—write your own prompt, or use the suggested one.
{% endstep %}

{% step %}
**Describe what you want**

Write what the tool should do, like you'd explain it to a colleague: "split this image into a 3×3 grid," "convert this video to a series of frames," "turn each line of this text into a numbered list." If you've already connected inputs, FLORA sees their types (image, video, audio, or text) and builds the action to match.
{% endstep %}

{% step %}
**Press Enter**

FLORA generates the action in a few seconds. The node updates with a name, input slots, and any controls the tool needs—dial them in just like a prebuilt action.
{% endstep %}

{% step %}
**Connect and Run**

Wire up your inputs, adjust the controls, and click **Run**. Results appear as output nodes, ready to feed into the rest of your workflow.
{% endstep %}
{% endstepper %}

### Refining and fixing

Custom actions are conversational, not one-shot:

* **Edit** — click the **Edit** pill on the node to describe a change ("make the border thicker," "add a slider for opacity") and FLORA updates the action in place.
* **Troubleshoot** — if a run fails, a **Troubleshoot** button appears with the error. One click sends the details to [FAUNA](/editor/fauna.md), which diagnoses and fixes the action for you.

***

## What Custom Actions Can Do

Custom actions work with all four canvas modalities—**image, video, audio, and text**—and can accept multiple inputs, produce multiple outputs, and convert between formats. Actions come with a rich toolkit for image manipulation, video processing, and text handling built in.

Not sure whether an action can do what you have in mind? Ask [FAUNA](/editor/fauna.md)—the chat agent is a good place to figure out what actions can do, and it can build and update them for you.

### Cool things people build

* **Stylized effects models don't do well** — halftone dots, dithering, ASCII art, scan lines, precise duotones with your exact hex values.
* **Brand enforcement tools** — apply your exact brand colors, margins, watermark, and caption style to any image. Deterministic and pixel-perfect, unlike a prompt.
* **Contact sheets and grids** — tile a set of images into a labeled grid for client review, or slice one image into a 9-tile Instagram grid.
* **Format converters** — video to a series of frames, image set to sprite sheet, audio waveform to image.
* **QR codes and overlays** — generate a QR code from a text node and composite it onto a poster.
* **Prompt machinery** — split a CSV of product names into individual prompts, wrap each in your house style, and feed them to a [Batch Node](/nodes/batch-node.md).
* **Video utilities** — extract a thumbnail at an exact timestamp, burn a countdown timer into a clip, assemble stills into a timelapse.

The pattern: whenever you need something **precise, repeatable, or mechanical**—the kind of task where an AI model's creative interpretation is a bug, not a feature—a custom action is the right tool.

***

## Custom Actions in Workflows

Custom actions behave like any other node, so they compose with everything on the canvas:

* **Chain with generation nodes** — generate an image with AI, then run your custom "brand kit" action for a consistent finish.
* **Batch them** — connect a [Batch Node](/nodes/batch-node.md) and the Run button becomes **Run N**, processing every item with identical settings.
* **Use them in Techniques** — custom actions can be steps inside a [Technique](/nodes/techniques.md), mixing deterministic processing with AI generation in one repeatable workflow.

```
[CSV of 50 product names] → [Custom Action: format prompts] → [Batch Node] → [Image Node] → [Custom Action: brand kit] → 50 on-brand assets
```

***

## Good to Know

* **Be specific about inputs and outputs.** "Take an image and a text caption, output one image" generates a better tool than "make a caption thing."
* **Start simple, then iterate.** Get a basic version running, then use **Edit** to layer on options and controls.
* **Actions are project-scoped.** A custom action lives in the project where you created it; recreate it elsewhere by describing it again.
* **Runs take up to 5 minutes.** Long video operations that exceed the limit are better split into steps.
* **Custom actions require an eligible plan.** If you see "Upgrade to generate custom actions" in the node menu, check your [workspace plan](/plans-and-billing/pricing.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flora.ai/nodes/custom-actions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
