目录 / Wiro AI for n8n
Wiro AI for n8n
--- name: wiro-n8n description: Generate video, images, speech, music, 3D and LLM output with Wiro AI inside n8n workflows through the official community node package @wiro-ai/n8n-nodes-wiroai, including install, Wiro API credentials, node outputs, errors and cost control, plus running Wiro workflows and messaging Wiro Studio, the Workflow Agent and deployed agents. Use when the user builds an n8n workflow or automation with Wiro, asks about the Wiro community node or @wiro-ai/n8n-nodes-wiroai, or wants media or LLM output generated in n8n. --- # Wiro AI in n8n The npm package `@wiro-ai/n8n-nodes-wiroai` adds one n8n node per Wiro AI model, each with that model's own fields. A node starts a task on Wiro, waits for it to finish and returns the result. Every node can also be used as a tool by an n8n AI Agent. ## When to use - The user builds or edits an n8n workflow that generates video, images, speech, music or 3D models, or chats with an LLM, through Wiro. - The user wants to install or set up the Wiro community node, or a Wiro node returned `failed`. - For Wiro calls from code or from an agent outside n8n, use the `wiro-ai` skill (see the end). ## Install On self-hosted n8n, as an Owner or Admin: 1. Go to **Settings > Community Nodes** and select **Install**. 2. Enter `@wiro-ai/n8n-nodes-wiroai`, accept the risk notice and select **Install**. For a manual install (for example inside a Docker container), run this in `~/.n8n/nodes`, then restart n8n: ```bash npm install @wiro-ai/n8n-nodes-wiroai ``` Other install methods: https://docs.n8n.io/integrations/community-nodes/installation/ Requirements: Node.js 18 or later and n8n 1.85.0 or later. ## Credentials 1. The user creates a project at https://wiro.ai/panel/project/new and chooses its authentication method. 2. In n8n they open **Credentials > Add new > Wiro API** and fill in: | Field | What to enter | | --- | --- | | Authentication Method | `Signature-Based (Recommended)` (the default) or `API Key Only (Simple)`, matching the project | | API Key | The project's API key | | API Secret | The project's API secret (shown only for Signature-Based) | 3. Every Wiro node uses this credential while its **Authentication** field is `API Key` (the default). Select it on each node. Signature-Based signs every request with HMAC-SHA256, so the secret itself is not sent. API Key Only sends only the key. See https://wiro.ai/docs/authentication. **Sign in with a Wiro account (OAuth2):** on n8n Cloud and on n8n running on the user's own computer, set **Authentication** to `OAuth2` on the node, create a **Wiro OAuth2 API** credential and select **Connect my account**. The user signs in on wiro.ai, picks the project whose workspace wallet pays, and selects Allow. No key is copied. Other n8n instances use the Wiro API credential. Keys stay in the n8n credential: - The user types the key and secret into the credential form. Never ask for them in chat. - Never put a key or secret in node fields, expressions, Code nodes, workflow JSON or exported files. An exported workflow refers to its credential by ID and name only. - `Wiro - RAG Chat GitHub` has a `Github Access Token` field for private repositories (leave it blank for public ones). Its value is saved with the workflow, so clear it before you export or share the workflow. ## How a Wiro node runs - Search the node picker for `Wiro` or the model name. Display names look like `Wiro - Veo 3.1`. - There is no resource or operation to choose: each node runs its own model. - A run starts one task, waits for it to finish and outputs one item. No separate polling step is needed. - The node runs once for each incoming item and links each result to its item, so ten items start ten paid tasks. Put a Limit node in front of it when you only want one run. - Files go in as URLs, in fields such as `Image URL` or `Input Audio URL`. Pass accessible URLs, or map one from an earlier node, for example `{{ $json.url }}`. When a field takes several URLs, its description says how to separate them. - Output: `taskid`, `status` (`completed` or `failed`) and `url`. The chat and LLM nodes return their reply in `message` instead of `url`. - `url` holds the output file link. When a task makes several files, they come joined in one string; split it with `{{ $json.url.split(' | ') }}`. Run a new node once and look at its output before you build on it. - Run a new node once and look at its output before you map fields downstream. - The LLM nodes have `User ID` and `Session ID` fields. Send the same pair on every run to keep the chat history, and a new `Session ID` to start a separate conversation. ## Node groups | Group | Example nodes | Result field | | --- | --- | --- | | Video | `Wiro - Veo 3.1`, `Wiro - Seedance 2.0 Video Generation Model`, `Wiro - Kling V3 Text-to-Video Generator`, `Wiro - MiniMax Hailuo 2.3`, `Wiro - Product Ads` | `url` | | Image (generate and edit) | `Wiro - Nano Banana 2.1 Image Generator (Google)`, `Wiro - FLUX.2 Pro`, `Wiro - Seedream 4.5`, `Wiro - Remove Background AI Tool`, `Wiro - Virtual Try-on` | `url` | | Audio and speech | `Wiro - ElevenLabs Text to Speech`, `Wiro - Gemini 2.5 TTS`, `Wiro - Speech to Text (Whisper Large v3)`, `Wiro - Voice Clone` | `url` | | Music | `Wiro - MusicGen`, `Wiro - YuE Text to Song`, `Wiro - Video Background Music v2` | `url` | | LLM chat | `Wiro - GPT-5.2 AI Model`, `Wiro - GPT-5 Mini AI Model`, `Wiro - Gemini 3 Flash`, `Wiro - LLM Chat`, `Wiro - RAG Chat Website` | `message` | | Utility | `Wiro - TranslateGemma 12B`, `Wiro - EasyOCR`, `Wiro - AI Resume CV Parser`, `Wiro - Ask Video`, `Wiro - Video Merge` | `url` | | 3D | `Wiro - Trellis-2 3D Mesh Generator`, `Wiro - Hunyuan3D-2.1 3D Model Generator` | `url` | Each node's documentation link points to its model page under https://wiro.ai/models. Field names are in `nodes/WiroAI/<Name>/<Name>.node.ts` at https://github.com/wiroai/n8n-nodes-wiroai. ## Wiro Workflow and Wiro Agent Two nodes that are not tied to one model. They use the same credentials as the model nodes. **Wiro Workflow** (type `@wiro-ai/n8n-nodes-wiroai.wiroWorkflow`): - Resource **Workflow**: **Run** starts a run and waits for its outputs, **Get** returns a workflow with its input keys, **Get Many** lists your workspace (`mine`) or the public gallery (`public`). - Resource **Workflow Run**: **Get** reads a run by its `workflowtoken` and can wait for it, **Get Many** lists runs newest first, filtered by status or text. - On Run, pick the workflow from the list, or give its slug (`product-ad-a1B2c`) or its wiro.ai link. The **Inputs** mapper loads the input keys of that workflow; inputs left empty use the values saved in it. - Output: `workflowtoken`, `status`, `outputs` (each output name holds files with a `url`, or text), `steps` (the steps that did not complete), `counts` and `chargedUsd`. - A run that fails or is cancelled raises an n8n error with the reason of the failed step. A run still going after **Max Wait Time** comes back with `status: "running"`: read it later with Workflow Run > Get and the same `workflowtoken`, and never start it again to retry it. **Wiro Agent** (type `@wiro-ai/n8n-nodes-wiroai.wiroAgent`): - **Send Message** to `studio` (Wiro Studio picks and runs models for the request), `workflow-agent` (the Workflow Agent designs workflows) or the ID of a deployed agent, all of them in the node's agent list. - **Session** continues a conversation, for example `{{ $json.sessionId }}` from a Chat Trigger. Left empty, Studio and the Workflow Agent start a new one and a deployed agent uses its default conversation. The output's `session` is the one to send next time. - Output: `session`, `done`, `message.messageId`, `message.reply`, `message.mediaUrls`, and for Studio `modelRuns` with their outputs. - A turn the agent could not finish raises an n8n error. A reply that is not ready after **Max Wait Time** comes back with `done: false`: read it with **Get Message**, its `messageId` and its `session`. ## Workflow sketch: prompt to video 1. **Trigger:** a Manual Trigger while testing; later a Schedule Trigger, Form Trigger or Webhook. 2. **Wiro node:** `Wiro - Veo 3.1` with the Wiro API credential, Prompt `A cat astronaut floating in space`, Duration Seconds `8` and Resolution `1080p`. Tell the user the expected cost before the first run. 3. **Check:** an IF node where `{{ $json.status }}` is equal to `completed`. 4. **True branch:** `{{ $json.url }}` is the video link. Post it with a Slack or email node, or fetch the file with an HTTP Request node (response format File) and upload it to storage. 5. **False branch:** report `{{ $json.taskid }}` to the user. Never wire this branch back into the Wiro node. A successful run returns: ```json { "taskid": "abc123", "status": "completed", "url": "https://cdn1.wiro.ai/xyz/0.mp4" } ``` To chain models, map one output into the next node's field, for example `{{ $json.message }}` from `Wiro - GPT-5 Mini AI Model` into the Prompt of `Wiro - FLUX.2 Pro`. When you write workflow JSON (for example through the n8n API), the node type is `@wiro-ai/n8n-nodes-wiroai.` followed by the node's internal name, with `typeVersion` 1. Parameter keys are the field names from the node source: ```json { "name": "Wiro - Veo 3.1", "type": "@wiro-ai/n8n-nodes-wiroai.veo31", "typeVersion": 1, "position": [460, 300], "parameters": { "prompt": "={{ $json.prompt }}", "durationSeconds": "8", "resolution": "1080p" }, "credentials": { "wiroApi": { "id": "YOUR_CREDENTIAL_ID", "name": "YOUR_CREDENTIAL_NAME" } } } ``` ## Errors and retries - A Wiro node raises an n8n error only when it cannot start the task, for example when the request fails or no task ID comes back. Read the error details and fix the input or the credential before you run it again. - n8n's node settings handle these errors: **Retry On Fail** or **On Error** set to **Continue (using error output)**, which sends them to their own branch. Keep **Max Tries** low, since each try sends a new start request. - Once a task has started, problems come back as `status: "failed"` in the output, not as an n8n error, so Retry On Fail does not fire. Branch on `status` with an IF node. - `failed` can also mean the node stopped checking while the task was still running on Wiro. Check the task before you decide anything (see below). ## Money rules - Each run is billed to the user's Wiro wallet, including test runs in the editor. - Before you run a Wiro node, or turn on a workflow that runs one, tell the user the model, the settings and the expected cost per run (https://wiro.ai/product/pricing). - Count the runs a workflow can make. Loop Over Items, a sub-workflow run once per item, an AI Agent calling Wiro nodes as tools, a Schedule Trigger and a public Webhook or form all add paid runs. Say how many and what they cost, cap the list (for example with a Limit node), and ask before large batches. - While building, pin the Wiro node's output after one good run, so later test runs reuse it instead of starting new tasks. - After a `failed` status, a timeout or a stopped execution, never run the same paid step again on your own: the task may still be running, and a second run bills a second job. Look the task up by its `taskid` first, or check recent tasks when there is no `taskid`. The `wiro-ai` skill shows how. - Stopping an n8n execution does not stop the Wiro task. - A workflow run bills each model step like a model run. Every Send Message is a new billed turn: Studio and the Workflow Agent bill the workspace wallet, Studio's model runs bill like model runs, and a deployed agent uses its own credits. To follow a run or a reply that is still going, use Workflow Run > Get or Get Message, never a second Run or Send Message. ## More - REST API and MCP server for any Wiro model, from code or an agent: `npx skills add wiroai/Wiro-Plugin --skill wiro-ai` - n8n integration docs: https://wiro.ai/docs/n8n-wiro-integration - Model catalog: https://wiro.ai/models - Pricing: https://wiro.ai/product/pricing - Package: https://www.npmjs.com/package/@wiro-ai/n8n-nodes-wiroai - Source: https://github.com/wiroai/n8n-nodes-wiroai
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-13 05:10 | 490e2d1b | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。