@n8n/n8n-nodes-langchain 2.16.0 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/credentials/MoonshotApi.credentials.d.ts +9 -0
- package/dist/credentials/MoonshotApi.credentials.js +60 -0
- package/dist/credentials/MoonshotApi.credentials.js.map +1 -0
- package/dist/known/credentials.json +9 -0
- package/dist/known/nodes.json +12 -0
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/node-definitions/index.ts +12 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/index.ts +12 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/index.schema.js +22 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/index.ts +15 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/operation_analyze.schema.js +34 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/operation_analyze.ts +71 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/operation_generate.schema.js +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/operation_generate.ts +60 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_text/index.schema.js +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_text/index.ts +10 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_text/operation_message.schema.js +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_text/operation_message.ts +97 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/index.schema.js +22 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/index.ts +15 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/operation_image_to_video.schema.js +38 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/operation_image_to_video.ts +105 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/operation_text_to_video.schema.js +35 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_video/operation_text_to_video.ts +88 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatMoonshot/index.ts +12 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatMoonshot/v1.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatMoonshot/v1.ts +68 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/index.ts +12 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/index.schema.js +22 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/index.ts +15 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_image/index.schema.js +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_image/index.ts +10 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_image/operation_analyze.schema.js +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_image/operation_analyze.ts +58 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_text/index.schema.js +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_text/index.ts +10 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_text/operation_message.schema.js +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/moonshot/v1/resource_text/operation_message.ts +114 -0
- package/dist/nodes/Guardrails/Guardrails.node.js +2 -1
- package/dist/nodes/Guardrails/Guardrails.node.js.map +1 -1
- package/dist/nodes/ModelSelector/ModelSelector.node.js +2 -2
- package/dist/nodes/ModelSelector/ModelSelector.node.js.map +1 -1
- package/dist/nodes/agents/Agent/Agent.node.js +1 -1
- package/dist/nodes/agents/Agent/Agent.node.js.map +1 -1
- package/dist/nodes/agents/Agent/V1/AgentV1.node.js +2 -0
- package/dist/nodes/agents/Agent/V1/AgentV1.node.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/runAgent.js +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/runAgent.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js +1 -2
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js.map +1 -1
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js +1 -2
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js +1 -1
- package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js +1 -1
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js.map +1 -1
- package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js +1 -1
- package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js.map +1 -1
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js +1 -1
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js +2 -1
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js.map +1 -1
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.d.ts +1 -0
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.js +22 -10
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.js.map +1 -1
- package/dist/nodes/llms/LmChatMoonshot/LmChatMoonshot.node.d.ts +5 -0
- package/dist/nodes/llms/LmChatMoonshot/LmChatMoonshot.node.js +226 -0
- package/dist/nodes/llms/LmChatMoonshot/LmChatMoonshot.node.js.map +1 -0
- package/dist/nodes/llms/LmChatMoonshot/moonshot.dark.svg +4 -0
- package/dist/nodes/llms/LmChatMoonshot/moonshot.svg +4 -0
- package/dist/nodes/mcp/McpClient/McpClient.node.js +64 -59
- package/dist/nodes/mcp/McpClient/McpClient.node.js.map +1 -1
- package/dist/nodes/mcp/McpClient/listSearch.js +18 -13
- package/dist/nodes/mcp/McpClient/listSearch.js.map +1 -1
- package/dist/nodes/mcp/McpClient/resourceMapping.js +13 -8
- package/dist/nodes/mcp/McpClient/resourceMapping.js.map +1 -1
- package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js +74 -41
- package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js.map +1 -1
- package/dist/nodes/mcp/McpClientTool/loadOptions.js +12 -7
- package/dist/nodes/mcp/McpClientTool/loadOptions.js.map +1 -1
- package/dist/nodes/mcp/McpClientTool/utils.d.ts +2 -1
- package/dist/nodes/mcp/McpClientTool/utils.js +20 -1
- package/dist/nodes/mcp/McpClientTool/utils.js.map +1 -1
- package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js +1 -1
- package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js.map +1 -1
- package/dist/nodes/memory/MemoryManager/MemoryManager.node.js +1 -1
- package/dist/nodes/memory/MemoryManager/MemoryManager.node.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js +1 -1
- package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js +1 -1
- package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js +1 -1
- package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js +1 -1
- package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js +1 -1
- package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js +1 -1
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js +1 -1
- package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js +1 -1
- package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js +1 -1
- package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js.map +1 -1
- package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js +1 -1
- package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js.map +1 -1
- package/dist/nodes/tools/ToolThink/ToolThink.node.js +1 -1
- package/dist/nodes/tools/ToolThink/ToolThink.node.js.map +1 -1
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js +1 -1
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js +1 -1
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/Chat.node.js +1 -1
- package/dist/nodes/trigger/ChatTrigger/Chat.node.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js +5 -2
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js +1 -1
- package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js.map +1 -1
- package/dist/nodes/vendors/AlibabaCloud/AlibabaCloud.node.d.ts +5 -0
- package/dist/nodes/vendors/AlibabaCloud/AlibabaCloud.node.js +15 -0
- package/dist/nodes/vendors/AlibabaCloud/AlibabaCloud.node.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/analyze.operation.d.ts +29 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/analyze.operation.js +188 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/analyze.operation.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/generate.operation.d.ts +29 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/generate.operation.js +204 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/generate.operation.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/index.d.ts +5 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/index.js +71 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/image/index.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/router.d.ts +2 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/router.js +106 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/router.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/index.d.ts +4 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/index.js +62 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/index.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/message.operation.d.ts +29 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/message.operation.js +403 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/text/message.operation.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/versionDescription.d.ts +2 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/versionDescription.js +112 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/versionDescription.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.i2v.operation.d.ts +30 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.i2v.operation.js +312 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.i2v.operation.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.t2v.operation.d.ts +30 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.t2v.operation.js +251 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/generate.t2v.operation.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/index.d.ts +5 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/index.js +71 -0
- package/dist/nodes/vendors/AlibabaCloud/actions/video/index.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/alibaba.svg +1 -0
- package/dist/nodes/vendors/AlibabaCloud/helpers/interfaces.d.ts +53 -0
- package/dist/nodes/vendors/AlibabaCloud/helpers/interfaces.js +3 -0
- package/dist/nodes/vendors/AlibabaCloud/helpers/interfaces.js.map +1 -0
- package/dist/nodes/vendors/AlibabaCloud/transport/index.d.ts +11 -0
- package/dist/nodes/vendors/AlibabaCloud/transport/index.js +60 -0
- package/dist/nodes/vendors/AlibabaCloud/transport/index.js.map +1 -0
- package/dist/nodes/vendors/Microsoft/microsoft-utils.d.ts +2 -1
- package/dist/nodes/vendors/Microsoft/microsoft-utils.js +3 -13
- package/dist/nodes/vendors/Microsoft/microsoft-utils.js.map +1 -1
- package/dist/nodes/vendors/Moonshot/Moonshot.node.d.ts +9 -0
- package/dist/nodes/vendors/Moonshot/Moonshot.node.js +19 -0
- package/dist/nodes/vendors/Moonshot/Moonshot.node.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/descriptions.d.ts +2 -0
- package/dist/nodes/vendors/Moonshot/actions/descriptions.js +28 -0
- package/dist/nodes/vendors/Moonshot/actions/descriptions.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/image/analyze.operation.d.ts +29 -0
- package/dist/nodes/vendors/Moonshot/actions/image/analyze.operation.js +114 -0
- package/dist/nodes/vendors/Moonshot/actions/image/analyze.operation.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/image/index.d.ts +4 -0
- package/dist/nodes/vendors/Moonshot/actions/image/index.js +62 -0
- package/dist/nodes/vendors/Moonshot/actions/image/index.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/node.type.d.ts +7 -0
- package/dist/nodes/vendors/Moonshot/actions/node.type.js +3 -0
- package/dist/nodes/vendors/Moonshot/actions/node.type.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/router.d.ts +2 -0
- package/dist/nodes/vendors/Moonshot/actions/router.js +78 -0
- package/dist/nodes/vendors/Moonshot/actions/router.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/text/index.d.ts +4 -0
- package/dist/nodes/vendors/Moonshot/actions/text/index.js +62 -0
- package/dist/nodes/vendors/Moonshot/actions/text/index.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/text/message.operation.d.ts +29 -0
- package/dist/nodes/vendors/Moonshot/actions/text/message.operation.js +390 -0
- package/dist/nodes/vendors/Moonshot/actions/text/message.operation.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/actions/versionDescription.d.ts +2 -0
- package/dist/nodes/vendors/Moonshot/actions/versionDescription.js +106 -0
- package/dist/nodes/vendors/Moonshot/actions/versionDescription.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/helpers/interfaces.d.ts +60 -0
- package/dist/nodes/vendors/Moonshot/helpers/interfaces.js +3 -0
- package/dist/nodes/vendors/Moonshot/helpers/interfaces.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/helpers/utils.d.ts +2 -0
- package/dist/nodes/vendors/Moonshot/helpers/utils.js +14 -0
- package/dist/nodes/vendors/Moonshot/helpers/utils.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/methods/index.d.ts +1 -0
- package/dist/nodes/vendors/Moonshot/methods/index.js +38 -0
- package/dist/nodes/vendors/Moonshot/methods/index.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/methods/listSearch.d.ts +2 -0
- package/dist/nodes/vendors/Moonshot/methods/listSearch.js +18 -0
- package/dist/nodes/vendors/Moonshot/methods/listSearch.js.map +1 -0
- package/dist/nodes/vendors/Moonshot/moonshot.dark.svg +4 -0
- package/dist/nodes/vendors/Moonshot/moonshot.svg +4 -0
- package/dist/nodes/vendors/Moonshot/transport/index.d.ts +9 -0
- package/dist/nodes/vendors/Moonshot/transport/index.js +22 -0
- package/dist/nodes/vendors/Moonshot/transport/index.js.map +1 -0
- package/dist/typecheck.tsbuildinfo +1 -1
- package/dist/types/credentials.json +2 -1
- package/dist/types/nodes.json +37 -34
- package/package.json +14 -10
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = exports.properties = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const transport_1 = require("../../transport");
|
|
7
|
+
exports.properties = [
|
|
8
|
+
{
|
|
9
|
+
displayName: 'Model',
|
|
10
|
+
name: 'modelId',
|
|
11
|
+
type: 'options',
|
|
12
|
+
options: [
|
|
13
|
+
{
|
|
14
|
+
name: 'Wan 2.6 Image-to-Video Flash',
|
|
15
|
+
value: 'wan2.6-i2v-flash',
|
|
16
|
+
description: 'Fast image-to-video generation model',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'Wan 2.6 Image-to-Video',
|
|
20
|
+
value: 'wan2.6-i2v',
|
|
21
|
+
description: 'Standard image-to-video generation model',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
default: 'wan2.6-i2v-flash',
|
|
25
|
+
description: 'The model to use for image-to-video generation',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Input Type',
|
|
29
|
+
name: 'inputType',
|
|
30
|
+
type: 'options',
|
|
31
|
+
options: [
|
|
32
|
+
{
|
|
33
|
+
name: 'Image URL',
|
|
34
|
+
value: 'url',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Binary File',
|
|
38
|
+
value: 'binary',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
default: 'url',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
displayName: 'Image URL',
|
|
45
|
+
name: 'imgUrl',
|
|
46
|
+
type: 'string',
|
|
47
|
+
required: true,
|
|
48
|
+
default: '',
|
|
49
|
+
placeholder: 'https://example.com/image.png',
|
|
50
|
+
description: 'The URL of the first-frame image to generate video from',
|
|
51
|
+
displayOptions: {
|
|
52
|
+
show: {
|
|
53
|
+
inputType: ['url'],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
displayName: 'Input Data Field Name',
|
|
59
|
+
name: 'binaryPropertyName',
|
|
60
|
+
type: 'string',
|
|
61
|
+
default: 'data',
|
|
62
|
+
required: true,
|
|
63
|
+
placeholder: 'e.g. data',
|
|
64
|
+
hint: 'The name of the input field containing the binary file data to be processed',
|
|
65
|
+
displayOptions: {
|
|
66
|
+
show: {
|
|
67
|
+
inputType: ['binary'],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
displayName: 'Prompt',
|
|
73
|
+
name: 'prompt',
|
|
74
|
+
type: 'string',
|
|
75
|
+
typeOptions: {
|
|
76
|
+
rows: 4,
|
|
77
|
+
},
|
|
78
|
+
default: '',
|
|
79
|
+
description: 'A text prompt describing the desired content and visual characteristics for the generated video',
|
|
80
|
+
placeholder: 'A small cat running on the grass',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
displayName: 'Resolution',
|
|
84
|
+
name: 'resolution',
|
|
85
|
+
type: 'options',
|
|
86
|
+
options: [
|
|
87
|
+
{
|
|
88
|
+
name: '720P',
|
|
89
|
+
value: '720P',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: '1080P',
|
|
93
|
+
value: '1080P',
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
default: '1080P',
|
|
97
|
+
description: 'Resolution tier of the generated video',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
displayName: 'Duration (Seconds)',
|
|
101
|
+
name: 'duration',
|
|
102
|
+
type: 'number',
|
|
103
|
+
typeOptions: {
|
|
104
|
+
minValue: 2,
|
|
105
|
+
maxValue: 15,
|
|
106
|
+
},
|
|
107
|
+
default: 5,
|
|
108
|
+
description: 'Duration of the generated video in seconds (2–15)',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
displayName: 'Shot Type',
|
|
112
|
+
name: 'shotType',
|
|
113
|
+
type: 'options',
|
|
114
|
+
options: [
|
|
115
|
+
{
|
|
116
|
+
name: 'Single',
|
|
117
|
+
value: 'single',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'Multi',
|
|
121
|
+
value: 'multi',
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
default: 'single',
|
|
125
|
+
description: 'Whether to generate a single-shot or multi-shot narrative video',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
displayName: 'Download Video',
|
|
129
|
+
name: 'downloadVideo',
|
|
130
|
+
type: 'boolean',
|
|
131
|
+
default: true,
|
|
132
|
+
description: 'Whether to download the generated video as binary data. When disabled, only the video URL is returned.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
displayName: 'Simplify Output',
|
|
136
|
+
name: 'simplify',
|
|
137
|
+
type: 'boolean',
|
|
138
|
+
default: true,
|
|
139
|
+
description: 'Whether to return a simplified version of the response instead of the raw data',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
displayName: 'Options',
|
|
143
|
+
name: 'imageToVideoOptions',
|
|
144
|
+
type: 'collection',
|
|
145
|
+
placeholder: 'Add Option',
|
|
146
|
+
default: {},
|
|
147
|
+
options: [
|
|
148
|
+
{
|
|
149
|
+
displayName: 'Prompt Extend',
|
|
150
|
+
name: 'promptExtend',
|
|
151
|
+
type: 'boolean',
|
|
152
|
+
default: false,
|
|
153
|
+
description: 'Whether to automatically extend and enhance the prompt',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
displayName: 'Audio',
|
|
157
|
+
name: 'audio',
|
|
158
|
+
type: 'boolean',
|
|
159
|
+
default: true,
|
|
160
|
+
description: 'Whether to generate audio for the video',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
displayName: 'Audio Input Type',
|
|
164
|
+
name: 'audioInputType',
|
|
165
|
+
type: 'options',
|
|
166
|
+
options: [
|
|
167
|
+
{
|
|
168
|
+
name: 'Audio URL',
|
|
169
|
+
value: 'url',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'Binary File',
|
|
173
|
+
value: 'binary',
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
default: 'url',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
displayName: 'Audio URL',
|
|
180
|
+
name: 'audioUrl',
|
|
181
|
+
type: 'string',
|
|
182
|
+
default: '',
|
|
183
|
+
placeholder: 'https://example.com/audio.mp3',
|
|
184
|
+
description: 'URL of the audio file to use for the video',
|
|
185
|
+
displayOptions: {
|
|
186
|
+
show: {
|
|
187
|
+
audioInputType: ['url'],
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
displayName: 'Audio Data Field Name',
|
|
193
|
+
name: 'audioBinaryPropertyName',
|
|
194
|
+
type: 'string',
|
|
195
|
+
default: 'audio',
|
|
196
|
+
placeholder: 'e.g. audio',
|
|
197
|
+
hint: 'The name of the input field containing the binary audio data',
|
|
198
|
+
typeOptions: {
|
|
199
|
+
binaryDataProperty: true,
|
|
200
|
+
},
|
|
201
|
+
displayOptions: {
|
|
202
|
+
show: {
|
|
203
|
+
audioInputType: ['binary'],
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
];
|
|
210
|
+
const displayOptions = {
|
|
211
|
+
show: {
|
|
212
|
+
resource: ['video'],
|
|
213
|
+
operation: ['imageToVideo'],
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
exports.description = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, exports.properties);
|
|
217
|
+
async function execute(itemIndex) {
|
|
218
|
+
const model = this.getNodeParameter('modelId', itemIndex);
|
|
219
|
+
const imageInputType = this.getNodeParameter('inputType', itemIndex);
|
|
220
|
+
const prompt = this.getNodeParameter('prompt', itemIndex, '');
|
|
221
|
+
const resolution = this.getNodeParameter('resolution', itemIndex);
|
|
222
|
+
const duration = this.getNodeParameter('duration', itemIndex);
|
|
223
|
+
const shotType = this.getNodeParameter('shotType', itemIndex);
|
|
224
|
+
const simplify = this.getNodeParameter('simplify', itemIndex, true);
|
|
225
|
+
const downloadVideo = this.getNodeParameter('downloadVideo', itemIndex, true);
|
|
226
|
+
const options = this.getNodeParameter('imageToVideoOptions', itemIndex, {});
|
|
227
|
+
let imgUrl;
|
|
228
|
+
if (imageInputType === 'binary') {
|
|
229
|
+
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', itemIndex);
|
|
230
|
+
const binaryData = this.helpers.assertBinaryData(itemIndex, binaryPropertyName);
|
|
231
|
+
const buffer = await this.helpers.getBinaryDataBuffer(itemIndex, binaryPropertyName);
|
|
232
|
+
const mimeType = binaryData.mimeType || 'image/png';
|
|
233
|
+
imgUrl = `data:${mimeType};base64,${buffer.toString('base64')}`;
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
imgUrl = this.getNodeParameter('imgUrl', itemIndex);
|
|
237
|
+
}
|
|
238
|
+
const body = {
|
|
239
|
+
model,
|
|
240
|
+
input: {
|
|
241
|
+
img_url: imgUrl,
|
|
242
|
+
prompt,
|
|
243
|
+
},
|
|
244
|
+
parameters: {
|
|
245
|
+
resolution,
|
|
246
|
+
duration,
|
|
247
|
+
shot_type: shotType,
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
if (options.promptExtend !== undefined) {
|
|
251
|
+
body.parameters.prompt_extend = options.promptExtend;
|
|
252
|
+
}
|
|
253
|
+
if (options.audio !== undefined) {
|
|
254
|
+
body.parameters.audio = options.audio;
|
|
255
|
+
}
|
|
256
|
+
const audioInputType = options.audioInputType;
|
|
257
|
+
if (audioInputType === 'binary') {
|
|
258
|
+
const binaryPropertyName = options.audioBinaryPropertyName || 'audio';
|
|
259
|
+
const binaryData = this.helpers.assertBinaryData(itemIndex, binaryPropertyName);
|
|
260
|
+
const buffer = await this.helpers.getBinaryDataBuffer(itemIndex, binaryPropertyName);
|
|
261
|
+
const mimeType = binaryData.mimeType || 'audio/mpeg';
|
|
262
|
+
body.input.audio_url = `data:${mimeType};base64,${buffer.toString('base64')}`;
|
|
263
|
+
}
|
|
264
|
+
else if (options.audioUrl) {
|
|
265
|
+
body.input.audio_url = options.audioUrl;
|
|
266
|
+
}
|
|
267
|
+
const createResponse = await transport_1.apiRequest.call(this, 'POST', '/api/v1/services/aigc/video-generation/video-synthesis', {
|
|
268
|
+
headers: {
|
|
269
|
+
'X-DashScope-Async': 'enable',
|
|
270
|
+
},
|
|
271
|
+
body,
|
|
272
|
+
});
|
|
273
|
+
const taskId = createResponse?.output?.task_id;
|
|
274
|
+
if (!taskId) {
|
|
275
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to create video generation task: ${createResponse?.message || 'No task_id returned'}`);
|
|
276
|
+
}
|
|
277
|
+
const result = await transport_1.pollTaskResult.call(this, taskId);
|
|
278
|
+
const output = result.output;
|
|
279
|
+
const videoUrl = output?.video_url || '';
|
|
280
|
+
const jsonData = simplify
|
|
281
|
+
? { videoUrl }
|
|
282
|
+
: {
|
|
283
|
+
videoUrl,
|
|
284
|
+
model,
|
|
285
|
+
taskId,
|
|
286
|
+
usage: result.usage,
|
|
287
|
+
taskStatus: output?.task_status,
|
|
288
|
+
submitTime: output?.submit_time,
|
|
289
|
+
endTime: output?.end_time,
|
|
290
|
+
};
|
|
291
|
+
if (downloadVideo && videoUrl) {
|
|
292
|
+
const videoResponse = await this.helpers.httpRequest({
|
|
293
|
+
method: 'GET',
|
|
294
|
+
url: videoUrl,
|
|
295
|
+
encoding: 'arraybuffer',
|
|
296
|
+
returnFullResponse: true,
|
|
297
|
+
});
|
|
298
|
+
const contentType = videoResponse.headers?.['content-type'] || 'video/mp4';
|
|
299
|
+
const fileContent = Buffer.from(videoResponse.body);
|
|
300
|
+
const binaryData = await this.helpers.prepareBinaryData(fileContent, 'video.mp4', contentType);
|
|
301
|
+
return {
|
|
302
|
+
binary: { data: binaryData },
|
|
303
|
+
json: jsonData,
|
|
304
|
+
pairedItem: itemIndex,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
json: jsonData,
|
|
309
|
+
pairedItem: itemIndex,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=generate.i2v.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.i2v.operation.js","sourceRoot":"","sources":["../../../../../../nodes/vendors/AlibabaCloud/actions/video/generate.i2v.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare const properties: INodeProperties[];
|
|
3
|
+
export declare const description: {
|
|
4
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
5
|
+
displayName: string;
|
|
6
|
+
name: string;
|
|
7
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
8
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
9
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
10
|
+
description?: string;
|
|
11
|
+
hint?: string;
|
|
12
|
+
builderHint?: import("n8n-workflow").IParameterBuilderHint;
|
|
13
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
14
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
isNodeSetting?: boolean;
|
|
17
|
+
noDataExpression?: boolean;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
20
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
21
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
22
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
23
|
+
requiresDataPath?: "single" | "multiple";
|
|
24
|
+
doNotInherit?: boolean;
|
|
25
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
26
|
+
ignoreValidationDuringExecution?: boolean;
|
|
27
|
+
allowArbitraryValues?: boolean;
|
|
28
|
+
resolvableField?: boolean;
|
|
29
|
+
}[];
|
|
30
|
+
export declare function execute(this: IExecuteFunctions, itemIndex: number): Promise<INodeExecutionData>;
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = exports.properties = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const transport_1 = require("../../transport");
|
|
7
|
+
exports.properties = [
|
|
8
|
+
{
|
|
9
|
+
displayName: 'Model',
|
|
10
|
+
name: 'modelId',
|
|
11
|
+
type: 'options',
|
|
12
|
+
options: [
|
|
13
|
+
{
|
|
14
|
+
name: 'Wan 2.6 Text-to-Video',
|
|
15
|
+
value: 'wan2.6-t2v',
|
|
16
|
+
description: 'Text-to-video generation model',
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
default: 'wan2.6-t2v',
|
|
20
|
+
description: 'The model to use for text-to-video generation',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
displayName: 'Prompt',
|
|
24
|
+
name: 'prompt',
|
|
25
|
+
type: 'string',
|
|
26
|
+
typeOptions: {
|
|
27
|
+
rows: 4,
|
|
28
|
+
},
|
|
29
|
+
default: '',
|
|
30
|
+
required: true,
|
|
31
|
+
description: 'The text prompt to generate video from',
|
|
32
|
+
placeholder: 'A cat playing with a ball of yarn',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
displayName: 'Resolution',
|
|
36
|
+
name: 'resolution',
|
|
37
|
+
type: 'options',
|
|
38
|
+
options: [
|
|
39
|
+
{
|
|
40
|
+
name: '720P',
|
|
41
|
+
value: '720P',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: '1080P',
|
|
45
|
+
value: '1080P',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
default: '1080P',
|
|
49
|
+
description: 'Resolution tier of the generated video',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
displayName: 'Duration (Seconds)',
|
|
53
|
+
name: 'duration',
|
|
54
|
+
type: 'number',
|
|
55
|
+
typeOptions: {
|
|
56
|
+
minValue: 2,
|
|
57
|
+
maxValue: 15,
|
|
58
|
+
},
|
|
59
|
+
default: 5,
|
|
60
|
+
description: 'Duration of the generated video in seconds (2–15)',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
displayName: 'Shot Type',
|
|
64
|
+
name: 'shotType',
|
|
65
|
+
type: 'options',
|
|
66
|
+
options: [
|
|
67
|
+
{
|
|
68
|
+
name: 'Single',
|
|
69
|
+
value: 'single',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: 'Multi',
|
|
73
|
+
value: 'multi',
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
default: 'single',
|
|
77
|
+
description: 'Whether to generate a single-shot or multi-shot narrative video',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
displayName: 'Download Video',
|
|
81
|
+
name: 'downloadVideo',
|
|
82
|
+
type: 'boolean',
|
|
83
|
+
default: true,
|
|
84
|
+
description: 'Whether to download the generated video as binary data. When disabled, only the video URL is returned.',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
displayName: 'Simplify Output',
|
|
88
|
+
name: 'simplify',
|
|
89
|
+
type: 'boolean',
|
|
90
|
+
default: true,
|
|
91
|
+
description: 'Whether to return a simplified version of the response instead of the raw data',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
displayName: 'Options',
|
|
95
|
+
name: 'videoOptions',
|
|
96
|
+
type: 'collection',
|
|
97
|
+
placeholder: 'Add Option',
|
|
98
|
+
default: {},
|
|
99
|
+
options: [
|
|
100
|
+
{
|
|
101
|
+
displayName: 'Prompt Extend',
|
|
102
|
+
name: 'promptExtend',
|
|
103
|
+
type: 'boolean',
|
|
104
|
+
default: false,
|
|
105
|
+
description: 'Whether to automatically extend and enhance the prompt',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
displayName: 'Audio',
|
|
109
|
+
name: 'audio',
|
|
110
|
+
type: 'boolean',
|
|
111
|
+
default: true,
|
|
112
|
+
description: 'Whether to generate audio for the video',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
displayName: 'Audio Input Type',
|
|
116
|
+
name: 'audioInputType',
|
|
117
|
+
type: 'options',
|
|
118
|
+
options: [
|
|
119
|
+
{
|
|
120
|
+
name: 'Audio URL',
|
|
121
|
+
value: 'url',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'Binary File',
|
|
125
|
+
value: 'binary',
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
default: 'url',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
displayName: 'Audio URL',
|
|
132
|
+
name: 'audioUrl',
|
|
133
|
+
type: 'string',
|
|
134
|
+
default: '',
|
|
135
|
+
placeholder: 'https://example.com/audio.mp3',
|
|
136
|
+
description: 'URL of the audio file to use for the video',
|
|
137
|
+
displayOptions: {
|
|
138
|
+
show: {
|
|
139
|
+
audioInputType: ['url'],
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
displayName: 'Audio Data Field Name',
|
|
145
|
+
name: 'audioBinaryPropertyName',
|
|
146
|
+
type: 'string',
|
|
147
|
+
default: 'audio',
|
|
148
|
+
placeholder: 'e.g. audio',
|
|
149
|
+
hint: 'The name of the input field containing the binary audio data',
|
|
150
|
+
typeOptions: {
|
|
151
|
+
binaryDataProperty: true,
|
|
152
|
+
},
|
|
153
|
+
displayOptions: {
|
|
154
|
+
show: {
|
|
155
|
+
audioInputType: ['binary'],
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
];
|
|
162
|
+
const displayOptions = {
|
|
163
|
+
show: {
|
|
164
|
+
resource: ['video'],
|
|
165
|
+
operation: ['textToVideo'],
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
exports.description = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, exports.properties);
|
|
169
|
+
async function execute(itemIndex) {
|
|
170
|
+
const model = this.getNodeParameter('modelId', itemIndex);
|
|
171
|
+
const prompt = this.getNodeParameter('prompt', itemIndex);
|
|
172
|
+
const resolution = this.getNodeParameter('resolution', itemIndex);
|
|
173
|
+
const duration = this.getNodeParameter('duration', itemIndex);
|
|
174
|
+
const shotType = this.getNodeParameter('shotType', itemIndex);
|
|
175
|
+
const simplify = this.getNodeParameter('simplify', itemIndex, true);
|
|
176
|
+
const downloadVideo = this.getNodeParameter('downloadVideo', itemIndex, true);
|
|
177
|
+
const videoOptions = this.getNodeParameter('videoOptions', itemIndex, {});
|
|
178
|
+
const body = {
|
|
179
|
+
model,
|
|
180
|
+
input: {
|
|
181
|
+
prompt,
|
|
182
|
+
},
|
|
183
|
+
parameters: {
|
|
184
|
+
resolution,
|
|
185
|
+
duration,
|
|
186
|
+
shot_type: shotType,
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
if (videoOptions.promptExtend !== undefined) {
|
|
190
|
+
body.parameters.prompt_extend = videoOptions.promptExtend;
|
|
191
|
+
}
|
|
192
|
+
if (videoOptions.audio !== undefined) {
|
|
193
|
+
body.parameters.audio = videoOptions.audio;
|
|
194
|
+
}
|
|
195
|
+
const audioInputType = videoOptions.audioInputType;
|
|
196
|
+
if (audioInputType === 'binary') {
|
|
197
|
+
const binaryPropertyName = videoOptions.audioBinaryPropertyName || 'audio';
|
|
198
|
+
const binaryData = this.helpers.assertBinaryData(itemIndex, binaryPropertyName);
|
|
199
|
+
const buffer = await this.helpers.getBinaryDataBuffer(itemIndex, binaryPropertyName);
|
|
200
|
+
const mimeType = binaryData.mimeType || 'audio/mpeg';
|
|
201
|
+
body.input.audio_url = `data:${mimeType};base64,${buffer.toString('base64')}`;
|
|
202
|
+
}
|
|
203
|
+
else if (videoOptions.audioUrl) {
|
|
204
|
+
body.input.audio_url = videoOptions.audioUrl;
|
|
205
|
+
}
|
|
206
|
+
const createResponse = await transport_1.apiRequest.call(this, 'POST', '/api/v1/services/aigc/video-generation/video-synthesis', {
|
|
207
|
+
headers: {
|
|
208
|
+
'X-DashScope-Async': 'enable',
|
|
209
|
+
},
|
|
210
|
+
body,
|
|
211
|
+
});
|
|
212
|
+
const taskId = createResponse?.output?.task_id;
|
|
213
|
+
if (!taskId) {
|
|
214
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to create video generation task: ${createResponse?.message || 'No task_id returned'}`);
|
|
215
|
+
}
|
|
216
|
+
const result = await transport_1.pollTaskResult.call(this, taskId);
|
|
217
|
+
const output = result.output;
|
|
218
|
+
const videoUrl = output?.video_url || '';
|
|
219
|
+
const jsonData = simplify
|
|
220
|
+
? { videoUrl }
|
|
221
|
+
: {
|
|
222
|
+
videoUrl,
|
|
223
|
+
model,
|
|
224
|
+
taskId,
|
|
225
|
+
usage: result.usage,
|
|
226
|
+
taskStatus: output?.task_status,
|
|
227
|
+
submitTime: output?.submit_time,
|
|
228
|
+
endTime: output?.end_time,
|
|
229
|
+
};
|
|
230
|
+
if (downloadVideo && videoUrl) {
|
|
231
|
+
const videoResponse = await this.helpers.httpRequest({
|
|
232
|
+
method: 'GET',
|
|
233
|
+
url: videoUrl,
|
|
234
|
+
encoding: 'arraybuffer',
|
|
235
|
+
returnFullResponse: true,
|
|
236
|
+
});
|
|
237
|
+
const contentType = videoResponse.headers?.['content-type'] || 'video/mp4';
|
|
238
|
+
const fileContent = Buffer.from(videoResponse.body);
|
|
239
|
+
const binaryData = await this.helpers.prepareBinaryData(fileContent, 'video.mp4', contentType);
|
|
240
|
+
return {
|
|
241
|
+
binary: { data: binaryData },
|
|
242
|
+
json: jsonData,
|
|
243
|
+
pairedItem: itemIndex,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
json: jsonData,
|
|
248
|
+
pairedItem: itemIndex,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=generate.t2v.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.t2v.operation.js","sourceRoot":"","sources":["../../../../../../nodes/vendors/AlibabaCloud/actions/video/generate.t2v.operation.ts"],"names":[],"mappings":"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"}
|