# Pipelines Overview

Pipelines automate the full journey from 3D model file to finished render. Connect an external storage folder, choose a template, and Glossi handles everything else — downloading files, creating projects, rendering images and videos, and exporting results back to your storage.

No manual steps — just drop files and get renders.

### How Pipelines Work

A pipeline is a graph of **nodes** that each perform one step. You build a pipeline by choosing a trigger, then adding processing nodes. Nodes can be chained in sequence or branched — for example, a single trigger can feed into multiple Render nodes, each with a different template, to render the same model in multiple scenes.

#### Pipeline Stages

When a pipeline runs, each file moves through the stages defined by your nodes:

| Stage          | What Happens                                              |
| -------------- | --------------------------------------------------------- |
| **Queued**     | New file detected or event triggered                      |
| **Ingesting**  | File downloaded and uploaded to Glossi                    |
| **Processing** | 3D model converted and project created                    |
| **Rendering**  | Images and videos rendered using your template            |
| **Styling**    | Brand Style or AI Edit variants generated (if configured) |
| **Exporting**  | Finished renders uploaded to your output folder           |
| **Completed**  | Done                                                      |

If any stage fails, the pipeline retries automatically based on your retry settings. The pipeline itself keeps running — only authentication errors (expired OAuth tokens) will pause the pipeline.

### Creating a Pipeline

Go to [**Pipelines**](https://www.app.glossi.io/pipelines) and click **"Create Pipeline"**.

You have two options:

#### Start from a Template

The template gallery offers pre-built pipelines for common workflows:

* **Renders from Google Drive** — Watch a Google Drive folder, render with a template, export back to Drive
* **Renders from OneDrive** — Same workflow with OneDrive
* **Renders from AEM** — Same workflow with Adobe Experience Manager
* **Full Pipeline with Styles** — Connector-based pipeline with Brand Style variants
* **Auto-Render on Model Upload** — Render automatically when a model finishes processing
* **Style New Renders** — Apply Brand Styles whenever a render completes
* **AI Edit Pipeline** — Create AI-edited variants when renders complete

Templates pre-fill the entire node chain. You still need to configure each node (sign in to connectors, pick folders, choose a template, etc.).

#### Build from Scratch

Choose a trigger type, then add nodes one at a time. The pipeline editor shows which nodes can follow the current one, so you always build a valid chain. See Triggers and Nodes for details on each option.

### The Pipeline Editor

The pipeline detail page has two tabs:

#### Editor Tab

The visual pipeline builder shows your node chain. Click any node to configure it in the right sidebar. The **Pipeline Overview** panel shows:

* Pipeline name (editable)
* Current status
* Job statistics (total, completed, failed, active)
* Created and last updated timestamps

#### Runs Tab

The runs table shows every job the pipeline has processed. Each row shows:

* **File name** — The source model file
* **Status** — Current processing stage with color-coded badges
* **Outputs** — Number of rendered files produced
* **Time** — When the job last updated

Click any run to see its full details in the right sidebar, including error messages and a link to view the project's renders.

Filter runs by status to quickly find failed or in-progress jobs.

### Managing Your Pipeline

From the pipeline detail page:

* **Run Now** — Trigger an immediate poll instead of waiting for the next scheduled cycle.
* **Pause / Resume** — Temporarily stop or restart the pipeline. Pausing does not cancel in-progress jobs.
* **Delete** — Remove the pipeline and all its job history.

#### Retrying Failed Jobs

Failed jobs are retried automatically after all active jobs in the pipeline finish processing. Retries are batched (up to your configured batch size per cycle) to avoid overloading the system. You can also retry jobs manually from the run detail panel.

Retry re-processes the file from the point of failure — if the model was already uploaded and the render failed, retry picks up from rendering, not from scratch.

#### Deleting Jobs

Select jobs and delete them to remove their records. If the source file still exists in the connected folder, it may be re-detected and processed again on the next poll cycle.

### Error Handling

Pipelines are designed to keep running through transient errors:

* **Automatic retries** — Failed jobs are retried automatically after all active jobs finish processing. Retries use increasing delays (1 minute, 2 minutes, 4 minutes, etc.) and are batched to avoid overloading the system. A background cron also retries eligible jobs as a fallback.
* **Max retries** — After the configured number of retries (default 3), the job is marked as permanently failed. Permanently failed jobs trigger a Sentry alert for investigation.
* **Style variant retries** — If individual style variants fail (e.g., AI service timeout), the pipeline automatically retries them up to 2 times before moving to the next node. Only variants that fail after all retries are skipped — successful variants still pass to downstream nodes.
* **Auth errors pause the pipeline** — If a connector's OAuth token expires or is revoked, the pipeline pauses and shows a re-authentication prompt. This is the only condition that pauses a pipeline automatically.
* **Transient errors don't pause** — S3 outages, network timeouts, and processing failures are handled by the retry mechanism. The pipeline keeps polling and processing other files.
* **Model conversion wait** — Jobs waiting for 3D model conversion (the "Processing" stage) will wait as long as needed. This stage has no timeout, since the external converter may take longer with large backlogs. Jobs only fail if the model itself fails conversion.
* **Node validation** — The pipeline validates that all nodes are fully configured before running. If any node is missing required settings (e.g., no folder selected, no template chosen), the pipeline won't start and shows a specific error message.

### Output Folder Structure

When using an export node, rendered files are organized by model name:

```
Output Folder/
├── Chair Model/
│   ├── Front View - Default.png
│   ├── Side View - Default.png
│   └── 360 Spin - Default.mp4
├── Table Model/
│   ├── Front View - Default.png
│   └── Side View - Default.png
└── ...
```

With Brand Styles and **Group by style** enabled:

```
Output Folder/
├── Chair Model/
│   ├── Front View - Default.png
│   ├── Side View - Default.png
│   ├── Warm Studio/
│   │   ├── Front View - Default.png
│   │   └── Side View - Default.png
│   └── Clean White/
│       ├── Front View - Default.png
│       └── Side View - Default.png
└── ...
```

With **Group by style** off (default), styled variants sit alongside base renders:

```
Output Folder/
├── Chair Model/
│   ├── Front View - Default.png
│   ├── Front View - Default_Warm Studio.png
│   ├── Front View - Default_Clean White.png
│   └── ...
└── ...
```

### Supported File Types

| Extension       | Format                      |
| --------------- | --------------------------- |
| `.glb`          | glTF Binary                 |
| `.gltf`         | glTF                        |
| `.usdz`         | Universal Scene Description |
| `.usd`          | Universal Scene Description |
| `.fbx`          | Autodesk FBX                |
| `.obj`          | Wavefront OBJ               |
| `.step`, `.stp` | STEP (CAD)                  |
| `.stl`          | Stereolithography           |
