> ## Documentation Index
> Fetch the complete documentation index at: https://ralphy.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Media nodes

> Workflow-graph media nodes: ports, params, executor status, and spend class.

B. Media — strict inputs typed by I/O signature.

Facts on this page are introspected from `cli/lib/schemas/workflow.ts` and the live executor registry — never hand-edited.

### `t2i`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type     |
| --------- | ------------------- | -------- |
| in        | `prompt` (required) | text     |
| out       | `out`               | image\[] |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "t2i-example",
  "nodes": [
    {
      "id": "t2i",
      "type": "t2i",
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `i2i`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type     |
| --------- | ------------------- | -------- |
| in        | `images` (required) | image\[] |
| in        | `prompt` (required) | text     |
| out       | `out`               | image\[] |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "i2i-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "i2i",
      "type": "i2i",
      "in": {
        "images": "src-image.out"
      },
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `t2v`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type  |
| --------- | ------------------- | ----- |
| in        | `prompt` (required) | text  |
| out       | `out`               | video |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "t2v-example",
  "nodes": [
    {
      "id": "t2v",
      "type": "t2v",
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `i2v`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                     | Type     |
| --------- | ------------------------ | -------- |
| in        | `first_frame` (required) | image\[] |
| in        | `last_frame`             | image\[] |
| in        | `prompt` (required)      | text     |
| out       | `out`                    | video    |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "i2v-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "i2v",
      "type": "i2v",
      "in": {
        "first_frame": "src-image.out"
      },
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `r2v`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type     |
| --------- | ------------------- | -------- |
| in        | `refs` (required)   | image\[] |
| in        | `ref_videos`        | video    |
| in        | `prompt` (required) | text     |
| out       | `out`               | video    |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "r2v-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "r2v",
      "type": "r2v",
      "in": {
        "refs": "src-image.out"
      },
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `v2v`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type  |
| --------- | ------------------- | ----- |
| in        | `video` (required)  | video |
| in        | `prompt` (required) | text  |
| out       | `out`               | video |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "v2v-example",
  "nodes": [
    {
      "id": "src-video",
      "type": "t2v",
      "params": {
        "prompt": "a cat walking"
      }
    },
    {
      "id": "v2v",
      "type": "v2v",
      "in": {
        "video": "src-video.out"
      },
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `lipsync`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port               | Type     |
| --------- | ------------------ | -------- |
| in        | `image` (required) | image\[] |
| in        | `audio` (required) | audio    |
| out       | `out`              | video    |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "lipsync-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "src-audio",
      "type": "tts",
      "params": {
        "text": "hello"
      }
    },
    {
      "id": "lipsync",
      "type": "lipsync",
      "in": {
        "image": "src-image.out",
        "audio": "src-audio.out"
      }
    }
  ]
}
```

### `tts`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port              | Type  |
| --------- | ----------------- | ----- |
| in        | `text` (required) | text  |
| out       | `out`             | audio |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "tts-example",
  "nodes": [
    {
      "id": "tts",
      "type": "tts",
      "params": {
        "text_file": "prompts/text.txt"
      }
    }
  ]
}
```

### `voice-design`

**Status:** schema-only · paid

*No schema description yet.*

**Ports**

| Direction | Port              | Type                |
| --------- | ----------------- | ------------------- |
| in        | `text` (required) | text                |
| out       | `out`             | object:voice-design |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "voice-design-example",
  "nodes": [
    {
      "id": "voice-design",
      "type": "voice-design",
      "params": {
        "text_file": "prompts/text.txt"
      }
    }
  ]
}
```

### `music`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type  |
| --------- | ------------------- | ----- |
| in        | `prompt` (required) | text  |
| out       | `out`               | audio |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "music-example",
  "nodes": [
    {
      "id": "music",
      "type": "music",
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `sfx`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                | Type  |
| --------- | ------------------- | ----- |
| in        | `prompt` (required) | text  |
| out       | `out`               | audio |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "sfx-example",
  "nodes": [
    {
      "id": "sfx",
      "type": "sfx",
      "params": {
        "prompt_file": "prompts/prompt.txt"
      }
    }
  ]
}
```

### `transcribe`

**Status:** executable · paid

*No schema description yet.*

**Ports**

| Direction | Port                     | Type              |
| --------- | ------------------------ | ----------------- |
| in        | `audio`                  | audio             |
| in        | `video`                  | video             |
| in        | one of: `audio`, `video` | —                 |
| out       | `out`                    | object:transcript |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "transcribe-example",
  "nodes": [
    {
      "id": "src-audio",
      "type": "tts",
      "params": {
        "text": "hello"
      }
    },
    {
      "id": "transcribe",
      "type": "transcribe",
      "in": {
        "audio": "src-audio.out"
      }
    }
  ]
}
```

### `upscale`

**Status:** schema-only · free

Deterministic post-ops (ffmpeg-backed) — same-kind in/out, no coverage row.

**Ports**

| Direction | Port                     | Type     |
| --------- | ------------------------ | -------- |
| in        | `image`                  | image\[] |
| in        | `video`                  | video    |
| in        | one of: `image`, `video` | —        |
| out       | `out`                    | any      |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "upscale-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "upscale",
      "type": "upscale",
      "in": {
        "image": "src-image.out"
      }
    }
  ]
}
```

### `remove-bg`

**Status:** executable · free

*No schema description yet.*

**Ports**

| Direction | Port               | Type     |
| --------- | ------------------ | -------- |
| in        | `image` (required) | image\[] |
| out       | `out`              | image\[] |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "remove-bg-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "remove-bg",
      "type": "remove-bg",
      "in": {
        "image": "src-image.out"
      }
    }
  ]
}
```

### `reframe`

**Status:** executable · free

*No schema description yet.*

**Ports**

| Direction | Port                     | Type     |
| --------- | ------------------------ | -------- |
| in        | `image`                  | image\[] |
| in        | `video`                  | video    |
| in        | one of: `image`, `video` | —        |
| out       | `out`                    | any      |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "reframe-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "reframe",
      "type": "reframe",
      "in": {
        "image": "src-image.out"
      }
    }
  ]
}
```

### `crunch`

**Status:** executable · free

*No schema description yet.*

**Ports**

| Direction | Port               | Type     |
| --------- | ------------------ | -------- |
| in        | `image` (required) | image\[] |
| out       | `out`              | image\[] |

**Params**

| Name         | Type      | Default | Required |
| ------------ | --------- | ------- | -------- |
| `model`      | string    | —       | no       |
| `provider`   | string    | —       | no       |
| `guidelines` | string\[] | —       | no       |

* `guidelines` — #515 guideline folding — see LlmParamsSchema.guidelines.

**Example**

```json theme={"dark"}
{
  "version": "2.0",
  "name": "crunch-example",
  "nodes": [
    {
      "id": "src-image",
      "type": "t2i",
      "params": {
        "prompt": "a cat"
      }
    },
    {
      "id": "crunch",
      "type": "crunch",
      "in": {
        "image": "src-image.out"
      }
    }
  ]
}
```

## Related

* [Farm node-graph architecture](https://github.com/alecs5am/ralphy/blob/main/docs/architecture/farm-node-graph.md) — the design rationale behind these node types
* [`ralphy workflow`](/reference/cli/workflow) — lint and inspect a workspace's graphs
