П’ята автоматизація: Голосовий перекладач у Telegram

{
    "name": "конвертация голосовых",
    "flow": [
        {
            "id": 1,
            "module": "telegram:WatchUpdates",
            "version": 1,
            "parameters": {
                "__IMTHOOK__": 2293068
            },
            "mapper": {},
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "__IMTHOOK__": {
                            "label": "My Telegram Bot Updates webhook",
                            "data": {
                                "editable": "false"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTHOOK__",
                        "type": "hook:telegramapi",
                        "label": "Webhook",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 2,
            "module": "builtin:BasicRouter",
            "version": 1,
            "mapper": null,
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 0
                }
            },
            "routes": [
                {
                    "flow": [
                        {
                            "id": 4,
                            "module": "telegram:DownloadFile",
                            "version": 1,
                            "parameters": {
                                "__IMTCONN__": 7994156
                            },
                            "filter": {
                                "name": "",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{1.message.voice.file_id}}",
                                            "o": "exist"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "fileId": "{{1.message.voice.file_id}}"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 600,
                                    "y": -150
                                },
                                "restore": {
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "telegram"
                                            },
                                            "label": "ываываываыва"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:telegram",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "fileId",
                                        "type": "text",
                                        "label": "File ID",
                                        "required": true
                                    },
                                    {
                                        "name": "fileId",
                                        "type": "text",
                                        "label": "File ID",
                                        "required": true
                                    }
                                ]
                            }
                        },
                        {
                            "id": 5,
                            "module": "openai-gpt-3:CreateTranslation",
                            "version": 1,
                            "parameters": {
                                "__IMTCONN__": 2088415
                            },
                            "mapper": {
                                "fileName": "{{4.fileName}}",
                                "fileData": "{{4.fileOutput}}",
                                "model": "whisper-1",
                                "prompt": "транскрибируй сообщение и переведи его на английский",
                                "response_format": "json"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 900,
                                    "y": -150
                                },
                                "restore": {
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "label": "api личный",
                                            "data": {
                                                "scoped": "true",
                                                "connection": "openai-gpt-3"
                                            }
                                        }
                                    },
                                    "expect": {
                                        "model": {
                                            "mode": "chose",
                                            "label": "Whisper-1"
                                        },
                                        "response_format": {
                                            "mode": "chose",
                                            "label": "JSON"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:openai-gpt-3",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "fileName",
                                        "type": "filename",
                                        "label": "File Name",
                                        "required": true
                                    },
                                    {
                                        "name": "fileData",
                                        "type": "buffer",
                                        "label": "File Data",
                                        "required": true
                                    },
                                    {
                                        "name": "model",
                                        "type": "select",
                                        "label": "Model",
                                        "required": true
                                    },
                                    {
                                        "name": "prompt",
                                        "type": "text",
                                        "label": "Prompt"
                                    },
                                    {
                                        "name": "response_format",
                                        "type": "select",
                                        "label": "Response Format",
                                        "validate": {
                                            "enum": [
                                                "json",
                                                "text",
                                                "srt",
                                                "verbose_json",
                                                "vtt"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "temperature",
                                        "type": "number",
                                        "label": "Temperature",
                                        "validate": {
                                            "max": 1,
                                            "min": 0
                                        }
                                    }
                                ],
                                "interface": [
                                    {
                                        "name": "text",
                                        "type": "text",
                                        "label": "Text"
                                    }
                                ]
                            }
                        },
                        {
                            "id": 6,
                            "module": "openai-gpt-3:generateAnAudio",
                            "version": 1,
                            "parameters": {
                                "__IMTCONN__": 2088415
                            },
                            "mapper": {
                                "input": "{{5.text}}",
                                "model": "gpt-4o-mini-tts",
                                "voice": "alloy",
                                "outputFilename": "openai-tts-output",
                                "response_format": "mp3",
                                "speed": "1"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 1200,
                                    "y": -150
                                },
                                "restore": {
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "label": "api личный",
                                            "data": {
                                                "scoped": "true",
                                                "connection": "openai-gpt-3"
                                            }
                                        }
                                    },
                                    "expect": {
                                        "model": {
                                            "mode": "chose",
                                            "nested": [
                                                {
                                                    "help": "Control the voice of your generated audio with additional instructions.",
                                                    "name": "instructions",
                                                    "type": "text",
                                                    "label": "Instructions"
                                                }
                                            ],
                                            "label": "gpt-4o-mini-tts (system)"
                                        },
                                        "voice": {
                                            "mode": "chose",
                                            "label": "Alloy"
                                        },
                                        "response_format": {
                                            "mode": "chose",
                                            "label": "MP3"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:openai-gpt-3",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "input",
                                        "type": "text",
                                        "label": "Input",
                                        "validate": {
                                            "max": 4096,
                                            "min": 1
                                        },
                                        "required": true
                                    },
                                    {
                                        "name": "model",
                                        "type": "select",
                                        "label": "Model",
                                        "required": true
                                    },
                                    {
                                        "name": "voice",
                                        "type": "select",
                                        "label": "Voice",
                                        "validate": {
                                            "enum": [
                                                "alloy",
                                                "ash",
                                                "ballad",
                                                "coral",
                                                "echo",
                                                "fable",
                                                "onyx",
                                                "nova",
                                                "sage",
                                                "shimmer",
                                                "verse"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "outputFilename",
                                        "type": "text",
                                        "label": "Output Filename"
                                    },
                                    {
                                        "name": "response_format",
                                        "type": "select",
                                        "label": "Response Format",
                                        "validate": {
                                            "enum": [
                                                "mp3",
                                                "opus",
                                                "aac",
                                                "flac",
                                                "wav",
                                                "pcm"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "speed",
                                        "type": "number",
                                        "label": "Speed",
                                        "validate": {
                                            "max": 4,
                                            "min": 0.25
                                        }
                                    },
                                    {
                                        "name": "instructions",
                                        "type": "text",
                                        "label": "Instructions"
                                    }
                                ],
                                "advanced": true
                            }
                        },
                        {
                            "id": 7,
                            "module": "telegram:SendVoice",
                            "version": 1,
                            "parameters": {
                                "__IMTCONN__": 7994156
                            },
                            "mapper": {
                                "data": "{{6.outputAudio}}",
                                "chatId": "{{1.message.chat.id}}",
                                "caption": "",
                                "duration": "",
                                "filename": "{{6.outputFilename}}",
                                "sendType": "send_bydata",
                                "parseMode": "",
                                "contentType": "",
                                "replyMarkup": "",
                                "messageThreadId": "",
                                "replyMarkupAssembleType": "reply_markup_enter"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 1500,
                                    "y": -150
                                },
                                "restore": {
                                    "expect": {
                                        "sendType": {
                                            "label": "Data"
                                        },
                                        "parseMode": {
                                            "label": "Empty"
                                        },
                                        "contentType": {
                                            "mode": "chose",
                                            "label": "Empty"
                                        },
                                        "replyMarkupAssembleType": {
                                            "label": "Enter the Reply Markup"
                                        }
                                    },
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "telegram"
                                            },
                                            "label": "ываываываыва"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:telegram",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "chatId",
                                        "type": "text",
                                        "label": "Chat ID",
                                        "required": true
                                    },
                                    {
                                        "name": "messageThreadId",
                                        "type": "number",
                                        "label": "Message Thread ID"
                                    },
                                    {
                                        "name": "caption",
                                        "type": "text",
                                        "label": "Caption"
                                    },
                                    {
                                        "name": "sendType",
                                        "type": "select",
                                        "label": "Send by",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "send_bydata",
                                                "send_byurl",
                                                "send_byid"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "parseMode",
                                        "type": "select",
                                        "label": "Parse Mode",
                                        "validate": {
                                            "enum": [
                                                "Markdown",
                                                "HTML"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "disableNotification",
                                        "type": "boolean",
                                        "label": "Disable notification"
                                    },
                                    {
                                        "name": "contentType",
                                        "type": "select",
                                        "label": "Content Type"
                                    },
                                    {
                                        "name": "duration",
                                        "type": "number",
                                        "label": "Duration"
                                    },
                                    {
                                        "name": "replyMarkupAssembleType",
                                        "type": "select",
                                        "label": "Enter/Assemble the Reply Markup Field",
                                        "validate": {
                                            "enum": [
                                                "reply_markup_enter",
                                                "reply_markup_assemble"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "filename",
                                        "type": "text",
                                        "label": "File Name",
                                        "required": true
                                    },
                                    {
                                        "name": "data",
                                        "type": "buffer",
                                        "label": "Data",
                                        "required": true
                                    },
                                    {
                                        "name": "replyMarkup",
                                        "type": "text",
                                        "label": "Reply Markup"
                                    }
                                ]
                            }
                        }
                    ]
                },
                {
                    "flow": [
                        {
                            "id": 3,
                            "module": "telegram:SendReplyMessage",
                            "version": 1,
                            "parameters": {
                                "__IMTCONN__": 7994156
                            },
                            "filter": {
                                "name": "",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{1.message.text}}",
                                            "b": "/start",
                                            "o": "text:equal"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "text": "Добро пожаловать в бот переводчик",
                                "chatId": "{{1.message.chat.id}}",
                                "parseMode": "",
                                "replyMarkup": "",
                                "messageThreadId": "",
                                "replyToMessageId": "",
                                "replyMarkupAssembleType": "reply_markup_enter"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 600,
                                    "y": 150
                                },
                                "restore": {
                                    "expect": {
                                        "parseMode": {
                                            "label": "Empty"
                                        },
                                        "disableNotification": {
                                            "mode": "chose"
                                        },
                                        "replyMarkupAssembleType": {
                                            "label": "Enter the Reply Markup"
                                        }
                                    },
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "telegram"
                                            },
                                            "label": "ываываываыва"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:telegram",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "chatId",
                                        "type": "text",
                                        "label": "Chat ID",
                                        "required": true
                                    },
                                    {
                                        "name": "text",
                                        "type": "text",
                                        "label": "Text",
                                        "required": true
                                    },
                                    {
                                        "name": "messageThreadId",
                                        "type": "number",
                                        "label": "Message Thread ID"
                                    },
                                    {
                                        "name": "parseMode",
                                        "type": "select",
                                        "label": "Parse Mode",
                                        "validate": {
                                            "enum": [
                                                "Markdown",
                                                "HTML"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "disableNotification",
                                        "type": "boolean",
                                        "label": "Disable Notifications"
                                    },
                                    {
                                        "name": "disableWebPagePreview",
                                        "type": "boolean",
                                        "label": "Disable Link Previews"
                                    },
                                    {
                                        "name": "replyToMessageId",
                                        "type": "number",
                                        "label": "Original Message ID"
                                    },
                                    {
                                        "name": "replyMarkupAssembleType",
                                        "type": "select",
                                        "label": "Enter/Assemble the Reply Markup Field",
                                        "validate": {
                                            "enum": [
                                                "reply_markup_enter",
                                                "reply_markup_assemble"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "replyMarkup",
                                        "type": "text",
                                        "label": "Reply Markup"
                                    },
                                    {
                                        "name": "chatId",
                                        "type": "text",
                                        "label": "Chat ID",
                                        "required": true
                                    },
                                    {
                                        "name": "text",
                                        "type": "text",
                                        "label": "Text",
                                        "required": true
                                    },
                                    {
                                        "name": "messageThreadId",
                                        "type": "number",
                                        "label": "Message Thread ID"
                                    },
                                    {
                                        "name": "parseMode",
                                        "type": "select",
                                        "label": "Parse Mode",
                                        "validate": {
                                            "enum": [
                                                "Markdown",
                                                "HTML"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "disableNotification",
                                        "type": "boolean",
                                        "label": "Disable Notifications"
                                    },
                                    {
                                        "name": "disableWebPagePreview",
                                        "type": "boolean",
                                        "label": "Disable Link Previews"
                                    },
                                    {
                                        "name": "replyToMessageId",
                                        "type": "number",
                                        "label": "Original Message ID"
                                    },
                                    {
                                        "name": "replyMarkupAssembleType",
                                        "type": "select",
                                        "label": "Enter/Assemble the Reply Markup Field",
                                        "validate": {
                                            "enum": [
                                                "reply_markup_enter",
                                                "reply_markup_assemble"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "replyMarkup",
                                        "type": "text",
                                        "label": "Reply Markup"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "metadata": {
        "instant": true,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "eu2.make.com",
        "notes": []
    }
}

Last updated