Skip to main content
When a published run completes, GET /api/v1/runs/{runId} returns an output object keyed by the normalized label of each User Result node. Each key maps to an array of output items. Each output item preserves one logical unit of work: one normal run, one batch iteration, one selected item, or one element from an LLM structured list.

Output items

Why an array of items? A Result can receive multiple logical outputs: a Batch with five rows, a multi-select Choose Output, or an LLM structured list with several elements. Each logical output stays separate. Why can one item contain multiple parts? One provider call can produce several fragments, such as text plus a file, or several files from one generation call.

Part types

Check part.type and branch on it.
Plain string output — chat responses, captions, summaries, transcriptions.
An image file hosted on Blend AI’s CDN.
A video file hosted on Blend AI’s CDN.
Any non-image, non-video file, including audio, PDFs, documents, or archives.
Structured JSON data returned by a workflow output.

Reading parts in your code

Duplicate labels

If two User Result nodes share the same normalized label, publishing asks you to rename one of them. Explicit labels keep your runner and API contract stable across workflow edits.

What’s next

Lists & single values

How batches, selections, and structured lists become multiple output items.

API Reference

Full endpoint reference with request/response schemas and a live playground.