@thaleslaray/n8n-nodes-elevenlabs
Version:
Nó n8n para integração com a API da ElevenLabs incluindo Speech-to-Text, Text-to-Speech e Conversational AI
273 lines (272 loc) • 9.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.nodeDescription = void 0;
const ElevenLabsTextToSpeech_node_1 = require("./Core/ElevenLabsTextToSpeech.node");
const ElevenLabsSpeechToText_node_1 = require("./Core/ElevenLabsSpeechToText.node");
const ElevenLabsSpeechToSpeech_node_1 = require("./Core/Audio/ElevenLabsSpeechToSpeech.node");
const ElevenLabsSoundEffects_node_1 = require("./Core/Audio/ElevenLabsSoundEffects.node");
const ElevenLabsVoiceChanger_node_1 = require("./Core/Audio/ElevenLabsVoiceChanger.node");
const ElevenLabsKnowledgeBase_node_1 = require("./ConversationalAI/ElevenLabsKnowledgeBase.node");
const ElevenLabsAgents_node_1 = require("./ConversationalAI/ElevenLabsAgents.node");
exports.nodeDescription = {
displayName: 'ElevenLabs',
name: 'elevenLabs',
icon: 'file:elevenlabs.svg',
group: ['output'],
version: 1,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
description: 'Interagir com a API da ElevenLabs',
defaults: {
name: 'ElevenLabs',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'elevenLabsApi',
required: true,
},
],
requestDefaults: {
baseURL: 'https://api.elevenlabs.io/v1',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
},
properties: [
{
displayName: 'Recurso',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{
name: 'Texto para Voz',
value: 'textToSpeech',
},
{
name: 'Voz para Texto',
value: 'speechToText',
},
{
name: 'Voz para Voz',
value: 'speechToSpeech',
},
{
name: 'Alterador de Voz',
value: 'voiceChanger',
},
{
name: 'Efeitos Sonoros',
value: 'soundEffects',
},
{
name: 'Base de Conhecimento',
value: 'knowledgeBase',
},
{
name: 'Agentes de IA',
value: 'agents',
},
],
default: 'textToSpeech',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['textToSpeech'],
},
},
options: [
{
name: 'Converter Texto em Voz',
value: 'convertText',
action: 'Convert text to speech',
description: 'Converter texto em fala usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsTextToSpeech_node_1.ElevenLabsTextToSpeech.name,
},
},
},
},
],
default: 'convertText',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['speechToText'],
},
},
options: [
{
name: 'Transcrever Áudio',
value: 'transcribeAudio',
action: 'Transcribe audio to text',
description: 'Converter áudio em texto usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsSpeechToText_node_1.ElevenLabsSpeechToText.name,
},
},
},
},
],
default: 'transcribeAudio',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['soundEffects'],
},
},
options: [
{
name: 'Adicionar Efeitos Sonoros',
value: 'addEffects',
action: 'Add sound effects to audio',
description: 'Adicionar efeitos sonoros ao áudio usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsSoundEffects_node_1.ElevenLabsSoundEffects.name,
},
},
},
},
],
default: 'addEffects',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['speechToSpeech'],
},
},
options: [
{
name: 'Converter Voz',
value: 'convertSpeech',
action: 'Convert speech from one voice to another',
description: 'Converter áudio de uma voz para outra usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsSpeechToSpeech_node_1.ElevenLabsSpeechToSpeech.name,
},
},
},
},
],
default: 'convertSpeech',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['voiceChanger'],
},
},
options: [
{
name: 'Alterar Voz',
value: 'changeVoice',
action: 'Change voice characteristics',
description: 'Modificar características de uma voz em um áudio usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsVoiceChanger_node_1.ElevenLabsVoiceChanger.name,
},
},
},
},
],
default: 'changeVoice',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['knowledgeBase'],
},
},
options: [
{
name: 'Consultar Base de Conhecimento',
value: 'queryKnowledgeBase',
action: 'Query knowledge base',
description: 'Consultar uma base de conhecimento usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsKnowledgeBase_node_1.ElevenLabsKnowledgeBase.name,
},
},
},
},
],
default: 'queryKnowledgeBase',
},
{
displayName: 'Operação',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['agents'],
},
},
options: [
{
name: 'Interagir com Agente',
value: 'interactWithAgent',
action: 'Interact with conversational AI agent',
description: 'Interagir com um agente de IA conversacional usando a API ElevenLabs',
routing: {
request: {
skipNodeCalling: true,
output: {
nodeType: ElevenLabsAgents_node_1.ElevenLabsAgents.name,
},
},
},
},
],
default: 'interactWithAgent',
},
],
};