# nodes

node_type: nodes-base.zulipTool
package_name: n8n-nodes-base
display_name: Zulip Tool
description: Consume Zulip API (AI Tool variant for use with AI Agents)
category: output
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "zulipApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.zulip
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Zulip node documentation
  description: Learn how to use the Zulip node in n8n. Follow technical documentation to integrate Zulip node into your workflows.
  contentType: [integration, reference]
  ---

  # Zulip node

  Use the Zulip node to automate work in Zulip, and integrate Zulip with other applications. n8n has built-in support for a wide range of Zulip features, including creating, deleting, and getting users and streams, as well as sending messages. 

  On this page, you'll find a list of operations the Zulip node supports and links to more resources.

  /// note | Credentials
  Refer to [Zulip credentials](/integrations/builtin/credentials/zulip.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Message
      * Delete a message
      * Get a message
      * Send a private message
      * Send a message to stream
      * Update a message
      * Upload a file
  * Stream
      * Create a stream.
      * Delete a stream.
      * Get all streams.
      * Get subscribed streams.
      * Update a stream.
  * User
      * Create a user.
      * Deactivate a user.
      * Get a user.
      * Get all users.
      * Update a user.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'zulip') ]]

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Zulip"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Stream",
          "value": "stream"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "sendPrivate",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a message",
          "action": "Delete a message"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a message",
          "action": "Get a message"
        },
        {
          "name": "Send Private",
          "value": "sendPrivate",
          "description": "Send a private message",
          "action": "Send a private message"
        },
        {
          "name": "Send to Stream",
          "value": "sendStream",
          "description": "Send a message to stream",
          "action": "Send a message to a stream"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a message",
          "action": "Update a message"
        },
        {
          "name": "Upload a File",
          "value": "updateFile",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "To",
      "name": "to",
      "type": "multiOptions",
      "default": [],
      "description": "The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendPrivate"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendPrivate"
          ]
        }
      }
    },
    {
      "displayName": "Stream Name or ID",
      "name": "stream",
      "type": "options",
      "default": "",
      "description": "The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getStreams"
      }
    },
    {
      "displayName": "Topic Name or ID",
      "name": "topic",
      "type": "options",
      "default": "",
      "description": "The topic of the message. Only required if type is stream, ignored otherwise. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "stream"
        ],
        "loadOptionsMethod": "getTopics"
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Content",
          "name": "content",
          "type": "string",
          "default": "",
          "description": "The content of the message"
        },
        {
          "displayName": "Propagate Mode",
          "name": "propagateMode",
          "type": "options",
          "options": [
            {
              "name": "Change One",
              "value": "changeOne"
            },
            {
              "name": "Change Later",
              "value": "changeLater"
            },
            {
              "name": "Change All",
              "value": "changeAll"
            }
          ],
          "default": "changeOne",
          "description": "Which message(s) should be edited: just the one indicated in message_id, messages in the same topic that had been sent after this one, or all of them"
        },
        {
          "displayName": "Topic",
          "name": "topic",
          "type": "string",
          "default": "",
          "description": "The topic of the message. Only required for stream messages."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "dataBinaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "updateFile"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a stream",
          "action": "Create a stream"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a stream",
          "action": "Delete a stream"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many streams",
          "action": "Get many streams"
        },
        {
          "name": "Get Subscribed",
          "value": "getSubscribed",
          "description": "Get subscribed streams",
          "action": "Get subscribed streams"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a stream",
          "action": "Update a stream"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFieldsJson",
      "type": "json",
      "default": "",
      "description": "JSON format parameters for stream creation",
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Subscriptions",
      "name": "subscriptions",
      "type": "fixedCollection",
      "default": {},
      "description": "A list of dictionaries containing the the key name and value specifying the name of the stream to subscribe. If the stream does not exist a new stream is created.",
      "options": [
        {
          "displayName": "Subscription Properties",
          "name": "properties",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "required": true,
              "default": "",
              "description": "Name of Subscription"
            },
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "required": true,
              "default": "",
              "description": "Description of Subscription"
            }
          ]
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Announce",
          "name": "announce",
          "type": "boolean",
          "default": false,
          "description": "If announce is True and one of the streams specified in subscriptions has to be created (i.e. doesnt exist to begin with), an announcement will be made notifying that a new stream was created."
        },
        {
          "displayName": "Authorization Errors Fatal",
          "name": "authorizationErrorsFatal",
          "type": "boolean",
          "default": false,
          "description": "Whether authorization errors (such as when the requesting user is not authorized to access a private stream) should be considered fatal or not. When True, an authorization error is reported as such. When set to False, the returned JSON payload indicates that there was an authorization error, but the response is still considered a successful one."
        },
        {
          "displayName": "History Public to Subscribers",
          "name": "historyPublicToSubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams message history should be available to newly subscribed members, or users can only access messages they actually received while subscribed to the stream"
        },
        {
          "displayName": "Invite Only",
          "name": "inviteOnly",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams specified in subscriptions are invite-only or not"
        },
        {
          "displayName": "Principals",
          "name": "principals",
          "type": "fixedCollection",
          "default": {},
          "description": "A list of email addresses of the users that will be subscribed/unsubscribed to the streams specified in the subscriptions argument. If not provided, then the requesting user/bot is subscribed.",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Principals Properties",
              "name": "properties",
              "values": [
                {
                  "displayName": "Principal Email",
                  "name": "email",
                  "type": "string",
                  "placeholder": "name@email.com",
                  "required": true,
                  "default": "",
                  "description": "Principal email address"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Stream Post Policy",
          "name": "streamPostPolicy",
          "type": "options",
          "default": "",
          "description": "Policy for which users can post messages to the stream",
          "options": [
            {
              "name": "1",
              "value": 1,
              "description": "Any user can post"
            },
            {
              "name": "2",
              "value": 2,
              "description": "Only administrators can post"
            },
            {
              "name": "3",
              "value": 3,
              "description": "Only new members can post"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include All Active",
          "name": "includeAllActive",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all active streams. The user must have administrative privileges to use this parameter."
        },
        {
          "displayName": "Include Default",
          "name": "includeDefault",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all default streams for the users realm"
        },
        {
          "displayName": "Include Owner Subscribed",
          "name": "includeOwnersubscribed",
          "type": "boolean",
          "default": true,
          "description": "Whether the user is a bot, include all streams that the bots owner is subscribed to"
        },
        {
          "displayName": "Include Public",
          "name": "includePublic",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all public streams"
        },
        {
          "displayName": "Include Subscribed",
          "name": "includeSubscribed",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all streams that the user is subscribed to"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Subscribers",
          "name": "includeSubscribers",
          "type": "boolean",
          "default": true,
          "description": "Whether each returned stream object should include a subscribers field containing a list of the user IDs of its subscribers"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "getSubscribed"
          ]
        }
      }
    },
    {
      "displayName": "Stream ID",
      "name": "streamId",
      "type": "string",
      "default": "",
      "description": "ID of stream to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFieldsJson",
      "type": "json",
      "default": "",
      "description": "JSON format parameters for stream creation",
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Announcement Only",
          "name": "isAnnouncementOnly",
          "type": "boolean",
          "default": false,
          "description": "Whether the stream is limited to announcements"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The new description for the stream",
          "placeholder": "Place of discussion"
        },
        {
          "displayName": "Is Private",
          "name": "isPrivate",
          "type": "boolean",
          "default": false,
          "description": "Whether the stream is a private stream"
        },
        {
          "displayName": "History Public to Subscribers",
          "name": "historyPublicToSubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams message history should be available to newly subscribed members, or users can only access messages they actually received while subscribed to the stream"
        },
        {
          "displayName": "New Name",
          "name": "newName",
          "type": "string",
          "default": "",
          "description": "The new name for the stream",
          "placeholder": "Italy"
        },
        {
          "displayName": "Stream Post Policy",
          "name": "streamPostPolicy",
          "type": "options",
          "default": "",
          "description": "Policy for which users can post messages to the stream",
          "options": [
            {
              "name": "1",
              "value": 1,
              "description": "Any user can post"
            },
            {
              "name": "2",
              "value": 2,
              "description": "Only administrators can post"
            },
            {
              "name": "3",
              "value": 3,
              "description": "Only new members can post"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Stream ID",
      "name": "streamId",
      "type": "string",
      "default": "",
      "description": "ID of stream to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a user",
          "action": "Create a user"
        },
        {
          "name": "Deactivate",
          "value": "deactivate",
          "description": "Deactivate a user",
          "action": "Deactivate a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many users",
          "action": "Get many users"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a user",
          "action": "Update a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email address of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Full Name",
      "name": "fullName",
      "type": "string",
      "default": "",
      "description": "The full name of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "description": "The password of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Short Name",
      "name": "shortName",
      "type": "string",
      "default": "",
      "description": "The short name of the new user. Not user-visible.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to get",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Client Gravatar",
          "name": "clientGravatar",
          "type": "boolean",
          "default": false,
          "description": "Whether the client supports computing gravatars URLs. If enabled, avatar_url will be included in the response only if there is a Zulip avatar, and will be null for users who are using gravatar as their avatar."
        },
        {
          "displayName": "Custom Profile Fields",
          "name": "includeCustomProfileFields",
          "type": "boolean",
          "default": false,
          "description": "Whether the client wants custom profile field data to be included in the response"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get",
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Full Name",
          "name": "fullName",
          "type": "string",
          "default": "",
          "description": "The users full name"
        },
        {
          "displayName": "Is Admin",
          "name": "isAdmin",
          "type": "boolean",
          "default": false,
          "description": "Whether the target user is an administrator"
        },
        {
          "displayName": "Is Guest",
          "name": "isGuest",
          "type": "boolean",
          "default": false,
          "description": "Whether the target user is a guest"
        },
        {
          "displayName": "Profile Data",
          "name": "profileData",
          "type": "fixedCollection",
          "default": {},
          "description": "A dictionary containing the to be updated custom profile field data for the user",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Property",
              "name": "property",
              "values": [
                {
                  "displayName": "ID",
                  "name": "id",
                  "type": "string",
                  "required": true,
                  "default": "",
                  "description": "ID of custom profile data value"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "Value of custom profile data"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Role",
          "name": "role",
          "type": "options",
          "options": [
            {
              "name": "Guest",
              "value": 600
            },
            {
              "name": "Member",
              "value": 400
            },
            {
              "name": "Organization Administrator",
              "value": 200
            },
            {
              "name": "Organization Moderator",
              "value": 300
            },
            {
              "name": "Organization Owner",
              "value": 100
            }
          ],
          "default": "",
          "description": "Role for the user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to deactivate",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "deactivate"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a message",
      "resource": "message"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a message",
      "resource": "message"
    },
    {
      "operation": "sendPrivate",
      "name": "Send Private",
      "description": "Send a private message",
      "resource": "message"
    },
    {
      "operation": "sendStream",
      "name": "Send to Stream",
      "description": "Send a message to stream",
      "resource": "message"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a message",
      "resource": "message"
    },
    {
      "operation": "updateFile",
      "name": "Upload a File",
      "resource": "message"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a stream",
      "resource": "stream"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a stream",
      "resource": "stream"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many streams",
      "resource": "stream"
    },
    {
      "operation": "getSubscribed",
      "name": "Get Subscribed",
      "description": "Get subscribed streams",
      "resource": "stream"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a stream",
      "resource": "stream"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a user",
      "resource": "user"
    },
    {
      "operation": "deactivate",
      "name": "Deactivate",
      "description": "Deactivate a user",
      "resource": "user"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a user",
      "resource": "user"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many users",
      "resource": "user"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a user",
      "resource": "user"
    }
  ]


node_type: nodes-base.zulip
package_name: n8n-nodes-base
display_name: Zulip
description: Consume Zulip API
category: output
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "zulipApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Zulip node documentation
  description: Learn how to use the Zulip node in n8n. Follow technical documentation to integrate Zulip node into your workflows.
  contentType: [integration, reference]
  ---

  # Zulip node

  Use the Zulip node to automate work in Zulip, and integrate Zulip with other applications. n8n has built-in support for a wide range of Zulip features, including creating, deleting, and getting users and streams, as well as sending messages. 

  On this page, you'll find a list of operations the Zulip node supports and links to more resources.

  /// note | Credentials
  Refer to [Zulip credentials](/integrations/builtin/credentials/zulip.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Message
      * Delete a message
      * Get a message
      * Send a private message
      * Send a message to stream
      * Update a message
      * Upload a file
  * Stream
      * Create a stream.
      * Delete a stream.
      * Get all streams.
      * Get subscribed streams.
      * Update a stream.
  * User
      * Create a user.
      * Deactivate a user.
      * Get a user.
      * Get all users.
      * Update a user.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'zulip') ]]

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Stream",
          "value": "stream"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "sendPrivate",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a message",
          "action": "Delete a message"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a message",
          "action": "Get a message"
        },
        {
          "name": "Send Private",
          "value": "sendPrivate",
          "description": "Send a private message",
          "action": "Send a private message"
        },
        {
          "name": "Send to Stream",
          "value": "sendStream",
          "description": "Send a message to stream",
          "action": "Send a message to a stream"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a message",
          "action": "Update a message"
        },
        {
          "name": "Upload a File",
          "value": "updateFile",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "To",
      "name": "to",
      "type": "multiOptions",
      "default": [],
      "description": "The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendPrivate"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendPrivate"
          ]
        }
      }
    },
    {
      "displayName": "Stream Name or ID",
      "name": "stream",
      "type": "options",
      "default": "",
      "description": "The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getStreams"
      }
    },
    {
      "displayName": "Topic Name or ID",
      "name": "topic",
      "type": "options",
      "default": "",
      "description": "The topic of the message. Only required if type is stream, ignored otherwise. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "stream"
        ],
        "loadOptionsMethod": "getTopics"
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendStream"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Content",
          "name": "content",
          "type": "string",
          "default": "",
          "description": "The content of the message"
        },
        {
          "displayName": "Propagate Mode",
          "name": "propagateMode",
          "type": "options",
          "options": [
            {
              "name": "Change One",
              "value": "changeOne"
            },
            {
              "name": "Change Later",
              "value": "changeLater"
            },
            {
              "name": "Change All",
              "value": "changeAll"
            }
          ],
          "default": "changeOne",
          "description": "Which message(s) should be edited: just the one indicated in message_id, messages in the same topic that had been sent after this one, or all of them"
        },
        {
          "displayName": "Topic",
          "name": "topic",
          "type": "string",
          "default": "",
          "description": "The topic of the message. Only required for stream messages."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "dataBinaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "updateFile"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a stream",
          "action": "Create a stream"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a stream",
          "action": "Delete a stream"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many streams",
          "action": "Get many streams"
        },
        {
          "name": "Get Subscribed",
          "value": "getSubscribed",
          "description": "Get subscribed streams",
          "action": "Get subscribed streams"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a stream",
          "action": "Update a stream"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFieldsJson",
      "type": "json",
      "default": "",
      "description": "JSON format parameters for stream creation",
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Subscriptions",
      "name": "subscriptions",
      "type": "fixedCollection",
      "default": {},
      "description": "A list of dictionaries containing the the key name and value specifying the name of the stream to subscribe. If the stream does not exist a new stream is created.",
      "options": [
        {
          "displayName": "Subscription Properties",
          "name": "properties",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "required": true,
              "default": "",
              "description": "Name of Subscription"
            },
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "required": true,
              "default": "",
              "description": "Description of Subscription"
            }
          ]
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Announce",
          "name": "announce",
          "type": "boolean",
          "default": false,
          "description": "If announce is True and one of the streams specified in subscriptions has to be created (i.e. doesnt exist to begin with), an announcement will be made notifying that a new stream was created."
        },
        {
          "displayName": "Authorization Errors Fatal",
          "name": "authorizationErrorsFatal",
          "type": "boolean",
          "default": false,
          "description": "Whether authorization errors (such as when the requesting user is not authorized to access a private stream) should be considered fatal or not. When True, an authorization error is reported as such. When set to False, the returned JSON payload indicates that there was an authorization error, but the response is still considered a successful one."
        },
        {
          "displayName": "History Public to Subscribers",
          "name": "historyPublicToSubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams message history should be available to newly subscribed members, or users can only access messages they actually received while subscribed to the stream"
        },
        {
          "displayName": "Invite Only",
          "name": "inviteOnly",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams specified in subscriptions are invite-only or not"
        },
        {
          "displayName": "Principals",
          "name": "principals",
          "type": "fixedCollection",
          "default": {},
          "description": "A list of email addresses of the users that will be subscribed/unsubscribed to the streams specified in the subscriptions argument. If not provided, then the requesting user/bot is subscribed.",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Principals Properties",
              "name": "properties",
              "values": [
                {
                  "displayName": "Principal Email",
                  "name": "email",
                  "type": "string",
                  "placeholder": "name@email.com",
                  "required": true,
                  "default": "",
                  "description": "Principal email address"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Stream Post Policy",
          "name": "streamPostPolicy",
          "type": "options",
          "default": "",
          "description": "Policy for which users can post messages to the stream",
          "options": [
            {
              "name": "1",
              "value": 1,
              "description": "Any user can post"
            },
            {
              "name": "2",
              "value": 2,
              "description": "Only administrators can post"
            },
            {
              "name": "3",
              "value": 3,
              "description": "Only new members can post"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include All Active",
          "name": "includeAllActive",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all active streams. The user must have administrative privileges to use this parameter."
        },
        {
          "displayName": "Include Default",
          "name": "includeDefault",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all default streams for the users realm"
        },
        {
          "displayName": "Include Owner Subscribed",
          "name": "includeOwnersubscribed",
          "type": "boolean",
          "default": true,
          "description": "Whether the user is a bot, include all streams that the bots owner is subscribed to"
        },
        {
          "displayName": "Include Public",
          "name": "includePublic",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all public streams"
        },
        {
          "displayName": "Include Subscribed",
          "name": "includeSubscribed",
          "type": "boolean",
          "default": true,
          "description": "Whether to include all streams that the user is subscribed to"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Subscribers",
          "name": "includeSubscribers",
          "type": "boolean",
          "default": true,
          "description": "Whether each returned stream object should include a subscribers field containing a list of the user IDs of its subscribers"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "getSubscribed"
          ]
        }
      }
    },
    {
      "displayName": "Stream ID",
      "name": "streamId",
      "type": "string",
      "default": "",
      "description": "ID of stream to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFieldsJson",
      "type": "json",
      "default": "",
      "description": "JSON format parameters for stream creation",
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Announcement Only",
          "name": "isAnnouncementOnly",
          "type": "boolean",
          "default": false,
          "description": "Whether the stream is limited to announcements"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The new description for the stream",
          "placeholder": "Place of discussion"
        },
        {
          "displayName": "Is Private",
          "name": "isPrivate",
          "type": "boolean",
          "default": false,
          "description": "Whether the stream is a private stream"
        },
        {
          "displayName": "History Public to Subscribers",
          "name": "historyPublicToSubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether the streams message history should be available to newly subscribed members, or users can only access messages they actually received while subscribed to the stream"
        },
        {
          "displayName": "New Name",
          "name": "newName",
          "type": "string",
          "default": "",
          "description": "The new name for the stream",
          "placeholder": "Italy"
        },
        {
          "displayName": "Stream Post Policy",
          "name": "streamPostPolicy",
          "type": "options",
          "default": "",
          "description": "Policy for which users can post messages to the stream",
          "options": [
            {
              "name": "1",
              "value": 1,
              "description": "Any user can post"
            },
            {
              "name": "2",
              "value": 2,
              "description": "Only administrators can post"
            },
            {
              "name": "3",
              "value": 3,
              "description": "Only new members can post"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Stream ID",
      "name": "streamId",
      "type": "string",
      "default": "",
      "description": "ID of stream to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "stream"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a user",
          "action": "Create a user"
        },
        {
          "name": "Deactivate",
          "value": "deactivate",
          "description": "Deactivate a user",
          "action": "Deactivate a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many users",
          "action": "Get many users"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a user",
          "action": "Update a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email address of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Full Name",
      "name": "fullName",
      "type": "string",
      "default": "",
      "description": "The full name of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "description": "The password of the new user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Short Name",
      "name": "shortName",
      "type": "string",
      "default": "",
      "description": "The short name of the new user. Not user-visible.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to get",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Client Gravatar",
          "name": "clientGravatar",
          "type": "boolean",
          "default": false,
          "description": "Whether the client supports computing gravatars URLs. If enabled, avatar_url will be included in the response only if there is a Zulip avatar, and will be null for users who are using gravatar as their avatar."
        },
        {
          "displayName": "Custom Profile Fields",
          "name": "includeCustomProfileFields",
          "type": "boolean",
          "default": false,
          "description": "Whether the client wants custom profile field data to be included in the response"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get",
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Full Name",
          "name": "fullName",
          "type": "string",
          "default": "",
          "description": "The users full name"
        },
        {
          "displayName": "Is Admin",
          "name": "isAdmin",
          "type": "boolean",
          "default": false,
          "description": "Whether the target user is an administrator"
        },
        {
          "displayName": "Is Guest",
          "name": "isGuest",
          "type": "boolean",
          "default": false,
          "description": "Whether the target user is a guest"
        },
        {
          "displayName": "Profile Data",
          "name": "profileData",
          "type": "fixedCollection",
          "default": {},
          "description": "A dictionary containing the to be updated custom profile field data for the user",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Property",
              "name": "property",
              "values": [
                {
                  "displayName": "ID",
                  "name": "id",
                  "type": "string",
                  "required": true,
                  "default": "",
                  "description": "ID of custom profile data value"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "Value of custom profile data"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Role",
          "name": "role",
          "type": "options",
          "options": [
            {
              "name": "Guest",
              "value": 600
            },
            {
              "name": "Member",
              "value": 400
            },
            {
              "name": "Organization Administrator",
              "value": 200
            },
            {
              "name": "Organization Moderator",
              "value": 300
            },
            {
              "name": "Organization Owner",
              "value": 100
            }
          ],
          "default": "",
          "description": "Role for the user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "The ID of user to deactivate",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "deactivate"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a message",
      "resource": "message"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a message",
      "resource": "message"
    },
    {
      "operation": "sendPrivate",
      "name": "Send Private",
      "description": "Send a private message",
      "resource": "message"
    },
    {
      "operation": "sendStream",
      "name": "Send to Stream",
      "description": "Send a message to stream",
      "resource": "message"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a message",
      "resource": "message"
    },
    {
      "operation": "updateFile",
      "name": "Upload a File",
      "resource": "message"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a stream",
      "resource": "stream"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a stream",
      "resource": "stream"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many streams",
      "resource": "stream"
    },
    {
      "operation": "getSubscribed",
      "name": "Get Subscribed",
      "description": "Get subscribed streams",
      "resource": "stream"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a stream",
      "resource": "stream"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a user",
      "resource": "user"
    },
    {
      "operation": "deactivate",
      "name": "Deactivate",
      "description": "Deactivate a user",
      "resource": "user"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a user",
      "resource": "user"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many users",
      "resource": "user"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a user",
      "resource": "user"
    }
  ]


node_type: nodes-base.aggregate
package_name: n8n-nodes-base
display_name: Aggregate
description: Combine a field from many items into a list in a single item
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Aggregate
  description: Documentation for the Aggregate node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Aggregate

  Use the Aggregate node to take separate items, or portions of them, and group them together into individual items.

  ## Node parameters

  To begin using the node, select the **Aggregate** you'd like to use:

  * [**Individual Fields**](#individual-fields): Aggregate individual fields separately.
  * [**All Item Data**](#all-item-data): Aggregate all item data into a single list.

  ### Individual Fields

  * **Input Field Name**: Enter the name of the field in the input data to aggregate together.
  * **Rename Field**: This toggle controls whether to give the field a different name in the aggregated output data. Turn this on to add a different field name. If you're aggregating multiple fields, you must provide new output field names. You can't leave multiple fields undefined.
  	* **Output Field Name**: This field is displayed when you turn on **Rename Field**. Enter the field name for the aggregated output data.

  Refer to [Node options](#node-options) for more configuration options.

  ### All Item Data

  * **Put Output in Field**: Enter the name of the field to output the data in.
  * **Include**: Select which fields to include in the output. Choose from:
  	* **All fields**: The output includes data from all fields with no further parameters.
  	* **Specified Fields**: If you select this option, enter a comma-separated list of fields the output should include data from in the **Fields To Include** parameter. The output will include only the fields in this list.
  	* **All Fields Except**: If you select this option, enter a comma-separated list of fields the output should exclude data from in the **Fields To Exclude** parameter. The output will include all fields not in this list.

  Refer to [Node options](#node-options) for more configuration options.

  ## Node options

  You can further configure this node using these **Options**:

  * **Disable Dot Notation**: The node displays this toggle when you select the **Individual Fields** Aggregate. It controls whether to disallow referencing child fields using `parent.child` in the field name (turned on), or allow it (turned off, default).
  * **Merge Lists**: The node displays this toggle when you select the **Individual Fields** Aggregate. Turn it on if the field to aggregate is a list and you want to output a single flat list rather than a list of lists.
  * **Include Binaries**: The node displays this toggle for both Aggregate types. Turn it on if you want to include binary data from the input in the new output.
  * **Keep Missing And Null Values**: The node displays this toggle when you select the **Individual Fields** Aggregate. Turn it on to add a null (empty) entry in the output list when there is a null or missing value in the input. If turned off, the output ignores null or empty values.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'aggregate') ]]

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Aggregate",
      "name": "aggregate",
      "type": "options",
      "default": "aggregateIndividualFields",
      "options": [
        {
          "name": "Individual Fields",
          "value": "aggregateIndividualFields"
        },
        {
          "name": "All Item Data (Into a Single List)",
          "value": "aggregateAllItemData"
        }
      ]
    },
    {
      "displayName": "Fields To Aggregate",
      "name": "fieldsToAggregate",
      "type": "fixedCollection",
      "default": {
        "fieldToAggregate": [
          {
            "fieldToAggregate": "",
            "renameField": false
          }
        ]
      },
      "options": [
        {
          "displayName": "",
          "name": "fieldToAggregate",
          "values": [
            {
              "displayName": "Input Field Name",
              "name": "fieldToAggregate",
              "type": "string",
              "default": "",
              "description": "The name of a field in the input items to aggregate together",
              "placeholder": "e.g. id",
              "hint": " Enter the field name as text",
              "requiresDataPath": "single"
            },
            {
              "displayName": "Rename Field",
              "name": "renameField",
              "type": "boolean",
              "default": false,
              "description": "Whether to give the field a different name in the output"
            },
            {
              "displayName": "Output Field Name",
              "name": "outputFieldName",
              "displayOptions": {
                "show": {
                  "renameField": [
                    true
                  ]
                }
              },
              "type": "string",
              "default": "",
              "description": "The name of the field to put the aggregated data in. Leave blank to use the input field name.",
              "requiresDataPath": "single"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "aggregate": [
            "aggregateIndividualFields"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Put Output in Field",
      "name": "destinationFieldName",
      "type": "string",
      "default": "data",
      "description": "The name of the output field to put the data in",
      "displayOptions": {
        "show": {
          "aggregate": [
            "aggregateAllItemData"
          ]
        }
      }
    },
    {
      "displayName": "Include",
      "name": "include",
      "type": "options",
      "default": "allFields",
      "options": [
        {
          "name": "All Fields",
          "value": "allFields"
        },
        {
          "name": "Specified Fields",
          "value": "specifiedFields"
        },
        {
          "name": "All Fields Except",
          "value": "allFieldsExcept"
        }
      ],
      "displayOptions": {
        "show": {
          "aggregate": [
            "aggregateAllItemData"
          ]
        }
      }
    },
    {
      "displayName": "Fields To Exclude",
      "name": "fieldsToExclude",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "aggregate": [
            "aggregateAllItemData"
          ],
          "include": [
            "allFieldsExcept"
          ]
        }
      }
    },
    {
      "displayName": "Fields To Include",
      "name": "fieldsToInclude",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "aggregate": [
            "aggregateAllItemData"
          ],
          "include": [
            "specifiedFields"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Disable Dot Notation",
          "name": "disableDotNotation",
          "type": "boolean",
          "default": false,
          "description": "Whether to disallow referencing child fields using `parent.child` in the field name",
          "displayOptions": {
            "hide": {
              "/aggregate": [
                "aggregateAllItemData"
              ]
            }
          }
        },
        {
          "displayName": "Merge Lists",
          "name": "mergeLists",
          "type": "boolean",
          "default": false,
          "description": "Whether to merge the output into a single flat list (rather than a list of lists), if the field to aggregate is a list",
          "displayOptions": {
            "hide": {
              "/aggregate": [
                "aggregateAllItemData"
              ]
            }
          }
        },
        {
          "displayName": "Include Binaries",
          "name": "includeBinaries",
          "type": "boolean",
          "default": false,
          "description": "Whether to include the binary data in the new item"
        },
        {
          "displayName": "Keep Only Unique Binaries",
          "name": "keepOnlyUnique",
          "type": "boolean",
          "default": false,
          "description": "Whether to keep only unique binaries by comparing mime types, file types, file sizes and file extensions",
          "displayOptions": {
            "show": {
              "includeBinaries": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Keep Missing And Null Values",
          "name": "keepMissing",
          "type": "boolean",
          "default": false,
          "description": "Whether to add a null entry to the aggregated list when there is a missing or null value",
          "displayOptions": {
            "hide": {
              "/aggregate": [
                "aggregateAllItemData"
              ]
            }
          }
        }
      ]
    }
  ]


node_type: nodes-base.limit
package_name: n8n-nodes-base
display_name: Limit
description: Restrict the number of items
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Limit
  description: Documentation for the Limit node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Limit

  Use the Limit node to remove items beyond a defined maximum number. You can choose whether n8n takes the items from the beginning or end of the input data.

  ## Node parameters

  Configure this node using the following parameters.

  ### Max Items

  Enter the maximum number of items that n8n should keep. If the input data contains more than this value, n8n removes the items.

  ### Keep

  If the node has to remove items, select where it keeps the input items from:

  * **First Items**: Keeps the **Max Items** number of items from the beginning of the input data.
  * **Last Items**: Keeps the **Max Items** number of items from the end of the input data.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'limit') ]]

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Max Items",
      "name": "maxItems",
      "type": "number",
      "default": 1,
      "description": "If there are more items than this number, some are removed",
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Keep",
      "name": "keep",
      "type": "options",
      "default": "firstItems",
      "description": "When removing items, whether to keep the ones at the start or the ending",
      "options": [
        {
          "name": "First Items",
          "value": "firstItems"
        },
        {
          "name": "Last Items",
          "value": "lastItems"
        }
      ]
    }
  ]


node_type: nodes-base.removeDuplicates
package_name: n8n-nodes-base
display_name: Remove Duplicates
description: Delete items with matching field values
category: transform
development_style: programmatic
version: 2
credentials_required: []
outputs:
  [
  "main"
  ]

output_names:
  [
  "Kept",
  "Discarded"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Remove Duplicates node documentation
  description: Documentation for the Remove Duplicates node in n8n, a workflow automation platform. Includes guidance on usage and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # Remove Duplicates node

  Use the Remove Duplicates node to identify and delete items that are:

  * identical across all fields or a subset of fields in a single execution
  * identical to or surpassed by items seen in previous executions

  This is helpful in situations where you can end up with duplicate data, such as a user creating multiple accounts, or a customer submitting the same order multiple times. When working with large datasets it becomes more difficult to spot and remove these items.

  By comparing against data from previous executions, the Remove Duplicates node can  delete items seen in earlier executions. It can also ensure that new items have a later date or a higher value than previous values.

  /// note | Major changes in 1.64.0
  The n8n team overhauled this node in n8n 1.64.0. This document reflects the latest version of the node. If you're using an older version of n8n, you can find the previous version of this document [here](https://github.com/n8n-io/n8n-docs/blob/7a66308290e6e5b104fcb82a3beafa0d6987df36/docs/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates.md){:target=_blank .external-link}.
  ///

  ## Operation modes

  The remove duplication node works differently depending on the value of the **operation** parameter:

  * **[Remove Items Repeated Within Current Input](#remove-items-repeated-within-current-input)**: Identify and remove duplicate items in the current input across all fields or a subset of fields.
  * **[Remove Items Processed in Previous Executions](#remove-items-processed-in-previous-executions)**: Compare items in the current input to items from previous executions and remove duplicates.
  * **[Clear Deduplication History](#clear-deduplication-history)**: Wipe the memory of items from previous executions.

  ### Remove Items Repeated Within Current Input

  When you set the "Operations" field to **Remove Items Repeated Within Current Input**, the Remove Duplicate node identifies and removes duplicate items in the current input. It can do this across all fields, or within a subset of fields.

  #### Remove Items Repeated Within Current Input parameters

  When using the **Remove Items Repeated Within Current Input** operation, the following parameter is available:

  * **Compare**: Select which fields of the input data n8n should compare to check if they're the same. The following options are available:
  	* **All Fields**: Compares all fields of the input data.
  	* **All Fields Except**: Enter which input data fields n8n should exclude from the comparison. You can provide multiple values separated by commas.
  	* **Selected Fields**: Enter which input data fields n8n should include in the comparison. You can provide multiple values separated by commas.

  #### Remove Items Repeated Within Current Input options

  If you choose **All Fields Except** or **Selected Fields** as your compare type, you can add these options:

  * **Disable Dot Notation**: Set whether to use dot notation to reference child fields in the format `parent.child` (turned off) or not (turn on).
  * **Remove Other Fields**: Set whether to remove any fields that aren't used in the comparison (turned on) or not (turned off).

  ### Remove Items Processed in Previous Executions

  When you set the "Operation" field to **Remove Items Processed in Previous Executions**, the Remove Duplicate node compares items in the current input to items from previous executions.

  #### Remove Items Processed in Previous Executions parameters

  When using the **Remove Items Processed in Previous Executions** operation, the following parameters are available:

  * **Keep Items Where**: Select how n8n decides which items to keep. The following options are available:
  	* **Value Is New**: n8n removes items if their value matches items from earlier executions.
  	* **Value Is Higher than Any Previous Value**: n8n removes items if the current value isn't higher than previous values.
  	* **Value Is a Date Later than Any Previous Date**: n8n removes date items if the current date isn't later than previous dates.

  * **Value to Dedupe On**: The input field or fields to compare. The option you select for the **Keep Items Where** parameter determines the exact format you need:
  	* When using **Value Is New**, this must be an input field or combination of fields with a unique ID.
  	* When using **Value Is Higher than Any Previous Value**, this must be an input field or combination of fields that has an incremental value.
  	* When using **Value Is a Date Later than Any Previous Date**, this must be an input field that has a date value in ISO format.

  #### Remove Items Processed in Previous Executions options

  When using the **Remove Items Processed in Previous Executions** operation, the following option is available:

  * **Scope**: Sets how n8n stores and uses the deduplication data for comparisons. The following options are available:
  	* **Node**: (default) Stores the data for this node independently from other Remove Duplicates instances in the workflow. When you use this scope, you can [clear the duplication history](#clear-deduplication-history) for this node instance without affecting other nodes.
  	* **Workflow**: Stores the duplication data at the workflow level. This shares duplication data with any other Remove Duplicate nodes set to use "workflow" scope.  n8n will still manage the duplication data for other Remove Duplicate nodes set to "node" scope independently.

  When you select **Value Is New** as your **Keep Items Where** choice, this option is also available:

  * **History Size**: The number of items for n8n to store to track duplicates across executions. The value of the **Scope** option determines whether this history size is specific to this individual Remove Duplicate node instance or shared with other instances in the workflow. By default, n8n stores 10,000 items.

  ### Clear Deduplication History

  When you set the "Operation" field to **Clear Deduplication History**, the Remove Duplicates node manages and clears the stored items from previous executions. This operation doesn't affect any items in the current input. Instead, it manages the database of items that the "Remove Items Processed in Previous Executions" operation uses.

  #### Clear Deduplication History parameters

  When using the **Clear Deduplication History** operation, the following parameter is available:

  * **Mode**: How you want to manage the key / value items stored in the database. The following option is available:
  	* **Clean Database**: Deletes all duplication data stored in the database. This resets the duplication database to its original state.

  #### Clear Deduplication History options

  When using the **Clear Deduplication History** operation, the following option is available:

  * **Scope**: Sets the scope n8n uses when managing the duplication database.
  	* **Node**: (default) Manages the duplication database specific to this Remove Duplicates node instance.
  	* **Workflow**: Manages the duplication database shared by all Remove Duplicate node instances that use workflow scope.

  ## Templates and examples

  For templates using the Remove Duplicates node and examples of how to use it, refer to [Templates and examples](/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/templates-and-examples.md).

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "removeDuplicateInputItems",
      "options": [
        {
          "name": "Remove Items Repeated Within Current Input",
          "value": "removeDuplicateInputItems",
          "description": "Remove duplicates from incoming items",
          "action": "Remove items repeated within current input"
        },
        {
          "name": "Remove Items Processed in Previous Executions",
          "value": "removeItemsSeenInPreviousExecutions",
          "description": "Deduplicate items already seen in previous executions",
          "action": "Remove items processed in previous executions"
        },
        {
          "name": "Clear Deduplication History",
          "value": "clearDeduplicationHistory",
          "description": "Wipe the store of previous items",
          "action": "Clear deduplication history"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Compare",
      "name": "compare",
      "type": "options",
      "default": "allFields",
      "description": "The fields of the input items to compare to see if they are the same",
      "options": [
        {
          "name": "All Fields",
          "value": "allFields"
        },
        {
          "name": "All Fields Except",
          "value": "allFieldsExcept"
        },
        {
          "name": "Selected Fields",
          "value": "selectedFields"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "removeDuplicateInputItems"
          ]
        }
      }
    },
    {
      "displayName": "Fields To Exclude",
      "name": "fieldsToExclude",
      "type": "string",
      "default": "",
      "description": "Fields in the input to exclude from the comparison",
      "displayOptions": {
        "show": {
          "compare": [
            "allFieldsExcept"
          ]
        }
      }
    },
    {
      "displayName": "Fields To Compare",
      "name": "fieldsToCompare",
      "type": "string",
      "default": "",
      "description": "Fields in the input to add to the comparison",
      "displayOptions": {
        "show": {
          "compare": [
            "selectedFields"
          ]
        }
      }
    },
    {
      "displayName": "Keep Items Where",
      "name": "logic",
      "type": "options",
      "default": "removeItemsWithAlreadySeenKeyValues",
      "description": "How to select input items to remove by comparing them with key values previously processed",
      "options": [
        {
          "name": "Value Is New",
          "value": "removeItemsWithAlreadySeenKeyValues",
          "description": "Remove all input items with values matching those already processed"
        },
        {
          "name": "Value Is Higher than Any Previous Value",
          "value": "removeItemsUpToStoredIncrementalKey",
          "description": "Works with incremental values, removes all input items with values up to the stored value"
        },
        {
          "name": "Value Is a Date Later than Any Previous Date",
          "value": "removeItemsUpToStoredDate",
          "description": "Works with date values, removes all input items with values up to the stored date"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "removeItemsSeenInPreviousExecutions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Value to Dedupe On",
      "name": "dedupeValue",
      "type": "string",
      "default": "",
      "description": "Use an input field (or a combination of fields) that has a unique ID value",
      "required": true,
      "displayOptions": {
        "show": {
          "logic": [
            "removeItemsWithAlreadySeenKeyValues"
          ],
          "/operation": [
            "removeItemsSeenInPreviousExecutions"
          ]
        }
      }
    },
    {
      "displayName": "Value to Dedupe On",
      "name": "incrementalDedupeValue",
      "type": "number",
      "default": "",
      "description": "Use an input field (or a combination of fields) that has an incremental value",
      "displayOptions": {
        "show": {
          "logic": [
            "removeItemsUpToStoredIncrementalKey"
          ],
          "/operation": [
            "removeItemsSeenInPreviousExecutions"
          ]
        }
      }
    },
    {
      "displayName": "Value to Dedupe On",
      "name": "dateDedupeValue",
      "type": "dateTime",
      "default": "",
      "description": "Use an input field that has a date value in ISO format",
      "displayOptions": {
        "show": {
          "logic": [
            "removeItemsUpToStoredDate"
          ],
          "/operation": [
            "removeItemsSeenInPreviousExecutions"
          ]
        }
      }
    },
    {
      "displayName": "Mode",
      "name": "mode",
      "type": "options",
      "default": "cleanDatabase",
      "description": "How you want to modify the key values stored on the database. None of these modes removes input items.",
      "options": [
        {
          "name": "Clean Database",
          "value": "cleanDatabase",
          "description": "Clear all values stored for a key in the database"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "clearDeduplicationHistory"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Disable Dot Notation",
          "name": "disableDotNotation",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/operation": [
                "removeDuplicateInputItems"
              ]
            },
            "hide": {
              "/compare": [
                "allFields"
              ]
            }
          },
          "description": "Whether to disallow referencing child fields using `parent.child` in the field name"
        },
        {
          "displayName": "Remove Other Fields",
          "name": "removeOtherFields",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/operation": [
                "removeDuplicateInputItems"
              ]
            },
            "hide": {
              "/compare": [
                "allFields"
              ]
            }
          },
          "description": "Whether to remove any fields that are not being compared. If disabled, will keep the values from the first of the duplicates."
        },
        {
          "displayName": "Scope",
          "name": "scope",
          "type": "options",
          "default": "node",
          "displayOptions": {
            "show": {
              "/operation": [
                "clearDeduplicationHistory",
                "removeItemsSeenInPreviousExecutions"
              ]
            }
          },
          "description": "If set to ‘workflow,’ key values will be shared across all nodes in the workflow. If set to ‘node,’ key values will be specific to this node.",
          "options": [
            {
              "name": "Workflow",
              "value": "workflow",
              "description": "Deduplication info will be shared by all the nodes in the workflow"
            },
            {
              "name": "Node",
              "value": "node",
              "description": "Deduplication info will be stored only for this node"
            }
          ]
        },
        {
          "displayName": "History Size",
          "name": "historySize",
          "type": "number",
          "default": 10000,
          "hint": "The max number of past items to store for deduplication",
          "displayOptions": {
            "show": {
              "/logic": [
                "removeItemsWithAlreadySeenKeyValues"
              ],
              "/operation": [
                "removeItemsSeenInPreviousExecutions"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "removeDuplicateInputItems",
            "removeItemsSeenInPreviousExecutions",
            "clearDeduplicationHistory"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "removeDuplicateInputItems",
      "name": "Remove Items Repeated Within Current Input",
      "description": "Remove duplicates from incoming items"
    },
    {
      "operation": "removeItemsSeenInPreviousExecutions",
      "name": "Remove Items Processed in Previous Executions",
      "description": "Deduplicate items already seen in previous executions"
    },
    {
      "operation": "clearDeduplicationHistory",
      "name": "Clear Deduplication History",
      "description": "Wipe the store of previous items"
    }
  ]


node_type: nodes-base.splitOut
package_name: n8n-nodes-base
display_name: Split Out
description: Turn a list inside item(s) into separate items
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Split Out
  description: Documentation for the Split Out node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Split Out

  Use the Split Out node to separate a single data item containing a list into multiple items. For example, a list of customers, and you want to split them so that you have an item for each customer.

  ## Node parameters

  Configure this node using the following parameters.

  ### Field to Split Out

  Enter the field containing the list you want to separate out into individual items.

  If you're working with binary data inputs, use `$binary` in an expression to set the field to split out.

  ### Include

  Select whether and how you want n8n to keep any other fields from the input data with each new individual item.

  You can select:

  * **No Other Fields**: No other fields will be included.
  * **All Other Fields**: All other fields will be included.
  * **Selected Other Fields**: Only the selected fields will be included.
      * **Fields to Include**: Enter a comma separated list of the fields you want to include.

  ## Node options

  ### Disable Dot Notation

  By default, n8n enables dot notation to reference child fields in the format `parent.child`. Use this option to disable dot notation (turned on) or to continue using dot (turned off).

  ### Destination Field Name

  Enter the field in the output where the split field contents should go.

  ### Include Binary

  Choose whether to include binary data from the input in the new output (turned on) or not (turned off).

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'split-out') ]]

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Fields To Split Out",
      "name": "fieldToSplitOut",
      "type": "string",
      "default": "",
      "description": "The name of the input fields to break out into separate items. Separate multiple field names by commas. For binary data, use $binary.",
      "required": true
    },
    {
      "displayName": "Include",
      "name": "include",
      "type": "options",
      "default": "noOtherFields",
      "description": "Whether to copy any other fields into the new items",
      "options": [
        {
          "name": "No Other Fields",
          "value": "noOtherFields"
        },
        {
          "name": "All Other Fields",
          "value": "allOtherFields"
        },
        {
          "name": "Selected Other Fields",
          "value": "selectedOtherFields"
        }
      ]
    },
    {
      "displayName": "Fields To Include",
      "name": "fieldsToInclude",
      "type": "string",
      "default": "",
      "description": "Fields in the input items to aggregate together",
      "displayOptions": {
        "show": {
          "include": [
            "selectedOtherFields"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Disable Dot Notation",
          "name": "disableDotNotation",
          "type": "boolean",
          "default": false,
          "description": "Whether to disallow referencing child fields using `parent.child` in the field name"
        },
        {
          "displayName": "Destination Field Name",
          "name": "destinationFieldName",
          "type": "string",
          "requiresDataPath": "multiple",
          "default": "",
          "description": "The field in the output under which to put the split field contents"
        },
        {
          "displayName": "Include Binary",
          "name": "includeBinary",
          "type": "boolean",
          "default": false,
          "description": "Whether to include the binary data in the new items"
        }
      ]
    }
  ]


node_type: nodes-base.sort
package_name: n8n-nodes-base
display_name: Sort
description: Change items order
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Sort
  description: Documentation for the Sort node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # Sort

  Use the Sort node to organize lists of items in a desired ordering, or generate a random selection.

  /// note | Array sort behavior
  The Sort operation uses the default JavaScript operation where the elements to be sorted are converted into strings and their values compared. Refer to [Mozilla's guide to Array sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort){:target=_blank .external-link} to learn more.
  ///

  ## Node parameters

  Configure this node using the **Type** parameter.

  Use the dropdown to select how you want to input the sorting from these options.

  ### Simple

  Performs an ascending or descending sort using the selected fields.

  When you select this **Type**:

  * Use the **Add Field To Sort By** button to input the **Field Name**.
  * Select whether to use **Ascending** or **Descending** order.

  #### Simple options

  When you select **Simple** as the **Type**, you have the option to **Disable Dot Notation**. By default, n8n enables dot notation to reference child fields in the format `parent.child`. Use this option to disable dot notation (turned on) or to continue using dot (turned off).

  ### Random

  Creates a random order in the list.

  ### Code

  Input custom JavaScript code to perform the sort operation. This is a good option if a simple sort won't meet your needs.

  Enter your custom JavaScript code in the **Code** input field.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'sort') ]]

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Type",
      "name": "type",
      "type": "options",
      "default": "simple",
      "description": "The type of sorting to perform",
      "options": [
        {
          "name": "Simple",
          "value": "simple"
        },
        {
          "name": "Random",
          "value": "random"
        },
        {
          "name": "Code",
          "value": "code"
        }
      ]
    },
    {
      "displayName": "Fields To Sort By",
      "name": "sortFieldsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "The fields of the input items to sort by",
      "options": [
        {
          "displayName": "",
          "name": "sortField",
          "values": [
            {
              "displayName": "Field Name",
              "name": "fieldName",
              "type": "string",
              "required": true,
              "default": "",
              "description": "The field to sort by",
              "placeholder": "e.g. id",
              "hint": " Enter the field name as text",
              "requiresDataPath": "single"
            },
            {
              "displayName": "Order",
              "name": "order",
              "type": "options",
              "options": [
                {
                  "name": "Ascending",
                  "value": "ascending"
                },
                {
                  "name": "Descending",
                  "value": "descending"
                }
              ],
              "default": "ascending",
              "description": "The order to sort by"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "type": [
            "simple"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Code",
      "name": "code",
      "type": "string",
      "default": "// The two items to compare are in the variables a and b\n\t// Access the fields in a.json and b.json\n\t// Return -1 if a should go before b\n\t// Return 1 if b should go before a\n\t// Return 0 if there's no difference\n\n\tfieldName = 'myField';\n\n\tif (a.json[fieldName] < b.json[fieldName]) {\n\treturn -1;\n\t}\n\tif (a.json[fieldName] > b.json[fieldName]) {\n\treturn 1;\n\t}\n\treturn 0;",
      "description": "Javascript code to determine the order of any two items",
      "displayOptions": {
        "show": {
          "type": [
            "code"
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true,
        "editor": "jsEditor",
        "rows": 10
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Disable Dot Notation",
          "name": "disableDotNotation",
          "type": "boolean",
          "default": false,
          "description": "Whether to disallow referencing child fields using `parent.child` in the field name"
        }
      ],
      "displayOptions": {
        "show": {
          "type": [
            "simple"
          ]
        }
      }
    }
  ]


node_type: nodes-base.summarize
package_name: n8n-nodes-base
display_name: Summarize
description: Sum, count, max, etc. across items
category: transform
development_style: programmatic
version: 1.1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Summarize
  description: Documentation for the Summarize node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Summarize

  Use the Summarize node to aggregate items together, in a manner similar to Excel pivot tables.

  ## Node parameters

  ### Fields to Summarize

  Use these fields to define how you want to summarize your input data.

  * **Aggregation**: Select the aggregation method to use on a given field. Options include:
  	* **Append**: Append 
  		* If you select this option, decide whether you want to **Include Empty Values** or not.
  	* **Average**: Calculate the numeric average of your input data.
  	* **Concatenate**: Combine together values in your input data.
  		* If you select this option, decide whether you want to **Include Empty Values** or not.
  		* **Separator**: Select the separator you want to insert between concatenated values.
  	* **Count**: Count the total number of values in your input data.
  	* **Count Unique**: Count the number of unique values in your input data.
  	* **Max**: Find the highest numeric value in your input data.
  	* **Min**: Find the lowest numeric value in your input data.
  	* **Sum**: Add together the numeric values in your input data.
  * **Field**: Enter the name of the field you want to perform the aggregation on.

  ### Fields to Split By

  Enter the name of the input fields that you want to split the summary by (similar to a group by statement). This allows you to get separate summaries based on values in other fields.

  For example, if our input data contains columns for `Sales Rep` and `Deal Amount` and we're performing a **Sum** on the `Deal Amount` field, we could split by `Sales Rep` to get a **Sum** total for each Sales Rep.

  To enter multiple fields to split by, enter a comma-separated list.

  ## Node options

  ### Continue if Field Not Found

  By default, if a **Field to Summarize** isn't in any items, the node throws an error. Use this option to continue and return a single empty item (turned on) instead or keep the default error behavior (turned off).

  ### Disable Dot Notation

  By default, n8n enables dot notation to reference child fields in the format `parent.child`. Use this option to disable dot notation (turned on) or to continue using dot (turned off).

  ### Output Format

  Select the format for your output format. This option is recommended if you're using **Fields to Split By**

  * **Each Split in a Separate Item**: Use this option to generate a separate output item for each split out field.
  * **All Splits in a Single Item**: Use this option to generate a single item that lists the split out fields.

  ## Ignore items without valid fields to group by

  Set whether to ignore input items that don't contain the **Fields to Split By** (turned on) or not (turned off).

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'summarize') ]]

  ## Related resources

  --8<-- "_snippets/integrations/builtin/core-nodes/data-transformation-actions/data-section-link.md"

properties_schema:
  [
    {
      "displayName": "Fields to Summarize",
      "name": "fieldsToSummarize",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "aggregation": "count",
            "field": ""
          }
        ]
      },
      "options": [
        {
          "displayName": "",
          "name": "values",
          "values": [
            {
              "displayName": "Aggregation",
              "name": "aggregation",
              "type": "options",
              "options": [
                {
                  "name": "Append",
                  "value": "append"
                },
                {
                  "name": "Average",
                  "value": "average"
                },
                {
                  "name": "Concatenate",
                  "value": "concatenate"
                },
                {
                  "name": "Count",
                  "value": "count"
                },
                {
                  "name": "Count Unique",
                  "value": "countUnique"
                },
                {
                  "name": "Max",
                  "value": "max"
                },
                {
                  "name": "Min",
                  "value": "min"
                },
                {
                  "name": "Sum",
                  "value": "sum"
                }
              ],
              "default": "count",
              "description": "How to combine the values of the field you want to summarize"
            },
            {
              "displayName": "Field",
              "name": "field",
              "type": "string",
              "default": "",
              "description": "The name of an input field that you want to summarize",
              "placeholder": "e.g. cost",
              "hint": " Enter the field name as text",
              "displayOptions": {
                "hide": {
                  "aggregation": [
                    "average",
                    "sum",
                    "countUnique",
                    "count",
                    "max",
                    "min"
                  ]
                }
              },
              "requiresDataPath": "single"
            },
            {
              "displayName": "Field",
              "name": "field",
              "type": "string",
              "default": "",
              "description": "The name of an input field that you want to summarize. The field should contain numerical values; null, undefined, empty strings would be ignored.",
              "placeholder": "e.g. cost",
              "hint": " Enter the field name as text",
              "displayOptions": {
                "show": {
                  "aggregation": [
                    "average",
                    "sum"
                  ]
                }
              },
              "requiresDataPath": "single"
            },
            {
              "displayName": "Field",
              "name": "field",
              "type": "string",
              "default": "",
              "description": "The name of an input field that you want to summarize; null, undefined, empty strings would be ignored",
              "placeholder": "e.g. cost",
              "hint": " Enter the field name as text",
              "displayOptions": {
                "show": {
                  "aggregation": [
                    "countUnique",
                    "count",
                    "max",
                    "min"
                  ]
                }
              },
              "requiresDataPath": "single"
            },
            {
              "displayName": "Include Empty Values",
              "name": "includeEmpty",
              "type": "boolean",
              "default": false,
              "displayOptions": {
                "show": {
                  "aggregation": [
                    "append",
                    "concatenate",
                    "count",
                    "countUnique"
                  ]
                }
              }
            },
            {
              "displayName": "Separator",
              "name": "separateBy",
              "type": "options",
              "default": ",",
              "options": [
                {
                  "name": "Comma",
                  "value": ","
                },
                {
                  "name": "Comma and Space",
                  "value": ", "
                },
                {
                  "name": "New Line",
                  "value": "\n"
                },
                {
                  "name": "None",
                  "value": ""
                },
                {
                  "name": "Space",
                  "value": " "
                },
                {
                  "name": "Other",
                  "value": "other"
                }
              ],
              "hint": "What to insert between values",
              "displayOptions": {
                "show": {
                  "aggregation": [
                    "concatenate"
                  ]
                }
              }
            },
            {
              "displayName": "Custom Separator",
              "name": "customSeparator",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "aggregation": [
                    "concatenate"
                  ],
                  "separateBy": [
                    "other"
                  ]
                }
              }
            }
          ]
        }
      ],
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Fields to Split By",
      "name": "fieldsToSplitBy",
      "type": "string",
      "default": "",
      "description": "The name of the input fields that you want to split the summary by",
      "displayOptions": {
        "hide": {
          "/options.outputFormat": [
            "singleItem"
          ]
        }
      }
    },
    {
      "displayName": "Fields to Group By",
      "name": "fieldsToSplitBy",
      "type": "string",
      "default": "",
      "description": "The name of the input fields that you want to split the summary by",
      "displayOptions": {
        "show": {
          "/options.outputFormat": [
            "singleItem"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Continue if Field Not Found",
          "name": "continueIfFieldNotFound",
          "type": "boolean",
          "default": false,
          "description": "Whether to continue if field to summarize can't be found in any items and return single empty item, otherwise an error would be thrown",
          "displayOptions": {
            "hide": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.1
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Disable Dot Notation",
          "name": "disableDotNotation",
          "type": "boolean",
          "default": false,
          "description": "Whether to disallow referencing child fields using `parent.child` in the field name"
        },
        {
          "displayName": "Output Format",
          "name": "outputFormat",
          "type": "options",
          "default": "separateItems",
          "options": [
            {
              "name": "Each Split in a Separate Item",
              "value": "separateItems"
            },
            {
              "name": "All Splits in a Single Item",
              "value": "singleItem"
            }
          ]
        },
        {
          "displayName": "Ignore items without valid fields to group by",
          "name": "skipEmptySplitFields",
          "type": "boolean",
          "default": false
        }
      ]
    }
  ]


node_type: nodes-langchain.alibabaCloudTool
package_name: @n8n/n8n-nodes-langchain
display_name: Qwen Cloud Tool
description: Interact with all models available on Qwen Cloud (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1.1
credentials_required:
  [
  {
  "name": "alibabaCloudApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-langchain.alibabaCloud
properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Qwen Cloud"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Text",
          "value": "text"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with a Qwen model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "qwen3.5-flash",
      "description": "The model to use for generation",
      "options": [
        {
          "name": "Qwen3 Max",
          "value": "qwen3-max",
          "description": "Most capable model with best performance"
        },
        {
          "name": "Qwen3 Max (2026-01-23)",
          "value": "qwen3-max-2026-01-23",
          "description": "Qwen Max snapshot from 2026-01-23"
        },
        {
          "name": "Qwen3.5 122B-A10B",
          "value": "qwen3.5-122b-a10b",
          "description": "MoE model with 122B total / 10B active parameters"
        },
        {
          "name": "Qwen3.5 27B",
          "value": "qwen3.5-27b",
          "description": "Dense 27B parameter model"
        },
        {
          "name": "Qwen3.5 35B-A3B",
          "value": "qwen3.5-35b-a3b",
          "description": "Small MoE model with 35B total / 3B active parameters"
        },
        {
          "name": "Qwen3.5 397B-A17B",
          "value": "qwen3.5-397b-a17b",
          "description": "Large MoE model with 397B total / 17B active parameters"
        },
        {
          "name": "Qwen3.5 Flash",
          "value": "qwen3.5-flash",
          "description": "Faster, more cost-effective model"
        },
        {
          "name": "Qwen3.5 Flash (2026-02-23)",
          "value": "qwen3.5-flash-2026-02-23",
          "description": "Qwen Flash snapshot from 2026-02-23"
        },
        {
          "name": "Qwen3.5 Plus",
          "value": "qwen3.5-plus",
          "description": "Balanced model with good performance and cost"
        },
        {
          "name": "Qwen3.5 Plus (2026-02-15)",
          "value": "qwen3.5-plus-2026-02-15",
          "description": "Qwen Plus snapshot from 2026-02-15"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "textModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "messageValues": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "options": [
        {
          "name": "messageValues",
          "displayName": "Message",
          "values": [
            {
              "displayName": "Content",
              "name": "content",
              "type": "string",
              "typeOptions": {
                "rows": 4
              },
              "default": "",
              "description": "The content of the message"
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "options": [
                {
                  "name": "User",
                  "value": "user"
                },
                {
                  "name": "Assistant",
                  "value": "assistant"
                }
              ],
              "default": "user",
              "description": "The role of the message sender"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Enable Search",
          "name": "enableSearch",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable web search for up-to-date information"
        },
        {
          "displayName": "Max Tokens",
          "name": "maxTokens",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 2000,
          "description": "Maximum number of tokens to generate"
        },
        {
          "displayName": "Max Tools Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "Maximum number of tool-calling iterations before stopping. Set to 0 for unlimited."
        },
        {
          "displayName": "Repetition Penalty",
          "name": "repetitionPenalty",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1.1,
          "description": "Penalty for token repetition. Higher values reduce repetition."
        },
        {
          "displayName": "Seed",
          "name": "seed",
          "type": "number",
          "default": 1234,
          "description": "Random seed for reproducible outputs"
        },
        {
          "displayName": "Stop Sequences",
          "name": "stop",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of sequences where the API will stop generating"
        },
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Temperature",
          "name": "temperature",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1,
          "description": "Controls randomness in the output. Lower values make output more focused and deterministic."
        },
        {
          "displayName": "Top K",
          "name": "topK",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 100
          },
          "default": 50,
          "description": "Limits the sampling pool to top K tokens"
        },
        {
          "displayName": "Top P",
          "name": "topP",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 2
          },
          "default": 0.9,
          "description": "Nucleus sampling parameter. Lower values make output more focused."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze image",
          "description": "Take in images and answer questions about them"
        },
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Creates an image from a text prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "qwen3-vl-flash",
      "description": "The model to use for image analysis",
      "options": [
        {
          "name": "Qwen-VL Flash",
          "value": "qwen3-vl-flash",
          "description": "Fast vision-language model"
        },
        {
          "name": "Qwen-VL Plus",
          "value": "qwen3-vl-plus",
          "description": "Enhanced vision-language model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "visionModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "description": "How to provide the image for analysis",
      "options": [
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "Binary Data",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Image URL",
      "name": "imageUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the image to analyze",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Question",
      "name": "question",
      "type": "string",
      "default": "",
      "description": "The question or instruction about the image",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "visionOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Temperature",
          "name": "temperature",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1,
          "description": "Controls randomness in the output. Lower values make output more focused and deterministic."
        },
        {
          "displayName": "Max Tokens",
          "name": "maxTokens",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 2000,
          "description": "Maximum number of tokens to generate"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "z-image-turbo",
      "description": "The model to use for image generation",
      "options": [
        {
          "name": "Qwen Image",
          "value": "qwen-image",
          "description": "Qwen image generation model"
        },
        {
          "name": "Qwen Image Max",
          "value": "qwen-image-max",
          "description": "Most capable Qwen image generation model"
        },
        {
          "name": "Qwen Image Plus",
          "value": "qwen-image-plus",
          "description": "Enhanced Qwen image generation model"
        },
        {
          "name": "Wan 2.6 T2I",
          "value": "wan2.6-t2i",
          "description": "Wanx image generation model"
        },
        {
          "name": "Z-Image Turbo",
          "value": "z-image-turbo",
          "description": "Fast image generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The text prompt describing the image to generate",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Download Image",
      "name": "downloadImage",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated image as binary data. When disabled, only the image URL is returned.",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "imageOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Size",
          "name": "size",
          "type": "options",
          "displayOptions": {
            "show": {
              "/modelId": [
                "z-image-turbo",
                "wan2.6-t2i"
              ]
            }
          },
          "options": [
            {
              "name": "1024x1024",
              "value": "1024*1024"
            },
            {
              "name": "720x1280",
              "value": "720*1280"
            },
            {
              "name": "1280x720",
              "value": "1280*720"
            }
          ],
          "default": "1024*1024",
          "description": "The size of the generated image"
        },
        {
          "displayName": "Size",
          "name": "size",
          "type": "options",
          "displayOptions": {
            "show": {
              "/modelId": [
                "qwen-image",
                "qwen-image-plus",
                "qwen-image-max"
              ]
            }
          },
          "options": [
            {
              "name": "1104x1472 (3:4)",
              "value": "1104*1472"
            },
            {
              "name": "1328x1328 (1:1)",
              "value": "1328*1328"
            },
            {
              "name": "1472x1104 (4:3)",
              "value": "1472*1104"
            },
            {
              "name": "1664x928 (16:9)",
              "value": "1664*928"
            },
            {
              "name": "928x1664 (9:16)",
              "value": "928*1664"
            }
          ],
          "default": "1664*928",
          "description": "The size of the generated image"
        },
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "textToVideo",
      "options": [
        {
          "name": "Generate Video From Text",
          "value": "textToVideo",
          "action": "Generate video from text prompt",
          "description": "Generate a video from a text prompt"
        },
        {
          "name": "Generate Video From Image",
          "value": "imageToVideo",
          "action": "Generate video from image",
          "description": "Generate a video from one or more images using Wan models"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "wan2.6-t2v",
      "description": "The model to use for text-to-video generation",
      "options": [
        {
          "name": "Wan 2.6 Text-to-Video",
          "value": "wan2.6-t2v",
          "description": "Text-to-video generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "textToVideoModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The text prompt to generate video from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "1080P",
      "description": "Resolution tier of the generated video",
      "options": [
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "number",
      "default": 5,
      "description": "Duration of the generated video in seconds (2–15)",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "typeOptions": {
        "minValue": 2,
        "maxValue": 15
      }
    },
    {
      "displayName": "Shot Type",
      "name": "shotType",
      "type": "options",
      "default": "single",
      "description": "Whether to generate a single-shot or multi-shot narrative video",
      "options": [
        {
          "name": "Single",
          "value": "single"
        },
        {
          "name": "Multi",
          "value": "multi"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "videoOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        },
        {
          "displayName": "Audio",
          "name": "audio",
          "type": "boolean",
          "default": true,
          "description": "Whether to generate audio for the video"
        },
        {
          "displayName": "Audio Input Type",
          "name": "audioInputType",
          "type": "options",
          "options": [
            {
              "name": "Audio URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "url"
        },
        {
          "displayName": "Audio URL",
          "name": "audioUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/audio.mp3",
          "description": "URL of the audio file to use for the video",
          "displayOptions": {
            "show": {
              "audioInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Audio Data Field Name",
          "name": "audioBinaryPropertyName",
          "type": "string",
          "default": "audio",
          "placeholder": "e.g. audio",
          "hint": "The name of the input field containing the binary audio data",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "audioInputType": [
                "binary"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "wan2.6-i2v-flash",
      "description": "The model to use for image-to-video generation",
      "options": [
        {
          "name": "Wan 2.6 Image-to-Video Flash",
          "value": "wan2.6-i2v-flash",
          "description": "Fast image-to-video generation model"
        },
        {
          "name": "Wan 2.6 Image-to-Video",
          "value": "wan2.6-i2v",
          "description": "Standard image-to-video generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageToVideoModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Image URL",
      "name": "imgUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the first-frame image to generate video from",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text prompt describing the desired content and visual characteristics for the generated video",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "1080P",
      "description": "Resolution tier of the generated video",
      "options": [
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "number",
      "default": 5,
      "description": "Duration of the generated video in seconds (2–15)",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "minValue": 2,
        "maxValue": 15
      }
    },
    {
      "displayName": "Shot Type",
      "name": "shotType",
      "type": "options",
      "default": "single",
      "description": "Whether to generate a single-shot or multi-shot narrative video",
      "options": [
        {
          "name": "Single",
          "value": "single"
        },
        {
          "name": "Multi",
          "value": "multi"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "imageToVideoOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        },
        {
          "displayName": "Audio",
          "name": "audio",
          "type": "boolean",
          "default": true,
          "description": "Whether to generate audio for the video"
        },
        {
          "displayName": "Audio Input Type",
          "name": "audioInputType",
          "type": "options",
          "options": [
            {
              "name": "Audio URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "url"
        },
        {
          "displayName": "Audio URL",
          "name": "audioUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/audio.mp3",
          "description": "URL of the audio file to use for the video",
          "displayOptions": {
            "show": {
              "audioInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Audio Data Field Name",
          "name": "audioBinaryPropertyName",
          "type": "string",
          "default": "audio",
          "placeholder": "e.g. audio",
          "hint": "The name of the input field containing the binary audio data",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "audioInputType": [
                "binary"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with a Qwen model",
      "resource": "text"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate an Image",
      "description": "Creates an image from a text prompt",
      "resource": "image"
    },
    {
      "operation": "textToVideo",
      "name": "Generate Video From Text",
      "description": "Generate a video from a text prompt",
      "resource": "video"
    },
    {
      "operation": "imageToVideo",
      "name": "Generate Video From Image",
      "description": "Generate a video from one or more images using Wan models",
      "resource": "video"
    }
  ]


node_type: nodes-langchain.alibabaCloud
package_name: @n8n/n8n-nodes-langchain
display_name: Qwen Cloud
description: Interact with all models available on Qwen Cloud
category: transform
development_style: programmatic
version: 1.1
credentials_required:
  [
  {
  "name": "alibabaCloudApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Text",
          "value": "text"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with a Qwen model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "qwen3.5-flash",
      "description": "The model to use for generation",
      "options": [
        {
          "name": "Qwen3 Max",
          "value": "qwen3-max",
          "description": "Most capable model with best performance"
        },
        {
          "name": "Qwen3 Max (2026-01-23)",
          "value": "qwen3-max-2026-01-23",
          "description": "Qwen Max snapshot from 2026-01-23"
        },
        {
          "name": "Qwen3.5 122B-A10B",
          "value": "qwen3.5-122b-a10b",
          "description": "MoE model with 122B total / 10B active parameters"
        },
        {
          "name": "Qwen3.5 27B",
          "value": "qwen3.5-27b",
          "description": "Dense 27B parameter model"
        },
        {
          "name": "Qwen3.5 35B-A3B",
          "value": "qwen3.5-35b-a3b",
          "description": "Small MoE model with 35B total / 3B active parameters"
        },
        {
          "name": "Qwen3.5 397B-A17B",
          "value": "qwen3.5-397b-a17b",
          "description": "Large MoE model with 397B total / 17B active parameters"
        },
        {
          "name": "Qwen3.5 Flash",
          "value": "qwen3.5-flash",
          "description": "Faster, more cost-effective model"
        },
        {
          "name": "Qwen3.5 Flash (2026-02-23)",
          "value": "qwen3.5-flash-2026-02-23",
          "description": "Qwen Flash snapshot from 2026-02-23"
        },
        {
          "name": "Qwen3.5 Plus",
          "value": "qwen3.5-plus",
          "description": "Balanced model with good performance and cost"
        },
        {
          "name": "Qwen3.5 Plus (2026-02-15)",
          "value": "qwen3.5-plus-2026-02-15",
          "description": "Qwen Plus snapshot from 2026-02-15"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "textModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "messageValues": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "options": [
        {
          "name": "messageValues",
          "displayName": "Message",
          "values": [
            {
              "displayName": "Content",
              "name": "content",
              "type": "string",
              "typeOptions": {
                "rows": 4
              },
              "default": "",
              "description": "The content of the message"
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "options": [
                {
                  "name": "User",
                  "value": "user"
                },
                {
                  "name": "Assistant",
                  "value": "assistant"
                }
              ],
              "default": "user",
              "description": "The role of the message sender"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Enable Search",
          "name": "enableSearch",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable web search for up-to-date information"
        },
        {
          "displayName": "Max Tokens",
          "name": "maxTokens",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 2000,
          "description": "Maximum number of tokens to generate"
        },
        {
          "displayName": "Max Tools Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "Maximum number of tool-calling iterations before stopping. Set to 0 for unlimited."
        },
        {
          "displayName": "Repetition Penalty",
          "name": "repetitionPenalty",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1.1,
          "description": "Penalty for token repetition. Higher values reduce repetition."
        },
        {
          "displayName": "Seed",
          "name": "seed",
          "type": "number",
          "default": 1234,
          "description": "Random seed for reproducible outputs"
        },
        {
          "displayName": "Stop Sequences",
          "name": "stop",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of sequences where the API will stop generating"
        },
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Temperature",
          "name": "temperature",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1,
          "description": "Controls randomness in the output. Lower values make output more focused and deterministic."
        },
        {
          "displayName": "Top K",
          "name": "topK",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 100
          },
          "default": 50,
          "description": "Limits the sampling pool to top K tokens"
        },
        {
          "displayName": "Top P",
          "name": "topP",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 2
          },
          "default": 0.9,
          "description": "Nucleus sampling parameter. Lower values make output more focused."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze image",
          "description": "Take in images and answer questions about them"
        },
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Creates an image from a text prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "qwen3-vl-flash",
      "description": "The model to use for image analysis",
      "options": [
        {
          "name": "Qwen-VL Flash",
          "value": "qwen3-vl-flash",
          "description": "Fast vision-language model"
        },
        {
          "name": "Qwen-VL Plus",
          "value": "qwen3-vl-plus",
          "description": "Enhanced vision-language model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "visionModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "description": "How to provide the image for analysis",
      "options": [
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "Binary Data",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Image URL",
      "name": "imageUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the image to analyze",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Question",
      "name": "question",
      "type": "string",
      "default": "",
      "description": "The question or instruction about the image",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "visionOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Temperature",
          "name": "temperature",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 2
          },
          "default": 1,
          "description": "Controls randomness in the output. Lower values make output more focused and deterministic."
        },
        {
          "displayName": "Max Tokens",
          "name": "maxTokens",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 2000,
          "description": "Maximum number of tokens to generate"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "z-image-turbo",
      "description": "The model to use for image generation",
      "options": [
        {
          "name": "Qwen Image",
          "value": "qwen-image",
          "description": "Qwen image generation model"
        },
        {
          "name": "Qwen Image Max",
          "value": "qwen-image-max",
          "description": "Most capable Qwen image generation model"
        },
        {
          "name": "Qwen Image Plus",
          "value": "qwen-image-plus",
          "description": "Enhanced Qwen image generation model"
        },
        {
          "name": "Wan 2.6 T2I",
          "value": "wan2.6-t2i",
          "description": "Wanx image generation model"
        },
        {
          "name": "Z-Image Turbo",
          "value": "z-image-turbo",
          "description": "Fast image generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The text prompt describing the image to generate",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Download Image",
      "name": "downloadImage",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated image as binary data. When disabled, only the image URL is returned.",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "imageOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Size",
          "name": "size",
          "type": "options",
          "displayOptions": {
            "show": {
              "/modelId": [
                "z-image-turbo",
                "wan2.6-t2i"
              ]
            }
          },
          "options": [
            {
              "name": "1024x1024",
              "value": "1024*1024"
            },
            {
              "name": "720x1280",
              "value": "720*1280"
            },
            {
              "name": "1280x720",
              "value": "1280*720"
            }
          ],
          "default": "1024*1024",
          "description": "The size of the generated image"
        },
        {
          "displayName": "Size",
          "name": "size",
          "type": "options",
          "displayOptions": {
            "show": {
              "/modelId": [
                "qwen-image",
                "qwen-image-plus",
                "qwen-image-max"
              ]
            }
          },
          "options": [
            {
              "name": "1104x1472 (3:4)",
              "value": "1104*1472"
            },
            {
              "name": "1328x1328 (1:1)",
              "value": "1328*1328"
            },
            {
              "name": "1472x1104 (4:3)",
              "value": "1472*1104"
            },
            {
              "name": "1664x928 (16:9)",
              "value": "1664*928"
            },
            {
              "name": "928x1664 (9:16)",
              "value": "928*1664"
            }
          ],
          "default": "1664*928",
          "description": "The size of the generated image"
        },
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "textToVideo",
      "options": [
        {
          "name": "Generate Video From Text",
          "value": "textToVideo",
          "action": "Generate video from text prompt",
          "description": "Generate a video from a text prompt"
        },
        {
          "name": "Generate Video From Image",
          "value": "imageToVideo",
          "action": "Generate video from image",
          "description": "Generate a video from one or more images using Wan models"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "wan2.6-t2v",
      "description": "The model to use for text-to-video generation",
      "options": [
        {
          "name": "Wan 2.6 Text-to-Video",
          "value": "wan2.6-t2v",
          "description": "Text-to-video generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "textToVideoModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The text prompt to generate video from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "1080P",
      "description": "Resolution tier of the generated video",
      "options": [
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "number",
      "default": 5,
      "description": "Duration of the generated video in seconds (2–15)",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "typeOptions": {
        "minValue": 2,
        "maxValue": 15
      }
    },
    {
      "displayName": "Shot Type",
      "name": "shotType",
      "type": "options",
      "default": "single",
      "description": "Whether to generate a single-shot or multi-shot narrative video",
      "options": [
        {
          "name": "Single",
          "value": "single"
        },
        {
          "name": "Multi",
          "value": "multi"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "videoOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        },
        {
          "displayName": "Audio",
          "name": "audio",
          "type": "boolean",
          "default": true,
          "description": "Whether to generate audio for the video"
        },
        {
          "displayName": "Audio Input Type",
          "name": "audioInputType",
          "type": "options",
          "options": [
            {
              "name": "Audio URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "url"
        },
        {
          "displayName": "Audio URL",
          "name": "audioUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/audio.mp3",
          "description": "URL of the audio file to use for the video",
          "displayOptions": {
            "show": {
              "audioInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Audio Data Field Name",
          "name": "audioBinaryPropertyName",
          "type": "string",
          "default": "audio",
          "placeholder": "e.g. audio",
          "hint": "The name of the input field containing the binary audio data",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "audioInputType": [
                "binary"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "wan2.6-i2v-flash",
      "description": "The model to use for image-to-video generation",
      "options": [
        {
          "name": "Wan 2.6 Image-to-Video Flash",
          "value": "wan2.6-i2v-flash",
          "description": "Fast image-to-video generation model"
        },
        {
          "name": "Wan 2.6 Image-to-Video",
          "value": "wan2.6-i2v",
          "description": "Standard image-to-video generation model"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageToVideoModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. qwen3.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Image URL",
      "name": "imgUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the first-frame image to generate video from",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text prompt describing the desired content and visual characteristics for the generated video",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "1080P",
      "description": "Resolution tier of the generated video",
      "options": [
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "number",
      "default": 5,
      "description": "Duration of the generated video in seconds (2–15)",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "minValue": 2,
        "maxValue": 15
      }
    },
    {
      "displayName": "Shot Type",
      "name": "shotType",
      "type": "options",
      "default": "single",
      "description": "Whether to generate a single-shot or multi-shot narrative video",
      "options": [
        {
          "name": "Single",
          "value": "single"
        },
        {
          "name": "Multi",
          "value": "multi"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "imageToVideoOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Extend",
          "name": "promptExtend",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically extend and enhance the prompt"
        },
        {
          "displayName": "Audio",
          "name": "audio",
          "type": "boolean",
          "default": true,
          "description": "Whether to generate audio for the video"
        },
        {
          "displayName": "Audio Input Type",
          "name": "audioInputType",
          "type": "options",
          "options": [
            {
              "name": "Audio URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "url"
        },
        {
          "displayName": "Audio URL",
          "name": "audioUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/audio.mp3",
          "description": "URL of the audio file to use for the video",
          "displayOptions": {
            "show": {
              "audioInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Audio Data Field Name",
          "name": "audioBinaryPropertyName",
          "type": "string",
          "default": "audio",
          "placeholder": "e.g. audio",
          "hint": "The name of the input field containing the binary audio data",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "audioInputType": [
                "binary"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with a Qwen model",
      "resource": "text"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate an Image",
      "description": "Creates an image from a text prompt",
      "resource": "image"
    },
    {
      "operation": "textToVideo",
      "name": "Generate Video From Text",
      "description": "Generate a video from a text prompt",
      "resource": "video"
    },
    {
      "operation": "imageToVideo",
      "name": "Generate Video From Image",
      "description": "Generate a video from one or more images using Wan models",
      "resource": "video"
    }
  ]


node_type: nodes-langchain.anthropicTool
package_name: @n8n/n8n-nodes-langchain
display_name: Anthropic Tool
description: Interact with Anthropic AI models (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "anthropicApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-langchain.anthropic
properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Anthropic"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Prompt",
          "value": "prompt"
        },
        {
          "name": "Text",
          "value": "text"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Document",
          "value": "analyze",
          "action": "Analyze document",
          "description": "Take in documents and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this document?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Document URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "documentUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the document(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the document(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxTokens",
          "type": "number",
          "default": 1024,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload File",
          "value": "upload",
          "action": "Upload a file",
          "description": "Upload a file to the Anthropic API for later use"
        },
        {
          "name": "Get File Metadata",
          "value": "get",
          "action": "Get file metadata",
          "description": "Get metadata for a file from the Anthropic API"
        },
        {
          "name": "List Files",
          "value": "list",
          "action": "List files",
          "description": "List files from the Anthropic API"
        },
        {
          "name": "Delete File",
          "value": "deleteFile",
          "action": "Delete a file",
          "description": "Delete a file from the Anthropic API"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to delete",
      "displayOptions": {
        "show": {
          "operation": [
            "deleteFile"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to get metadata for",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "operation": [
            "list"
          ],
          "resource": [
            "file"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "description": "The file name to use for the uploaded file",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze image",
          "description": "Take in images and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this image?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "imageUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the image(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the image(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxTokens",
          "type": "number",
          "default": 1024,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Prompt",
          "value": "generate",
          "action": "Generate a prompt",
          "description": "Generate a prompt for a model"
        },
        {
          "name": "Improve Prompt",
          "value": "improve",
          "action": "Improve a prompt",
          "description": "Improve a prompt for a model"
        },
        {
          "name": "Templatize Prompt",
          "value": "templatize",
          "action": "Templatize a prompt",
          "description": "Templatize a prompt for a model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "The <a href=\"https://docs.anthropic.com/en/api/prompt-tools-generate\">prompt tools APIs</a> are in a closed research preview. Your organization must request access to use them.",
      "name": "experimentalNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Task",
      "name": "task",
      "type": "string",
      "default": "",
      "description": "Description of the prompt's purpose",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "description": "Messages that constitute the prompt to be improved",
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Concise instructions for a meal prep service",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "description": "The existing system prompt to incorporate, if any",
          "default": "",
          "placeholder": "e.g. You are a professional meal prep chef"
        },
        {
          "displayName": "Feedback",
          "name": "feedback",
          "type": "string",
          "description": "Feedback for improving the prompt",
          "default": "",
          "placeholder": "e.g. Make it more detailed and include cooking times"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "description": "Messages that constitute the prompt to be templatized",
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Translate hello to German",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "description": "The existing system prompt to templatize",
          "default": "",
          "placeholder": "e.g. You are a professional English to German translator"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with Anthropic model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Hello, how can you help me?",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Add Attachments",
      "name": "addAttachments",
      "type": "boolean",
      "default": false,
      "description": "Whether to add attachments to the message",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachments Input Type",
      "name": "attachmentsInputType",
      "type": "options",
      "default": "url",
      "description": "The type of input to use for the attachments",
      "options": [
        {
          "name": "URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachment URL(s)",
      "name": "attachmentsUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the file(s) to attach, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "attachmentsInputType": [
            "url"
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachment Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the file(s) to attach, multiple field names can be added separated by comma",
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "attachmentsInputType": [
            "binary"
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Merged Response",
          "name": "includeMergedResponse",
          "type": "boolean",
          "default": false,
          "description": "Whether to include a single output string merging all text parts of the response"
        },
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable code execution. Not supported by all models."
        },
        {
          "displayName": "Web Search",
          "name": "webSearch",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable web search"
        },
        {
          "displayName": "Web Search Max Uses",
          "name": "maxUses",
          "type": "number",
          "default": 5,
          "description": "The maximum number of web search uses per request",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Web Search Allowed Domains",
          "name": "allowedDomains",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of domains to search. Only domains in this list will be searched. Conflicts with \"Web Search Blocked Domains\".",
          "placeholder": "e.g. google.com, wikipedia.org"
        },
        {
          "displayName": "Web Search Blocked Domains",
          "name": "blockedDomains",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of domains to block from search. Conflicts with \"Web Search Allowed Domains\".",
          "placeholder": "e.g. google.com, wikipedia.org"
        },
        {
          "displayName": "Maximum Number of Tokens",
          "name": "maxTokens",
          "default": 1024,
          "description": "The maximum number of tokens to generate in the completion",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Output Randomness (Temperature)",
          "name": "temperature",
          "default": 1,
          "description": "Controls the randomness of the output. Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top P)",
          "name": "topP",
          "default": 0.7,
          "description": "The maximum cumulative probability of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top K)",
          "name": "topK",
          "default": 5,
          "description": "The maximum number of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Max Tool Calls Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "analyze",
      "name": "Analyze Document",
      "description": "Take in documents and answer questions about them",
      "resource": "document"
    },
    {
      "operation": "upload",
      "name": "Upload File",
      "description": "Upload a file to the Anthropic API for later use",
      "resource": "file"
    },
    {
      "operation": "get",
      "name": "Get File Metadata",
      "description": "Get metadata for a file from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "list",
      "name": "List Files",
      "description": "List files from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "deleteFile",
      "name": "Delete File",
      "description": "Delete a file from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate Prompt",
      "description": "Generate a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "improve",
      "name": "Improve Prompt",
      "description": "Improve a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "templatize",
      "name": "Templatize Prompt",
      "description": "Templatize a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with Anthropic model",
      "resource": "text"
    }
  ]


node_type: nodes-langchain.anthropic
package_name: @n8n/n8n-nodes-langchain
display_name: Anthropic
description: Interact with Anthropic AI models
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "anthropicApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Prompt",
          "value": "prompt"
        },
        {
          "name": "Text",
          "value": "text"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Document",
          "value": "analyze",
          "action": "Analyze document",
          "description": "Take in documents and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this document?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Document URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "documentUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the document(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the document(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxTokens",
          "type": "number",
          "default": 1024,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload File",
          "value": "upload",
          "action": "Upload a file",
          "description": "Upload a file to the Anthropic API for later use"
        },
        {
          "name": "Get File Metadata",
          "value": "get",
          "action": "Get file metadata",
          "description": "Get metadata for a file from the Anthropic API"
        },
        {
          "name": "List Files",
          "value": "list",
          "action": "List files",
          "description": "List files from the Anthropic API"
        },
        {
          "name": "Delete File",
          "value": "deleteFile",
          "action": "Delete a file",
          "description": "Delete a file from the Anthropic API"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to delete",
      "displayOptions": {
        "show": {
          "operation": [
            "deleteFile"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to get metadata for",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "operation": [
            "list"
          ],
          "resource": [
            "file"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "description": "The file name to use for the uploaded file",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze image",
          "description": "Take in images and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this image?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "imageUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the image(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the image(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxTokens",
          "type": "number",
          "default": 1024,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Prompt",
          "value": "generate",
          "action": "Generate a prompt",
          "description": "Generate a prompt for a model"
        },
        {
          "name": "Improve Prompt",
          "value": "improve",
          "action": "Improve a prompt",
          "description": "Improve a prompt for a model"
        },
        {
          "name": "Templatize Prompt",
          "value": "templatize",
          "action": "Templatize a prompt",
          "description": "Templatize a prompt for a model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "The <a href=\"https://docs.anthropic.com/en/api/prompt-tools-generate\">prompt tools APIs</a> are in a closed research preview. Your organization must request access to use them.",
      "name": "experimentalNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Task",
      "name": "task",
      "type": "string",
      "default": "",
      "description": "Description of the prompt's purpose",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "description": "Messages that constitute the prompt to be improved",
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Concise instructions for a meal prep service",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "description": "The existing system prompt to incorporate, if any",
          "default": "",
          "placeholder": "e.g. You are a professional meal prep chef"
        },
        {
          "displayName": "Feedback",
          "name": "feedback",
          "type": "string",
          "description": "Feedback for improving the prompt",
          "default": "",
          "placeholder": "e.g. Make it more detailed and include cooking times"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "improve"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "description": "Messages that constitute the prompt to be templatized",
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Translate hello to German",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "description": "The existing system prompt to templatize",
          "default": "",
          "placeholder": "e.g. You are a professional English to German translator"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "templatize"
          ],
          "resource": [
            "prompt"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with Anthropic model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. claude-sonnet-4-6"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Hello, how can you help me?",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Add Attachments",
      "name": "addAttachments",
      "type": "boolean",
      "default": false,
      "description": "Whether to add attachments to the message",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachments Input Type",
      "name": "attachmentsInputType",
      "type": "options",
      "default": "url",
      "description": "The type of input to use for the attachments",
      "options": [
        {
          "name": "URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachment URL(s)",
      "name": "attachmentsUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the file(s) to attach, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "attachmentsInputType": [
            "url"
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Attachment Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the file(s) to attach, multiple field names can be added separated by comma",
      "displayOptions": {
        "show": {
          "addAttachments": [
            true
          ],
          "attachmentsInputType": [
            "binary"
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Merged Response",
          "name": "includeMergedResponse",
          "type": "boolean",
          "default": false,
          "description": "Whether to include a single output string merging all text parts of the response"
        },
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable code execution. Not supported by all models."
        },
        {
          "displayName": "Web Search",
          "name": "webSearch",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable web search"
        },
        {
          "displayName": "Web Search Max Uses",
          "name": "maxUses",
          "type": "number",
          "default": 5,
          "description": "The maximum number of web search uses per request",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Web Search Allowed Domains",
          "name": "allowedDomains",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of domains to search. Only domains in this list will be searched. Conflicts with \"Web Search Blocked Domains\".",
          "placeholder": "e.g. google.com, wikipedia.org"
        },
        {
          "displayName": "Web Search Blocked Domains",
          "name": "blockedDomains",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of domains to block from search. Conflicts with \"Web Search Allowed Domains\".",
          "placeholder": "e.g. google.com, wikipedia.org"
        },
        {
          "displayName": "Maximum Number of Tokens",
          "name": "maxTokens",
          "default": 1024,
          "description": "The maximum number of tokens to generate in the completion",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Output Randomness (Temperature)",
          "name": "temperature",
          "default": 1,
          "description": "Controls the randomness of the output. Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top P)",
          "name": "topP",
          "default": 0.7,
          "description": "The maximum cumulative probability of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top K)",
          "name": "topK",
          "default": 5,
          "description": "The maximum number of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Max Tool Calls Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "analyze",
      "name": "Analyze Document",
      "description": "Take in documents and answer questions about them",
      "resource": "document"
    },
    {
      "operation": "upload",
      "name": "Upload File",
      "description": "Upload a file to the Anthropic API for later use",
      "resource": "file"
    },
    {
      "operation": "get",
      "name": "Get File Metadata",
      "description": "Get metadata for a file from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "list",
      "name": "List Files",
      "description": "List files from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "deleteFile",
      "name": "Delete File",
      "description": "Delete a file from the Anthropic API",
      "resource": "file"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate Prompt",
      "description": "Generate a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "improve",
      "name": "Improve Prompt",
      "description": "Improve a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "templatize",
      "name": "Templatize Prompt",
      "description": "Templatize a prompt for a model",
      "resource": "prompt"
    },
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with Anthropic model",
      "resource": "text"
    }
  ]


node_type: nodes-langchain.googleGeminiTool
package_name: @n8n/n8n-nodes-langchain
display_name: Google Gemini Tool
description: Interact with Google Gemini AI models (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1.2
credentials_required:
  [
  {
  "name": "googlePalmApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-langchain.googleGemini
properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Google Gemini"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Audio",
          "value": "audio"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "File Search",
          "value": "fileSearch"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Media File",
          "value": "file"
        },
        {
          "name": "Text",
          "value": "text"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "transcribe",
      "options": [
        {
          "name": "Analyze Audio",
          "value": "analyze",
          "action": "Analyze audio",
          "description": "Take in audio and answer questions about it"
        },
        {
          "name": "Transcribe a Recording",
          "value": "transcribe",
          "action": "Transcribe a recording",
          "description": "Transcribes audio into the text"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "audioModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this audio?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Audio URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "audioUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the audio(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the audio(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed audio description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "audioModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Audio URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "audioUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the audio(s) to transcribe, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the audio(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Start Time",
          "name": "startTime",
          "type": "string",
          "default": "",
          "description": "The start time of the audio in MM:SS or HH:MM:SS format",
          "placeholder": "e.g. 00:15"
        },
        {
          "displayName": "End Time",
          "name": "endTime",
          "type": "string",
          "default": "",
          "description": "The end time of the audio in MM:SS or HH:MM:SS format",
          "placeholder": "e.g. 02:15"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Document",
          "value": "analyze",
          "action": "Analyze document",
          "description": "Take in documents and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this document?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Document URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "documentUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the document(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the document(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed document description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload Media File",
          "value": "upload",
          "action": "Upload a media file",
          "description": "Upload a file to the Google Gemini API for later use"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "createStore",
      "options": [
        {
          "name": "Create File Search Store",
          "value": "createStore",
          "action": "Create a File Search store",
          "description": "Create a new File Search store for RAG (Retrieval Augmented Generation)"
        },
        {
          "name": "Delete File Search Store",
          "value": "deleteStore",
          "action": "Delete a File Search store",
          "description": "Delete a File Search store"
        },
        {
          "name": "List File Search Stores",
          "value": "listStores",
          "action": "List all File Search stores",
          "description": "List all File Search stores owned by the user"
        },
        {
          "name": "Upload to File Search Store",
          "value": "uploadToStore",
          "action": "Upload a file to a File Search store",
          "description": "Upload a file to a File Search store for RAG (Retrieval Augmented Generation)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "fileSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "description": "A human-readable name for the File Search store",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Search Store Name",
      "name": "fileSearchStoreName",
      "type": "string",
      "default": "",
      "description": "The full name of the File Search store to delete (format: fileSearchStores/...)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "deleteStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Force Delete",
      "name": "force",
      "type": "boolean",
      "default": false,
      "description": "Whether to delete related Documents and objects. If false, deletion will fail if the store contains any Documents.",
      "displayOptions": {
        "show": {
          "operation": [
            "deleteStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Page Size",
      "name": "pageSize",
      "type": "number",
      "default": 10,
      "description": "Maximum number of File Search stores to return per page (max 20)",
      "displayOptions": {
        "show": {
          "operation": [
            "listStores"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 20
      }
    },
    {
      "displayName": "Page Token",
      "name": "pageToken",
      "type": "string",
      "default": "",
      "description": "Token from a previous page to retrieve the next page of results",
      "displayOptions": {
        "show": {
          "operation": [
            "listStores"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Search Store Name",
      "name": "fileSearchStoreName",
      "type": "string",
      "default": "",
      "description": "The full name of the File Search store to upload to (format: fileSearchStores/...)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "description": "A human-readable name for the file (will be visible in citations)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze an image",
          "description": "Take in images and answer questions about them"
        },
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Creates an image from a text prompt"
        },
        {
          "name": "Edit Image",
          "value": "edit",
          "action": "Edit an image",
          "description": "Upload one or more images and apply edits based on a prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this image?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "imageUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the image(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the image(s), separate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageEditModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "Instruction describing how to edit the image",
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Images",
      "name": "images",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "binaryPropertyName": "data"
          }
        ]
      },
      "description": "Add one or more binary fields to include images with your prompt",
      "options": [
        {
          "displayName": "Image",
          "name": "values",
          "values": [
            {
              "displayName": "Binary Field Name",
              "name": "binaryPropertyName",
              "type": "string",
              "default": "data",
              "placeholder": "e.g. data",
              "description": "The name of the binary field containing the image data"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Image"
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "edited",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 1.2
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": "models/gemini-3.1-flash-image-preview"
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.2
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text description of the desired image(s)",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Number of Images",
          "name": "sampleCount",
          "default": 1,
          "description": "Number of images to generate",
          "type": "number",
          "displayOptions": {
            "show": {
              "/modelId": [
                {
                  "_cnd": {
                    "includes": "imagen"
                  }
                }
              ]
            }
          },
          "typeOptions": {
            "minValue": 1
          }
        },
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with Google Gemini model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 1.2
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": "models/gemini-3-flash-preview"
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.2
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": ""
          }
        ]
      },
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be send",
              "default": "",
              "placeholder": "e.g. Hello, how can you help me?",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Model",
                  "value": "model",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Output Content as JSON",
      "name": "jsonOutput",
      "type": "boolean",
      "default": false,
      "description": "Whether to attempt to return the response in JSON format",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Built-in Tools",
      "name": "builtInTools",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Google Search",
          "name": "googleSearch",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to search the web using Google Search to get real-time information"
        },
        {
          "displayName": "Google Maps",
          "name": "googleMaps",
          "type": "collection",
          "default": {
            "latitude": "",
            "longitude": ""
          },
          "options": [
            {
              "displayName": "Latitude",
              "name": "latitude",
              "type": "number",
              "default": "",
              "description": "The latitude coordinate for location-based queries",
              "typeOptions": {
                "numberPrecision": 6
              }
            },
            {
              "displayName": "Longitude",
              "name": "longitude",
              "type": "number",
              "default": "",
              "description": "The longitude coordinate for location-based queries",
              "typeOptions": {
                "numberPrecision": 6
              }
            }
          ]
        },
        {
          "displayName": "URL Context",
          "name": "urlContext",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to read and analyze content from specific URLs"
        },
        {
          "displayName": "File Search",
          "name": "fileSearch",
          "type": "collection",
          "default": {
            "fileSearchStoreNames": "[]"
          },
          "options": [
            {
              "displayName": "File Search Store Names",
              "name": "fileSearchStoreNames",
              "description": "The file search store names to use for the file search. File search stores are managed via Google AI Studio.",
              "type": "json",
              "default": "[]",
              "required": true
            },
            {
              "displayName": "Metadata Filter",
              "name": "metadataFilter",
              "type": "string",
              "default": "",
              "description": "Use metadata filter to search within a subset of documents. Example: author=\"Robert Graves\".",
              "placeholder": "e.g. author=\"John Doe\""
            }
          ]
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to execute code it generates to produce a response. Supported only by certain models."
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Merged Response",
          "name": "includeMergedResponse",
          "type": "boolean",
          "default": false,
          "description": "Whether to include a single output string merging all text parts of the response",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.1
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "System Message",
          "name": "systemMessage",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": false,
          "description": "Whether to allow the model to execute code it generates to produce a response. Supported only by certain models.",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "eq": 1
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Frequency Penalty",
          "name": "frequencyPenalty",
          "default": 0,
          "description": "Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim",
          "type": "number",
          "typeOptions": {
            "minValue": -2,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Maximum Number of Tokens",
          "name": "maxOutputTokens",
          "default": 16,
          "description": "The maximum number of tokens to generate in the completion",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Number of Completions",
          "name": "candidateCount",
          "default": 1,
          "description": "How many completions to generate for each prompt",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 8,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Presence Penalty",
          "name": "presencePenalty",
          "default": 0,
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics",
          "type": "number",
          "typeOptions": {
            "minValue": -2,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Temperature)",
          "name": "temperature",
          "default": 1,
          "description": "Controls the randomness of the output. Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top P)",
          "name": "topP",
          "default": 1,
          "description": "The maximum cumulative probability of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top K)",
          "name": "topK",
          "default": 1,
          "description": "The maximum number of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Thinking Budget",
          "name": "thinkingBudget",
          "type": "number",
          "default": -1,
          "description": "Controls reasoning tokens for thinking models. Set to 0 to disable automatic thinking. Set to -1 for dynamic thinking (default).",
          "typeOptions": {
            "minValue": -1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Max Tool Calls Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Video",
          "value": "analyze",
          "action": "Analyze video",
          "description": "Take in videos and answer questions about them"
        },
        {
          "name": "Generate a Video",
          "value": "generate",
          "action": "Generate a video",
          "description": "Creates a video from a text prompt"
        },
        {
          "name": "Download Video",
          "value": "download",
          "action": "Download a video",
          "description": "Download a generated video from the Google Gemini API using a URL"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this video?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Video URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "videoUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the video(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the video(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed video description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "The URL from Google Gemini API to download the video from",
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "videoGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text description of the desired video",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Return As",
      "name": "returnAs",
      "type": "options",
      "default": "video",
      "description": "Whether to return the video as a binary file or a URL that can be used to download the video later",
      "options": [
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "URL",
          "value": "url"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Number of Videos",
          "name": "sampleCount",
          "type": "number",
          "default": 1,
          "description": "How many videos to generate",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 4
          }
        },
        {
          "displayName": "Duration (Seconds)",
          "name": "durationSeconds",
          "type": "number",
          "default": 8,
          "description": "Length of the generated video in seconds. Supported only by certain models.",
          "typeOptions": {
            "minValue": 5,
            "maxValue": 8
          }
        },
        {
          "displayName": "Aspect Ratio",
          "name": "aspectRatio",
          "type": "options",
          "options": [
            {
              "name": "Widescreen (16:9)",
              "value": "16:9",
              "description": "Most common aspect ratio for televisions and monitors"
            },
            {
              "name": "Portrait (9:16)",
              "value": "9:16",
              "description": "Popular for short-form videos like YouTube Shorts"
            }
          ],
          "default": "16:9"
        },
        {
          "displayName": "Person Generation",
          "name": "personGeneration",
          "type": "options",
          "options": [
            {
              "name": "Don't Allow",
              "value": "dont_allow",
              "description": "Prevent generation of people in the video"
            },
            {
              "name": "Allow Adult",
              "value": "allow_adult",
              "description": "Allow generation of adult people in the video"
            },
            {
              "name": "Allow All",
              "value": "allow_all",
              "description": "Allow generation of all people in the video"
            }
          ],
          "default": "dont_allow"
        },
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "analyze",
      "name": "Analyze Audio",
      "description": "Take in audio and answer questions about it",
      "resource": "audio"
    },
    {
      "operation": "transcribe",
      "name": "Transcribe a Recording",
      "description": "Transcribes audio into the text",
      "resource": "audio"
    },
    {
      "operation": "analyze",
      "name": "Analyze Document",
      "description": "Take in documents and answer questions about them",
      "resource": "document"
    },
    {
      "operation": "upload",
      "name": "Upload Media File",
      "description": "Upload a file to the Google Gemini API for later use",
      "resource": "file"
    },
    {
      "operation": "createStore",
      "name": "Create File Search Store",
      "description": "Create a new File Search store for RAG (Retrieval Augmented Generation)",
      "resource": "fileSearch"
    },
    {
      "operation": "deleteStore",
      "name": "Delete File Search Store",
      "description": "Delete a File Search store",
      "resource": "fileSearch"
    },
    {
      "operation": "listStores",
      "name": "List File Search Stores",
      "description": "List all File Search stores owned by the user",
      "resource": "fileSearch"
    },
    {
      "operation": "uploadToStore",
      "name": "Upload to File Search Store",
      "description": "Upload a file to a File Search store for RAG (Retrieval Augmented Generation)",
      "resource": "fileSearch"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate an Image",
      "description": "Creates an image from a text prompt",
      "resource": "image"
    },
    {
      "operation": "edit",
      "name": "Edit Image",
      "description": "Upload one or more images and apply edits based on a prompt",
      "resource": "image"
    },
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with Google Gemini model",
      "resource": "text"
    },
    {
      "operation": "analyze",
      "name": "Analyze Video",
      "description": "Take in videos and answer questions about them",
      "resource": "video"
    },
    {
      "operation": "generate",
      "name": "Generate a Video",
      "description": "Creates a video from a text prompt",
      "resource": "video"
    },
    {
      "operation": "download",
      "name": "Download Video",
      "description": "Download a generated video from the Google Gemini API using a URL",
      "resource": "video"
    }
  ]


node_type: nodes-langchain.googleGemini
package_name: @n8n/n8n-nodes-langchain
display_name: Google Gemini
description: Interact with Google Gemini AI models
category: transform
development_style: programmatic
version: 1.2
credentials_required:
  [
  {
  "name": "googlePalmApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Audio",
          "value": "audio"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "File Search",
          "value": "fileSearch"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Media File",
          "value": "file"
        },
        {
          "name": "Text",
          "value": "text"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "transcribe",
      "options": [
        {
          "name": "Analyze Audio",
          "value": "analyze",
          "action": "Analyze audio",
          "description": "Take in audio and answer questions about it"
        },
        {
          "name": "Transcribe a Recording",
          "value": "transcribe",
          "action": "Transcribe a recording",
          "description": "Transcribes audio into the text"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "audioModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this audio?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Audio URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "audioUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the audio(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the audio(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed audio description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "audioModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Audio URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "audioUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the audio(s) to transcribe, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the audio(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Start Time",
          "name": "startTime",
          "type": "string",
          "default": "",
          "description": "The start time of the audio in MM:SS or HH:MM:SS format",
          "placeholder": "e.g. 00:15"
        },
        {
          "displayName": "End Time",
          "name": "endTime",
          "type": "string",
          "default": "",
          "description": "The end time of the audio in MM:SS or HH:MM:SS format",
          "placeholder": "e.g. 02:15"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "transcribe"
          ],
          "resource": [
            "audio"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyze",
      "options": [
        {
          "name": "Analyze Document",
          "value": "analyze",
          "action": "Analyze document",
          "description": "Take in documents and answer questions about them"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this document?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Document URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "documentUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the document(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the document(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed document description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload Media File",
          "value": "upload",
          "action": "Upload a media file",
          "description": "Upload a file to the Google Gemini API for later use"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "createStore",
      "options": [
        {
          "name": "Create File Search Store",
          "value": "createStore",
          "action": "Create a File Search store",
          "description": "Create a new File Search store for RAG (Retrieval Augmented Generation)"
        },
        {
          "name": "Delete File Search Store",
          "value": "deleteStore",
          "action": "Delete a File Search store",
          "description": "Delete a File Search store"
        },
        {
          "name": "List File Search Stores",
          "value": "listStores",
          "action": "List all File Search stores",
          "description": "List all File Search stores owned by the user"
        },
        {
          "name": "Upload to File Search Store",
          "value": "uploadToStore",
          "action": "Upload a file to a File Search store",
          "description": "Upload a file to a File Search store for RAG (Retrieval Augmented Generation)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "fileSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "description": "A human-readable name for the File Search store",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Search Store Name",
      "name": "fileSearchStoreName",
      "type": "string",
      "default": "",
      "description": "The full name of the File Search store to delete (format: fileSearchStores/...)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "deleteStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Force Delete",
      "name": "force",
      "type": "boolean",
      "default": false,
      "description": "Whether to delete related Documents and objects. If false, deletion will fail if the store contains any Documents.",
      "displayOptions": {
        "show": {
          "operation": [
            "deleteStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Page Size",
      "name": "pageSize",
      "type": "number",
      "default": 10,
      "description": "Maximum number of File Search stores to return per page (max 20)",
      "displayOptions": {
        "show": {
          "operation": [
            "listStores"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 20
      }
    },
    {
      "displayName": "Page Token",
      "name": "pageToken",
      "type": "string",
      "default": "",
      "description": "Token from a previous page to retrieve the next page of results",
      "displayOptions": {
        "show": {
          "operation": [
            "listStores"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Search Store Name",
      "name": "fileSearchStoreName",
      "type": "string",
      "default": "",
      "description": "The full name of the File Search store to upload to (format: fileSearchStores/...)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "File Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "description": "A human-readable name for the file (will be visible in citations)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "File URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "URL of the file to upload",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the file",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "uploadToStore"
          ],
          "resource": [
            "fileSearch"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Image",
          "value": "analyze",
          "action": "Analyze an image",
          "description": "Take in images and answer questions about them"
        },
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Creates an image from a text prompt"
        },
        {
          "name": "Edit Image",
          "value": "edit",
          "action": "Edit an image",
          "description": "Upload one or more images and apply edits based on a prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this image?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Image URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "imageUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the image(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the image(s), separate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed image description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageEditModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "Instruction describing how to edit the image",
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Images",
      "name": "images",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "binaryPropertyName": "data"
          }
        ]
      },
      "description": "Add one or more binary fields to include images with your prompt",
      "options": [
        {
          "displayName": "Image",
          "name": "values",
          "values": [
            {
              "displayName": "Binary Field Name",
              "name": "binaryPropertyName",
              "type": "string",
              "default": "data",
              "placeholder": "e.g. data",
              "description": "The name of the binary field containing the image data"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Image"
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "edited",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 1.2
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": "models/gemini-3.1-flash-image-preview"
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.2
              }
            }
          ],
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "imageGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text description of the desired image(s)",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Number of Images",
          "name": "sampleCount",
          "default": 1,
          "description": "Number of images to generate",
          "type": "number",
          "displayOptions": {
            "show": {
              "/modelId": [
                {
                  "_cnd": {
                    "includes": "imagen"
                  }
                }
              ]
            }
          },
          "typeOptions": {
            "minValue": 1
          }
        },
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Create a completion with Google Gemini model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 1.2
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": "models/gemini-3-flash-preview"
      },
      "required": true,
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.2
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": ""
          }
        ]
      },
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be send",
              "default": "",
              "placeholder": "e.g. Hello, how can you help me?",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Model",
                  "value": "model",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Output Content as JSON",
      "name": "jsonOutput",
      "type": "boolean",
      "default": false,
      "description": "Whether to attempt to return the response in JSON format",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Built-in Tools",
      "name": "builtInTools",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Google Search",
          "name": "googleSearch",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to search the web using Google Search to get real-time information"
        },
        {
          "displayName": "Google Maps",
          "name": "googleMaps",
          "type": "collection",
          "default": {
            "latitude": "",
            "longitude": ""
          },
          "options": [
            {
              "displayName": "Latitude",
              "name": "latitude",
              "type": "number",
              "default": "",
              "description": "The latitude coordinate for location-based queries",
              "typeOptions": {
                "numberPrecision": 6
              }
            },
            {
              "displayName": "Longitude",
              "name": "longitude",
              "type": "number",
              "default": "",
              "description": "The longitude coordinate for location-based queries",
              "typeOptions": {
                "numberPrecision": 6
              }
            }
          ]
        },
        {
          "displayName": "URL Context",
          "name": "urlContext",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to read and analyze content from specific URLs"
        },
        {
          "displayName": "File Search",
          "name": "fileSearch",
          "type": "collection",
          "default": {
            "fileSearchStoreNames": "[]"
          },
          "options": [
            {
              "displayName": "File Search Store Names",
              "name": "fileSearchStoreNames",
              "description": "The file search store names to use for the file search. File search stores are managed via Google AI Studio.",
              "type": "json",
              "default": "[]",
              "required": true
            },
            {
              "displayName": "Metadata Filter",
              "name": "metadataFilter",
              "type": "string",
              "default": "",
              "description": "Use metadata filter to search within a subset of documents. Example: author=\"Robert Graves\".",
              "placeholder": "e.g. author=\"John Doe\""
            }
          ]
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": true,
          "description": "Whether to allow the model to execute code it generates to produce a response. Supported only by certain models."
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ],
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Merged Response",
          "name": "includeMergedResponse",
          "type": "boolean",
          "default": false,
          "description": "Whether to include a single output string merging all text parts of the response",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.1
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "System Message",
          "name": "systemMessage",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        },
        {
          "displayName": "Code Execution",
          "name": "codeExecution",
          "type": "boolean",
          "default": false,
          "description": "Whether to allow the model to execute code it generates to produce a response. Supported only by certain models.",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "eq": 1
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Frequency Penalty",
          "name": "frequencyPenalty",
          "default": 0,
          "description": "Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim",
          "type": "number",
          "typeOptions": {
            "minValue": -2,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Maximum Number of Tokens",
          "name": "maxOutputTokens",
          "default": 16,
          "description": "The maximum number of tokens to generate in the completion",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Number of Completions",
          "name": "candidateCount",
          "default": 1,
          "description": "How many completions to generate for each prompt",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 8,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Presence Penalty",
          "name": "presencePenalty",
          "default": 0,
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics",
          "type": "number",
          "typeOptions": {
            "minValue": -2,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Temperature)",
          "name": "temperature",
          "default": 1,
          "description": "Controls the randomness of the output. Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 2,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top P)",
          "name": "topP",
          "default": 1,
          "description": "The maximum cumulative probability of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top K)",
          "name": "topK",
          "default": 1,
          "description": "The maximum number of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Thinking Budget",
          "name": "thinkingBudget",
          "type": "number",
          "default": -1,
          "description": "Controls reasoning tokens for thinking models. Set to 0 to disable automatic thinking. Set to -1 for dynamic thinking (default).",
          "typeOptions": {
            "minValue": -1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Max Tool Calls Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Analyze Video",
          "value": "analyze",
          "action": "Analyze video",
          "description": "Take in videos and answer questions about them"
        },
        {
          "name": "Generate a Video",
          "value": "generate",
          "action": "Generate a video",
          "description": "Creates a video from a text prompt"
        },
        {
          "name": "Download Video",
          "value": "download",
          "action": "Download a video",
          "description": "Download a generated video from the Google Gemini API using a URL"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "modelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Text Input",
      "name": "text",
      "type": "string",
      "default": "What's in this video?",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Input Type",
      "name": "inputType",
      "type": "options",
      "default": "url",
      "options": [
        {
          "name": "Video URL(s)",
          "value": "url"
        },
        {
          "name": "Binary File(s)",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "URL(s)",
      "name": "videoUrls",
      "type": "string",
      "default": "",
      "description": "URL(s) of the video(s) to analyze, multiple URLs can be added separated by comma",
      "displayOptions": {
        "show": {
          "inputType": [
            "url"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name(s)",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary field(s) which contains the video(s), seperate multiple field names with commas",
      "displayOptions": {
        "show": {
          "inputType": [
            "binary"
          ],
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to simplify the response or not",
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Length of Description (Max Tokens)",
          "description": "Fewer tokens will result in shorter, less detailed video description",
          "name": "maxOutputTokens",
          "type": "number",
          "default": 300,
          "typeOptions": {
            "minValue": 1
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyze"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "The URL from Google Gemini API to download the video from",
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "operation",
          "resource"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "videoGenerationModelSearch",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. models/gemini-2.5-flash"
        }
      ]
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "A text description of the desired video",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Return As",
      "name": "returnAs",
      "type": "options",
      "default": "video",
      "description": "Whether to return the video as a binary file or a URL that can be used to download the video later",
      "options": [
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "URL",
          "value": "url"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Number of Videos",
          "name": "sampleCount",
          "type": "number",
          "default": 1,
          "description": "How many videos to generate",
          "typeOptions": {
            "minValue": 1,
            "maxValue": 4
          }
        },
        {
          "displayName": "Duration (Seconds)",
          "name": "durationSeconds",
          "type": "number",
          "default": 8,
          "description": "Length of the generated video in seconds. Supported only by certain models.",
          "typeOptions": {
            "minValue": 5,
            "maxValue": 8
          }
        },
        {
          "displayName": "Aspect Ratio",
          "name": "aspectRatio",
          "type": "options",
          "options": [
            {
              "name": "Widescreen (16:9)",
              "value": "16:9",
              "description": "Most common aspect ratio for televisions and monitors"
            },
            {
              "name": "Portrait (9:16)",
              "value": "9:16",
              "description": "Popular for short-form videos like YouTube Shorts"
            }
          ],
          "default": "16:9"
        },
        {
          "displayName": "Person Generation",
          "name": "personGeneration",
          "type": "options",
          "options": [
            {
              "name": "Don't Allow",
              "value": "dont_allow",
              "description": "Prevent generation of people in the video"
            },
            {
              "name": "Allow Adult",
              "value": "allow_adult",
              "description": "Allow generation of adult people in the video"
            },
            {
              "name": "Allow All",
              "value": "allow_all",
              "description": "Allow generation of all people in the video"
            }
          ],
          "default": "dont_allow"
        },
        {
          "displayName": "Put Output in Field",
          "name": "binaryPropertyOutput",
          "type": "string",
          "default": "data",
          "hint": "The name of the output field to put the binary file data in"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "analyze",
      "name": "Analyze Audio",
      "description": "Take in audio and answer questions about it",
      "resource": "audio"
    },
    {
      "operation": "transcribe",
      "name": "Transcribe a Recording",
      "description": "Transcribes audio into the text",
      "resource": "audio"
    },
    {
      "operation": "analyze",
      "name": "Analyze Document",
      "description": "Take in documents and answer questions about them",
      "resource": "document"
    },
    {
      "operation": "upload",
      "name": "Upload Media File",
      "description": "Upload a file to the Google Gemini API for later use",
      "resource": "file"
    },
    {
      "operation": "createStore",
      "name": "Create File Search Store",
      "description": "Create a new File Search store for RAG (Retrieval Augmented Generation)",
      "resource": "fileSearch"
    },
    {
      "operation": "deleteStore",
      "name": "Delete File Search Store",
      "description": "Delete a File Search store",
      "resource": "fileSearch"
    },
    {
      "operation": "listStores",
      "name": "List File Search Stores",
      "description": "List all File Search stores owned by the user",
      "resource": "fileSearch"
    },
    {
      "operation": "uploadToStore",
      "name": "Upload to File Search Store",
      "description": "Upload a file to a File Search store for RAG (Retrieval Augmented Generation)",
      "resource": "fileSearch"
    },
    {
      "operation": "analyze",
      "name": "Analyze Image",
      "description": "Take in images and answer questions about them",
      "resource": "image"
    },
    {
      "operation": "generate",
      "name": "Generate an Image",
      "description": "Creates an image from a text prompt",
      "resource": "image"
    },
    {
      "operation": "edit",
      "name": "Edit Image",
      "description": "Upload one or more images and apply edits based on a prompt",
      "resource": "image"
    },
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Create a completion with Google Gemini model",
      "resource": "text"
    },
    {
      "operation": "analyze",
      "name": "Analyze Video",
      "description": "Take in videos and answer questions about them",
      "resource": "video"
    },
    {
      "operation": "generate",
      "name": "Generate a Video",
      "description": "Creates a video from a text prompt",
      "resource": "video"
    },
    {
      "operation": "download",
      "name": "Download Video",
      "description": "Download a generated video from the Google Gemini API using a URL",
      "resource": "video"
    }
  ]


node_type: nodes-langchain.minimaxTool
package_name: @n8n/n8n-nodes-langchain
display_name: MiniMax Tool
description: Interact with MiniMax AI models (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "minimaxApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-langchain.minimax
properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with MiniMax"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Audio",
          "value": "audio"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Text",
          "value": "text"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "textToSpeech",
      "options": [
        {
          "name": "Text to Speech",
          "value": "textToSpeech",
          "action": "Convert text to speech",
          "description": "Generate speech audio from text input"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "speech-2.8-hd",
      "description": "The speech synthesis model to use",
      "options": [
        {
          "name": "Speech 02 HD",
          "value": "speech-02-hd",
          "description": "Superior rhythm and stability with outstanding quality"
        },
        {
          "name": "Speech 02 Turbo",
          "value": "speech-02-turbo",
          "description": "Enhanced multilingual capabilities and performance"
        },
        {
          "name": "Speech 2.6 HD",
          "value": "speech-2.6-hd",
          "description": "HD model with outstanding prosody and cloning similarity"
        },
        {
          "name": "Speech 2.6 Turbo",
          "value": "speech-2.6-turbo",
          "description": "Turbo model with support for 40 languages"
        },
        {
          "name": "Speech 2.8 HD",
          "value": "speech-2.8-hd",
          "description": "Latest HD model with ultra-realistic quality and sound tags"
        },
        {
          "name": "Speech 2.8 Turbo",
          "value": "speech-2.8-turbo",
          "description": "Latest Turbo model with seamless speed and natural flow"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ],
          "operation": [
            "textToSpeech"
          ]
        }
      }
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The text to convert to speech (max 10,000 characters)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ],
          "operation": [
            "textToSpeech"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Voice ID",
      "name": "voiceId",
      "type": "string",
      "default": "English_Graceful_Lady",
      "description": "Voice ID to use for speech synthesis. Browse available voices in the <a href=\"https://platform.minimax.io/docs/faq/system-voice-id\">MiniMax documentation</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ],
          "operation": [
            "textToSpeech"
          ]
        }
      }
    },
    {
      "displayName": "Download Audio",
      "name": "downloadAudio",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated audio as binary data. When disabled, only the audio URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ],
          "operation": [
            "textToSpeech"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Audio Format",
          "name": "audioFormat",
          "type": "options",
          "options": [
            {
              "name": "MP3",
              "value": "mp3"
            },
            {
              "name": "PCM",
              "value": "pcm"
            },
            {
              "name": "FLAC",
              "value": "flac"
            },
            {
              "name": "WAV",
              "value": "wav"
            }
          ],
          "default": "mp3",
          "description": "Output audio format. WAV is only supported in non-streaming mode."
        },
        {
          "displayName": "Emotion",
          "name": "emotion",
          "type": "options",
          "options": [
            {
              "name": "Angry",
              "value": "angry"
            },
            {
              "name": "Calm",
              "value": "calm"
            },
            {
              "name": "Disgusted",
              "value": "disgusted"
            },
            {
              "name": "Fearful",
              "value": "fearful"
            },
            {
              "name": "Happy",
              "value": "happy"
            },
            {
              "name": "Sad",
              "value": "sad"
            },
            {
              "name": "Surprised",
              "value": "surprised"
            }
          ],
          "default": "calm",
          "description": "Emotion for synthesized speech. By default the model auto-selects the most natural emotion."
        },
        {
          "displayName": "Language Boost",
          "name": "languageBoost",
          "type": "options",
          "options": [
            {
              "name": "Arabic",
              "value": "Arabic"
            },
            {
              "name": "Auto Detect",
              "value": "auto"
            },
            {
              "name": "Chinese",
              "value": "Chinese"
            },
            {
              "name": "English",
              "value": "English"
            },
            {
              "name": "French",
              "value": "French"
            },
            {
              "name": "German",
              "value": "German"
            },
            {
              "name": "Indonesian",
              "value": "Indonesian"
            },
            {
              "name": "Italian",
              "value": "Italian"
            },
            {
              "name": "Japanese",
              "value": "Japanese"
            },
            {
              "name": "Korean",
              "value": "Korean"
            },
            {
              "name": "Portuguese",
              "value": "Portuguese"
            },
            {
              "name": "Russian",
              "value": "Russian"
            },
            {
              "name": "Spanish",
              "value": "Spanish"
            },
            {
              "name": "Thai",
              "value": "Thai"
            },
            {
              "name": "Turkish",
              "value": "Turkish"
            },
            {
              "name": "Vietnamese",
              "value": "Vietnamese"
            }
          ],
          "default": "auto",
          "description": "Enhance recognition for a specific language"
        },
        {
          "displayName": "Pitch",
          "name": "pitch",
          "type": "number",
          "typeOptions": {
            "minValue": -12,
            "maxValue": 12
          },
          "default": 0,
          "description": "Speech pitch adjustment (-12 to 12, 0 = original pitch)"
        },
        {
          "displayName": "Speed",
          "name": "speed",
          "type": "number",
          "typeOptions": {
            "minValue": 0.5,
            "maxValue": 2,
            "numberPrecision": 1
          },
          "default": 1,
          "description": "Speech speed (0.5-2, higher = faster)"
        },
        {
          "displayName": "Volume",
          "name": "volume",
          "type": "number",
          "typeOptions": {
            "minValue": 0.1,
            "maxValue": 10,
            "numberPrecision": 1
          },
          "default": 1,
          "description": "Speech volume (0.1-10, higher = louder)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ],
          "operation": [
            "textToSpeech"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Create an image from a text prompt"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "image-01",
      "description": "The model to use for image generation",
      "options": [
        {
          "name": "Image-01",
          "value": "image-01",
          "description": "High-quality image generation with fine-grained details"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "Text description of the image to generate (max 1500 characters)",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Aspect Ratio",
      "name": "aspectRatio",
      "type": "options",
      "default": "1:1",
      "description": "Aspect ratio of the generated image",
      "options": [
        {
          "name": "1:1 (1024x1024)",
          "value": "1:1"
        },
        {
          "name": "16:9 (1280x720)",
          "value": "16:9"
        },
        {
          "name": "2:3 (832x1248)",
          "value": "2:3"
        },
        {
          "name": "21:9 (1344x576)",
          "value": "21:9"
        },
        {
          "name": "3:2 (1248x832)",
          "value": "3:2"
        },
        {
          "name": "3:4 (864x1152)",
          "value": "3:4"
        },
        {
          "name": "4:3 (1152x864)",
          "value": "4:3"
        },
        {
          "name": "9:16 (720x1280)",
          "value": "9:16"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Number of Images",
      "name": "numberOfImages",
      "type": "number",
      "default": 1,
      "description": "Number of images to generate per request (1-9)",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 9
      }
    },
    {
      "displayName": "Download Image",
      "name": "downloadImage",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated image as binary data. When disabled, only the image URL is returned.",
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Optimizer",
          "name": "promptOptimizer",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically optimize the prompt for better results"
        },
        {
          "displayName": "Seed",
          "name": "seed",
          "type": "number",
          "default": 0,
          "description": "Random seed for reproducible outputs. Using the same seed and parameters produces the same image."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "generate"
          ],
          "resource": [
            "image"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message a Model",
          "value": "message",
          "action": "Message a model",
          "description": "Send a message and get a response from a MiniMax model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "MiniMax-M2.7",
      "description": "The model to use for generating the response",
      "options": [
        {
          "name": "MiniMax-M2",
          "value": "MiniMax-M2"
        },
        {
          "name": "MiniMax-M2.1",
          "value": "MiniMax-M2.1"
        },
        {
          "name": "MiniMax-M2.1-Highspeed",
          "value": "MiniMax-M2.1-highspeed"
        },
        {
          "name": "MiniMax-M2.5",
          "value": "MiniMax-M2.5"
        },
        {
          "name": "MiniMax-M2.5-Highspeed",
          "value": "MiniMax-M2.5-highspeed"
        },
        {
          "name": "MiniMax-M2.7",
          "value": "MiniMax-M2.7"
        },
        {
          "name": "MiniMax-M2.7-Highspeed",
          "value": "MiniMax-M2.7-highspeed"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Messages",
      "name": "messages",
      "type": "fixedCollection",
      "default": {
        "values": [
          {
            "content": "",
            "role": "user"
          }
        ]
      },
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Prompt",
              "name": "content",
              "type": "string",
              "description": "The content of the message to be sent",
              "default": "",
              "placeholder": "e.g. Hello, how can you help me?",
              "typeOptions": {
                "rows": 2
              }
            },
            {
              "displayName": "Role",
              "name": "role",
              "type": "options",
              "description": "Role in shaping the model's response, it tells the model how it should behave and interact with the user",
              "options": [
                {
                  "name": "User",
                  "value": "user",
                  "description": "Send a message as a user and get a response from the model"
                },
                {
                  "name": "Assistant",
                  "value": "assistant",
                  "description": "Tell the model to adopt a specific tone or personality"
                }
              ],
              "default": "user"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      },
      "typeOptions": {
        "sortable": true,
        "multipleValues": true
      }
    },
    {
      "displayName": "Simplify Output",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Hide Thinking",
          "name": "hideThinking",
          "type": "boolean",
          "default": true,
          "description": "Whether to strip chain-of-thought reasoning from the response, returning only the final answer"
        },
        {
          "displayName": "Maximum Number of Tokens",
          "name": "maxTokens",
          "default": 1024,
          "description": "The maximum number of tokens to generate in the completion",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Max Tool Calls Iterations",
          "name": "maxToolsIterations",
          "type": "number",
          "default": 15,
          "description": "The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit.",
          "typeOptions": {
            "minValue": 0,
            "numberPrecision": 0
          }
        },
        {
          "displayName": "Output Randomness (Temperature)",
          "name": "temperature",
          "default": 0.7,
          "description": "Controls the randomness of the output. Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 1
          }
        },
        {
          "displayName": "Output Randomness (Top P)",
          "name": "topP",
          "default": 0.95,
          "description": "The maximum cumulative probability of tokens to consider when sampling",
          "type": "number",
          "typeOptions": {
            "minValue": 0,
            "maxValue": 1,
            "numberPrecision": 2
          }
        },
        {
          "displayName": "System Message",
          "name": "system",
          "type": "string",
          "default": "",
          "placeholder": "e.g. You are a helpful assistant"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "message"
          ],
          "resource": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "textToVideo",
      "options": [
        {
          "name": "Generate Video From Text",
          "value": "textToVideo",
          "action": "Generate video from text prompt",
          "description": "Generate a video from a text prompt"
        },
        {
          "name": "Generate Video From Image",
          "value": "imageToVideo",
          "action": "Generate video from image",
          "description": "Generate a video from an image, with optional last frame and subject reference"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "MiniMax-Hailuo-2.3",
      "description": "The model to use for video generation",
      "options": [
        {
          "name": "MiniMax-Hailuo-2.3",
          "value": "MiniMax-Hailuo-2.3",
          "description": "Latest video generation model with enhanced realism"
        },
        {
          "name": "MiniMax-Hailuo-02",
          "value": "MiniMax-Hailuo-02",
          "description": "Video model supporting higher resolution and longer duration"
        },
        {
          "name": "T2V-01-Director",
          "value": "T2V-01-Director",
          "description": "Text-to-video model with camera control commands"
        },
        {
          "name": "T2V-01",
          "value": "T2V-01",
          "description": "Standard text-to-video model"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "Text description of the video (max 2000 characters). Camera movements can be controlled using [command] syntax, e.g. [Push in], [Pan left].",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "options",
      "default": 6,
      "description": "Duration of the generated video",
      "options": [
        {
          "name": "6 Seconds",
          "value": 6
        },
        {
          "name": "10 Seconds",
          "value": 10
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "768P",
      "description": "Resolution of the generated video. Available options depend on the model.",
      "options": [
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "768P",
          "value": "768P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Optimizer",
          "name": "promptOptimizer",
          "type": "boolean",
          "default": true,
          "description": "Whether to automatically optimize the prompt for better results"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "textToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Model",
      "name": "modelId",
      "type": "options",
      "default": "MiniMax-Hailuo-2.3",
      "description": "The model to use for video generation",
      "options": [
        {
          "name": "I2V-01",
          "value": "I2V-01",
          "description": "Standard image-to-video model"
        },
        {
          "name": "I2V-01-Director",
          "value": "I2V-01-Director",
          "description": "Image-to-video with camera control commands"
        },
        {
          "name": "I2V-01-Live",
          "value": "I2V-01-live",
          "description": "Image-to-video live model"
        },
        {
          "name": "MiniMax-Hailuo-02",
          "value": "MiniMax-Hailuo-02",
          "description": "Model supporting higher resolution and longer duration"
        },
        {
          "name": "MiniMax-Hailuo-2.3",
          "value": "MiniMax-Hailuo-2.3",
          "description": "Latest model with enhanced realism"
        },
        {
          "name": "MiniMax-Hailuo-2.3-Fast",
          "value": "MiniMax-Hailuo-2.3-Fast",
          "description": "Faster image-to-video model for value and efficiency"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Image Input Type",
      "name": "imageInputType",
      "type": "options",
      "default": "url",
      "description": "How to provide the first frame image",
      "options": [
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "Binary File",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Image URL",
      "name": "imageUrl",
      "type": "string",
      "default": "",
      "description": "Public URL of the image to use as first frame (JPG, JPEG, PNG, WebP, <20MB)",
      "required": true,
      "displayOptions": {
        "show": {
          "imageInputType": [
            "url"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Input Data Field Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "imageInputType": [
            "binary"
          ],
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "binaryDataProperty": true
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "Optional text description of the video (max 2000 characters). Camera movements can be controlled using [command] syntax.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Duration (Seconds)",
      "name": "duration",
      "type": "options",
      "default": 6,
      "description": "Duration of the generated video",
      "options": [
        {
          "name": "6 Seconds",
          "value": 6
        },
        {
          "name": "10 Seconds",
          "value": 10
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Resolution",
      "name": "resolution",
      "type": "options",
      "default": "768P",
      "description": "Resolution of the generated video. Available options depend on the model.",
      "options": [
        {
          "name": "512P",
          "value": "512P"
        },
        {
          "name": "720P",
          "value": "720P"
        },
        {
          "name": "768P",
          "value": "768P"
        },
        {
          "name": "1080P",
          "value": "1080P"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Download Video",
      "name": "downloadVideo",
      "type": "boolean",
      "default": true,
      "description": "Whether to download the generated video as binary data. When disabled, only the video URL is returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Prompt Optimizer",
          "name": "promptOptimizer",
          "type": "boolean",
          "default": true,
          "description": "Whether to automatically optimize the prompt"
        },
        {
          "displayName": "Last Frame Image Input Type",
          "name": "lastFrameInputType",
          "type": "options",
          "options": [
            {
              "name": "None",
              "value": "none"
            },
            {
              "name": "URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "none",
          "description": "Provide a last frame image to generate a first-and-last-frame video. Only supported by MiniMax-Hailuo-2.3 and MiniMax-Hailuo-02."
        },
        {
          "displayName": "Last Frame Image URL",
          "name": "lastFrameImageUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/last-frame.jpg",
          "displayOptions": {
            "show": {
              "lastFrameInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Last Frame Data Field Name",
          "name": "lastFrameBinaryPropertyName",
          "type": "string",
          "default": "lastFrame",
          "placeholder": "e.g. lastFrame",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "lastFrameInputType": [
                "binary"
              ]
            }
          }
        },
        {
          "displayName": "Subject Reference Input Type",
          "name": "subjectReferenceInputType",
          "type": "options",
          "options": [
            {
              "name": "None",
              "value": "none"
            },
            {
              "name": "URL",
              "value": "url"
            },
            {
              "name": "Binary File",
              "value": "binary"
            }
          ],
          "default": "none",
          "description": "Provide a face photo for facial consistency in the generated video. Only supported by MiniMax-Hailuo-2.3."
        },
        {
          "displayName": "Subject Reference Image URL",
          "name": "subjectReferenceImageUrl",
          "type": "string",
          "default": "",
          "placeholder": "https://example.com/face.jpg",
          "displayOptions": {
            "show": {
              "subjectReferenceInputType": [
                "url"
              ]
            }
          }
        },
        {
          "displayName": "Subject Reference Data Field Name",
          "name": "subjectReferenceBinaryPropertyName",
          "type": "string",
          "default": "subjectReference",
          "placeholder": "e.g. subjectReference",
          "typeOptions": {
            "binaryDataProperty": true
          },
          "displayOptions": {
            "show": {
              "subjectReferenceInputType": [
                "binary"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ],
          "operation": [
            "imageToVideo"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "textToSpeech",
      "name": "Text to Speech",
      "description": "Generate speech audio from text input",
      "resource": "audio"
    },
    {
      "operation": "generate",
      "name": "Generate an Image",
      "description": "Create an image from a text prompt",
      "resource": "image"
    },
    {
      "operation": "message",
      "name": "Message a Model",
      "description": "Send a message and get a response from a MiniMax model",
      "resource": "text"
    },
    {
      "operation": "textToVideo",
      "name": "Generate Video From Text",
      "description": "Generate a video from a text prompt",
      "resource": "video"
    },
    {
      "operation": "imageToVideo",
      "name": "Generate Video From Image",
      "description": "Generate a video from an image, with optional last frame and subject reference",
      "resource": "video"
    }
  ]


