The Media family contains 5 operators. Image / audio / video generation, transcription, OCR.
Generates an image from a text prompt via OpenRouter (or any OpenAI-compatible image endpoint). Persists the image to tenant storage.
Version 1.0.0 · Semantics side_effect · Secrets OPENROUTER_API_KEY
| Field | Type | Required | Default | Description |
|---|
model | string | no | — | Image model id (e.g. ‘openai/dall-e-3’). |
prompt | string | yes | — | Text prompt describing the image to generate. |
quality | ”standard” | “hd” | no | "standard" | |
return_b64 | boolean | no | false | Also include the base64-encoded image bytes inline in the output. |
size | ”256x256” | “512x512” | “1024x1024” | “1024x1792” | “1792x1024” | no | "1024x1024" | |
| Port | Type | Required | Description |
|---|
input | any | no | Input |
| Port | Type | Required | Description |
|---|
output | object | no | Image |
Extracts text from an image using a vision-capable LLM. Counts against the tenant AI budget.
Version 1.0.0 · Semantics side_effect · Visibility advanced · Secrets OPENROUTER_API_KEY
| Field | Type | Required | Default | Description |
|---|
lang | string | no | — | Optional ISO-639 language hint for the OCR model. |
model | string | no | — | Vision-capable chat model id (e.g. ‘openai/gpt-4o-mini’). |
prompt | string | no | — | Override the instruction sent to the vision model. |
source | ”url” | “storage” | yes | — | |
storage_path | string | no | — | Tenant storage path (required when source=storage). |
url | string | no | — | Source URL (required when source=url). Subject to SSRF guard. |
| Port | Type | Required | Description |
|---|
input | any | no | Input |
| Port | Type | Required | Description |
|---|
output | object | no | Text |
Processes images, audio, or video (resize, transcribe, extract frames).
Version 1.0.0 · Semantics passthrough · Visibility advanced
| Field | Type | Required | Default | Description |
|---|
operation | ”resize” | “transcribe” | “extract_frames” | “thumbnail” | yes | "resize" | |
options | object | no | — | |
| Port | Type | Required | Description |
|---|
input | any | yes | Media |
| Port | Type | Required | Description |
|---|
output | any | no | Output |
Transcribes audio to text via a Whisper-compatible endpoint. Counts against the tenant AI budget.
Version 1.0.0 · Semantics side_effect · Secrets OPENROUTER_API_KEY
| Field | Type | Required | Default | Description |
|---|
filename | string | no | — | Multipart filename hint (e.g. ‘audio.mp3’). Some providers require an extension to detect format. |
language | string | no | — | Optional ISO-639 language hint for the transcription model. |
model | string | no | — | Whisper-compatible model id (e.g. ‘openai/whisper-1’). |
response_format | ”text” | “json” | “verbose_json” | no | "verbose_json" | |
source | ”url” | “storage” | yes | — | |
storage_path | string | no | — | Tenant storage path (required when source=storage). |
url | string | no | — | Source URL (required when source=url). Subject to SSRF guard. |
| Port | Type | Required | Description |
|---|
input | any | no | Input |
| Port | Type | Required | Description |
|---|
output | object | no | Transcript |
Applies local image transformations (resize, re-format, strip metadata). No external API call.
Version 1.0.0 · Semantics side_effect · Idempotent
| Field | Type | Required | Default | Description |
|---|
ops | object[] | yes | — | |
source | ”url” | “storage” | yes | — | Where to read the source image from. |
storage_path | string | no | — | Tenant storage path (required when source=storage). |
url | string | no | — | Source URL (required when source=url). Subject to SSRF guard. |
| Port | Type | Required | Description |
|---|
input | any | no | Input |
| Port | Type | Required | Description |
|---|
output | object | no | Image |
Every operator above is rendered from its JSON schema in /opt/glyph/schemas/operators/:
schemas/operators/media.generate.json
schemas/operators/media.ocr.json
schemas/operators/media.process.json
schemas/operators/media.transcribe.json
schemas/operators/media.transform.json