# Output and tool nodes

Download at the end of a flow, the tools that loop, sort and pick, and notes for whoever opens the canvas next.

Last updated: 2026-10-05

**Key facts**

- Spacelab's Text Iterator and Image Iterator run everything after them once per value; the iterators are free, but each pass bills the paid nodes after them.
- Spacelab's Bundle node collects an iterator's results back into one set of images for a port that takes several.
- Spacelab's Download node adds a download button on the canvas only; a published space shows its results without it.
- Spacelab's Garment Classifier sorts images into groups you describe, at a flat cost per run however many classes it has.
- Spacelab's Video Analyzer watches a video and answers a prompt about it, with Gemini 3.6 Flash or Gemini 3.1 Pro.

Web page: https://sloosh.ai/docs/nodes-tools

Each entry says what the node does, then gives the same lines in the same order: Best for, In, Out, Settings, Cost, Limits, Example and Tip. A line that doesn't apply is left out. To find a node on the canvas, search Add node by name.

## At a glance

- [Download](https://sloosh.ai/docs/nodes-tools.md#download): a download button for images and videos on the canvas. Free.
- [PDF Export](https://sloosh.ai/docs/nodes-tools.md#pdf-export): puts images into one PDF, a page each. Free.
- [Text Iterator](https://sloosh.ai/docs/nodes-tools.md#text-iterator): runs the rest of the flow once per text value. Free.
- [Image Iterator](https://sloosh.ai/docs/nodes-tools.md#image-iterator): runs the rest of the flow once per image. Free.
- [Bundle](https://sloosh.ai/docs/nodes-tools.md#bundle): collects an iterator's results into one set. Free.
- [Image Randomizer](https://sloosh.ai/docs/nodes-tools.md#image-randomizer): picks one image at random each run. Free.
- [Garment Classifier](https://sloosh.ai/docs/nodes-tools.md#garment-classifier): sorts images into groups you describe.
- [Video Analyzer](https://sloosh.ai/docs/nodes-tools.md#video-analyzer): answers a prompt about a video.
- [Sticky Note](https://sloosh.ai/docs/nodes-tools.md#sticky-note): a note for whoever opens the canvas next.
- [Group](https://sloosh.ai/docs/nodes-tools.md#group): boxes nodes together under a label.

## Output

### Download

Node: Download (`download`)

- Inputs: `images__0` (Image 1, image), `videos__0` (Video 1, video)
- Outputs: none

Wire images and videos into it and it gives you a download button on the canvas.

- In: any number of images and videos.
- Cost: Free.
- Limits: canvas only. A published space shows its results without it.
- Tip: a node whose wires only go to a Download still counts as a result.

### PDF Export

Node: PDF Export (`pdf-export`)

- Inputs: `images__0` (Image 1, image)
- Outputs: `pdf` (PDF, document)

Puts images into one PDF, one page per image: a lookbook, a catalogue, a contact sheet.

- In: images, from single images, an image list or any node that makes images. Pages follow the node's image slots, Image 1 first; an image list fills its slot in its own order.
- Out: PDF, a file the run shows with its page count and size, saved to your Assets. It can also go into the Documents input of Any LLM.
- Pages: each page is its image's own size, with no margins and no cropping.
- Cost: Free.
- Limits: up to 50 images and 200 MB of images per PDF; JPG, PNG and WebP. Past a limit the run stops and says which, rather than leaving pages out.
- Tip: it adds no text or layout. Put titles on the images first, then export.

## Tools

### Text Iterator

Node: Text Iterator (`text-iterator`)

- Inputs: `values_port` (Values, text)
- Outputs: `text` (Text, text)

A list of text values. Everything after it runs once per value. Type the values on the node, or wire in a list, which replaces them.

- Out: Text, one value per pass.
- Cost: Free, but each pass runs the nodes after it, and the paid ones bill every time.
- Example: beach, studio, city street → a Prompt variable → Image Model: three images, one per scene.

### Image Iterator

Node: Image Iterator (`image-iterator`)

- Inputs: `images_port` (Images, image)
- Outputs: `image` (Image, image)

The same for images: everything after it runs once per image. Add images on the node or wire in a set.

- Out: Image, one per pass.
- Cost: Free, but each pass runs the nodes after it, and the paid ones bill every time.
- Example: 5 product photos → Image Iterator → BG Remove → Image Model, for the same treatment on each.

### Bundle

Node: Bundle (`bundle`)

- Inputs: `image` (Image, image)
- Outputs: `images` (Images, image)

Collects the results of an iterator back into one set, which you can wire into a port that takes several images.

- In: one image per pass.
- Out: Images.
- Cost: Free.

Iterators multiply. Two iterators of 4 values each make 16 passes. Spacelab warns above 16 and refuses a run above 64.

### Image Randomizer

Node: Image Randomizer (`image-randomizer`)

- Inputs: `images__0` (Image 1, image)
- Outputs: `image` (Image, image)

Picks one image at random from the ones wired in, each run. Under an iterator it picks again on every pass.

- In: any number of images or sets.
- Out: Image.
- Cost: Free.
- Example: Background Input with 8 backgrounds → Image Randomizer → Image Model.

### Garment Classifier

Node: Garment Classifier (`garment-classifier`)

- Inputs: `images__0` (Image 1, image)
- Outputs: `class_0` (Tops, image), `class_1` (Bottoms, image), `class_2` (Accessories, image)

Sorts images into groups you describe. Add a class for each group with a name, a description of what belongs in it, and a text model. Each class is one model call over all the images, and each gets its own output with the images that matched. It has its own Run button.

- In: any number of images.
- Out: one Images port per class.
- Cost: a flat 30 credits a run, however many classes it has.
- Example: Multi Image Input with 10 product shots → classes Tops, Bottoms and Accessories → a different prompt for each group.

### Video Analyzer

Node: Video Analyzer (`video-analyzer`)

- Inputs: `video` (Video, video), `prompt` (Prompt, text), `system_prompt` (System prompt, setting)
- Outputs: `text` (Text, text)

Watches a video and answers a prompt about it.

- In: Video (required), Prompt (required).
- Out: Text.
- Settings: Model, Gemini 3.6 Flash (faster) or Gemini 3.1 Pro (more thorough answers), and an optional system prompt to set the tone.
- Cost: credits by length of the prompt and answer, by model.
- Example: a competitor's ad → Video Analyzer (list every shot and its length) → Any LLM to write your version.

## Other

### Sticky Note

A note on the canvas. It has no ports and never runs. Use it to explain the canvas to your team or to whoever remixes it.

### Group

Select two or more nodes and press Group in the bottom toolbar (Cmd+G or Ctrl+G) to box them together under a label. Cmd+Shift+G or Ctrl+Shift+G ungroups them.

## Frequently asked questions

### How do I run the same edit on many product photos in Spacelab?

Put an Image Iterator before the edit in Spacelab: everything after it runs once per image. For example, 5 product photos into an Image Iterator, then BG Remove, then an Image Model gives each photo the same treatment, and each pass bills the paid nodes.

### How do I sort product photos into categories in Spacelab?

Use Spacelab's Garment Classifier node. Add a class for each group, such as Tops, Bottoms and Accessories, with a name, a description and a text model. Each class gets its own Images output with the matching photos, so each group can get its own prompt.

### Can Spacelab analyse a competitor's video ad?

Yes. Wire the video and a Prompt into Spacelab's Video Analyzer, which answers in text, for example by listing every shot and its length. Gemini 3.6 Flash is faster and Gemini 3.1 Pro gives more thorough answers; feed the text into Any LLM to write your version.

### How do I pick a random image each run in Spacelab?

Wire your images into Spacelab's free Image Randomizer, which picks one at random on each run. Under an iterator it picks again on every pass. For example, a Background Input with 8 backgrounds into an Image Randomizer gives an Image Model a different background each time.

### How do I group nodes on a Spacelab canvas?

Select two or more nodes and press Group in Spacelab's bottom toolbar, or Cmd+G or Ctrl+G, to box them under a label. Cmd+Shift+G or Ctrl+Shift+G ungroups them. A Sticky Note explains the canvas to whoever opens or remixes it next.
