# Tools in recipes (https://docs.fuser.studio/docs/tools/recipes)

Tools fit naturally inside [recipes](https://docs.fuser.studio/docs/recipes.md): a model generates an
image, a Live tool adds the border and caption, and a Cloud tool writes the
alt text. Both Live and Cloud tools work.

## Add tools to a recipe [#add-tools-to-a-recipe]

Build and test the flow on your canvas, including its tools. Select the
nodes and click  **Create
recipe from selection**, as with any recipe. See
[Creating a recipe](https://docs.fuser.studio/docs/recipes/creating.md).

You can also open an existing recipe and add a tool inside it, from the
**Nodes** panel or your [Tools library](https://docs.fuser.studio/docs/tools/library.md). Inside the
recipe, tools stay live, just like on your canvas.

Only built tools can be published in a recipe. Generate any empty Tool nodes
first, or remove them.

## Inputs, outputs, and controls [#inputs-outputs-and-controls]

| Part of the tool                     | In the recipe                                                                                                                                                              |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| An input fed from outside the recipe | A recipe input, named after the tool's input, such as **Photo**.                                                                                                           |
| The tool's result                    | A recipe output when it leaves the recipe, named after the tool, such as **Posterize**. A tool with several results adds each result's name, such as **Turnaround Front**. |
| Sliders, dropdowns, and switches     | Fixed at the values set inside the recipe. They don't become recipe inputs. Open the recipe to change them and save a new version.                                         |

When you create the recipe, Fuser keeps each tool's current result. The new
recipe node shows it straight away, and an image result can become the
recipe's thumbnail.

A tool's result doesn't need a starting value before publishing. It's
produced fresh on every run.

## Running a recipe with tools [#running-a-recipe-with-tools]

A placed recipe always needs a run, even when every tool in it is Live. Its
tools run on Fuser's servers as part of that run, so they don't update while
you change the recipe's inputs. See [Running recipes](https://docs.fuser.studio/docs/recipes/running.md).

| Tool inside the recipe | Effect on the run                                                                   |
| ---------------------- | ----------------------------------------------------------------------------------- |
| Live                   | Free. Runs with the rest of the recipe.                                             |
| Cloud                  | Adds its minimum to the recipe's credit estimate, shown with a plus, such as `~7+`. |

When a tool's result is the recipe's output, the finished file is saved to
your Assets, like any other recipe result.

## What's Next? [#whats-next]

  - [Running recipes](https://docs.fuser.studio/docs/recipes/running.md): Set inputs, check the cost, and run a recipe.

  - [Inputs and outputs](https://docs.fuser.studio/docs/recipes/inputs-and-outputs.md): Choose the controls and results your recipe exposes.

  - [Running tools](https://docs.fuser.studio/docs/tools/running.md): Live updates, Cloud runs, and keeping results on your canvas.