Skip to content
Back to skills

Eachlabs Workflows

ASecurity

Build and orchestrate multi-step AI workflows combining multiple EachLabs models. Create custom pipelines, trigger executions, and manage workflow versions. Use when the user needs to chain multiple AI models or automate multi-step content creation.

  • 16 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
businessbashapi

Works with

  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro scans all 2 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill eachlabs-workflows --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Eachlabs Workflows?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Eachlabs Workflows
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-eachlabs-workflows/badge)](https://www.skillsdirectory.com/skills/modbender-eachlabs-workflows)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: eachlabs-workflows
description: Build and orchestrate multi-step AI workflows combining multiple EachLabs models. Create custom pipelines, trigger executions, and manage workflow versions. Use when the user needs to chain multiple AI models or automate multi-step content creation.
metadata:
  author: eachlabs
  version: "1.0"
---

# EachLabs Workflows

Build, manage, and execute multi-step AI workflows that chain multiple models together via the EachLabs Workflows API.

## Authentication

```
Header: X-API-Key: <your-api-key>
```

Set the `EACHLABS_API_KEY` environment variable. Get your key at [eachlabs.ai](https://eachlabs.ai).

## Base URL

```
https://workflows.eachlabs.run/api/v1
```

## Building a Workflow

To build a workflow, you must: (1) create the workflow, then (2) create a version with the steps.

### Step 1: Create the Workflow

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/workflows \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "name": "Product Photo to Video",
    "description": "Generate a product video from a product photo"
  }'
```

This returns a `workflowID`. Use it in the next step.

### Step 2: Create a Version with Steps

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "description": "Initial version",
    "steps": [
      {
        "name": "enhance_photo",
        "model": "gpt-image-v1-5-edit",
        "version": "0.0.1",
        "input": {
          "prompt": "Place this product on a clean white background with studio lighting",
          "image_urls": ["{{inputs.image_url}}"],
          "quality": "high"
        }
      },
      {
        "name": "create_video",
        "model": "pixverse-v5-6-image-to-video",
        "version": "0.0.1",
        "input": {
          "image_url": "{{steps.enhance_photo.output}}",
          "prompt": "Slow cinematic rotation around the product",
          "duration": "5",
          "resolution": "1080p"
        }
      }
    ]
  }'
```

**Important:** Before adding a model to a workflow step, check its schema with `GET https://api.eachlabs.ai/v1/model?slug=<slug>` to validate the correct input parameters.

### Step 3: Trigger the Workflow

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/trigger \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "inputs": {
      "image_url": "https://example.com/product.jpg"
    }
  }'
```

### Step 4: Poll for Result

```bash
curl https://workflows.eachlabs.run/api/v1/executions/{executionID} \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

Poll until `status` is `"completed"` or `"failed"`. Extract output from `step_outputs`.

## Workflow Management

### List Workflows

```bash
curl https://workflows.eachlabs.run/api/v1/workflows \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

### Get Workflow Details

```bash
curl https://workflows.eachlabs.run/api/v1/workflows/{workflowID} \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

### Bulk Trigger

Trigger the same workflow with multiple inputs:

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/trigger/bulk \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "executions": [
      { "inputs": { "image_url": "https://example.com/product1.jpg" } },
      { "inputs": { "image_url": "https://example.com/product2.jpg" } },
      { "inputs": { "image_url": "https://example.com/product3.jpg" } }
    ]
  }'
```

### Check Execution Status

```bash
curl https://workflows.eachlabs.run/api/v1/executions/{executionID} \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

Response includes `status` (`pending`, `running`, `completed`, `failed`) and `step_outputs` with results from each step.

### Webhooks

Configure a webhook to receive results asynchronously:

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/trigger \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "inputs": { "image_url": "https://example.com/photo.jpg" },
    "webhook_url": "https://your-server.com/webhook"
  }'
```

## Version Management

Workflow versions allow you to iterate on workflows while keeping previous versions intact. Steps are defined in versions, not in the workflow itself.

### Create a Version

```bash
curl -X POST https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "description": "Added upscaling step",
    "steps": [
      {
        "name": "generate_image",
        "model": "gpt-image-v1-5-text-to-image",
        "version": "0.0.1",
        "input": {
          "prompt": "{{inputs.prompt}}",
          "quality": "high"
        }
      },
      {
        "name": "upscale",
        "model": "topaz-upscale-image",
        "version": "0.0.1",
        "input": {
          "image_url": "{{steps.generate_image.output}}"
        }
      }
    ]
  }'
```

### Get a Version

```bash
curl https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions/{versionID} \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

### Update a Version

```bash
curl -X PUT https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions/{versionID} \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "description": "Updated prompt template",
    "steps": [
      {
        "name": "generate_image",
        "model": "gpt-image-v1-5-text-to-image",
        "version": "0.0.1",
        "input": {
          "prompt": "Professional photo: {{inputs.prompt}}",
          "quality": "high"
        }
      }
    ]
  }'
```

### List Versions

```bash
curl https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions \
  -H "X-API-Key: $EACHLABS_API_KEY"
```

## Workflow Features

- **Two-phase creation**: Create workflow first, then add steps via versions
- **Step chaining**: Reference previous step outputs with `{{steps.step_name.output}}`
- **Input variables**: Use `{{inputs.variable_name}}` to pass dynamic inputs
- **Version management**: Create, update, and retrieve workflow versions
- **Bulk execution**: Process multiple inputs in a single API call
- **Webhook support**: Get notified when executions complete
- **Public/unlisted sharing**: Share workflows with others

## Example Workflow References

See [references/WORKFLOW-EXAMPLES.md](references/WORKFLOW-EXAMPLES.md) for common workflow patterns.

Files in this skill

  • SKILL.md6.7 KB
  • references/WORKFLOW-EXAMPLES.md6.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.