{ "id": "voice-transcription", "name": "Voice Note Transcription", "version": "1.3.8", "type": "extension", "main": "dist/index.js", "description": "Transcribes inbound WhatsApp voice notes to text via an OpenAI-compatible speech-to-text backend (self-hosted Speaches/faster-whisper or hosted Groq/OpenAI) and delivers a `message.transcription` event to your webhook \u2014 so bots and AI can read and reply to audio. Off the message-delivery path; disabled until enabled.", "author": "Yudhi Armyndharis ", "license": "MIT", "homepage": "https://github.com/rmyndharis/OpenWA-plugins/tree/main/voice-transcription", "repository": "https://github.com/rmyndharis/OpenWA-plugins", "keywords": [ "transcription", "speech-to-text", "stt", "whisper", "voice", "audio", "whatsapp", "openwa" ], "status": "beta", "minOpenWAVersion": "0.8.0", "testedOpenWAVersion": "0.30.0", "provides": [ "transcription" ], "permissions": [ "net:fetch", "messages:send", "storage:use" ], "net": { "allow": [ "localhost", "127.0.0.1", "api.groq.com:443", "api.openai.com:443" ], "allowConfigHosts": [ "sttBaseUrl", "deliveryWebhookUrl" ] }, "sessionScoped": true, "sessions": [ "*" ], "hooks": [ "message:received" ], "configSchema": { "type": "object", "properties": { "sttBaseUrl": { "type": "string", "title": "STT base URL", "required": true, "description": "Base URL of an OpenAI-compatible /v1/audio/transcriptions server \u2014 e.g. http://localhost:8000 (Speaches/faster-whisper) or https://api.groq.com/openai. An https host you set here is allowed automatically; a localhost/127.0.0.1 target is already allowed but ALSO requires SSRF_ALLOWED_HOSTS on the OpenWA host (use a literal 127.0.0.1)." }, "sttApiKey": { "type": "string", "title": "STT API key", "secret": true, "description": "Bearer key for a hosted backend (Groq/OpenAI). Leave blank for a local Speaches instance." }, "model": { "type": "string", "title": "Model", "default": "small", "description": "Whisper model name, e.g. small, base, whisper-large-v3-turbo." }, "language": { "type": "string", "title": "Language hint", "default": "", "description": "Optional BCP-47 hint (e.g. es). Blank = auto-detect." }, "provider": { "type": "string", "title": "Provider label", "default": "faster-whisper", "description": "Informational label recorded in the delivered event." }, "timeoutMs": { "type": "number", "title": "STT timeout (ms)", "default": 20000, "min": 1000, "max": 25000, "description": "Per-request STT timeout. Runs off the message-delivery path, so it is not bound by the 5s hook budget \u2014 but it races the host's 30000ms per-capability ceiling, so keep it below that." }, "enabledMessageTypes": { "type": "array", "title": "Message types to transcribe", "default": [ "voice" ], "items": { "type": "string" }, "description": "Usually just voice (PTT). Add audio to also transcribe music/file audio (more cost)." }, "maxSizeBytes": { "type": "number", "title": "Max audio size (bytes)", "default": 16777216, "description": "Skip audio larger than this (exact cost guard)." }, "maxPerHour": { "type": "number", "title": "Max transcriptions / hour / session", "default": 60, "description": "Best-effort per-session hourly cap to bound paid-API spend." }, "deliveryWebhookUrl": { "type": "string", "title": "Delivery webhook URL", "description": "Your endpoint that receives the message.transcription event (the bot/AI integration channel). An https host is added to this plugin's outbound allowlist automatically. A plain-http one is not, so http works only for localhost/127.0.0.1, which are already allowed, and that also needs the gateway's SSRF_ALLOWED_HOSTS. Optional if you only use in-chat delivery." }, "deliverySecret": { "type": "string", "title": "Delivery secret", "secret": true, "description": "Optional. When set, the body is HMAC-SHA256 signed in `X-OpenWA-Signature: sha256=` (same scheme as OpenWA core webhooks) so your endpoint can verify it." }, "deliveryTimeoutMs": { "type": "number", "title": "Delivery timeout (ms)", "default": 5000, "min": 1000, "max": 25000 }, "chatDelivery": { "type": "string", "title": "In-chat delivery", "enum": [ "off", "self", "reply" ], "default": "off", "description": "Also post the transcript into WhatsApp: off (webhook only), self (a note to your own number), or reply (quote-reply to the sender). In a GROUP, reply posts the transcript to the whole group \u2014 every member sees the contents of the voice note. Default off." } } }, "i18n": { "es": { "name": "Transcripci\u00f3n de Notas de Voz", "description": "Transcribe las notas de voz entrantes de WhatsApp a texto mediante un backend de voz a texto compatible con OpenAI (Speaches/faster-whisper autoalojado o Groq/OpenAI) y entrega un evento message.transcription a tu webhook, para que los bots y la IA puedan leer y responder al audio. Fuera de la ruta de entrega de mensajes; desactivado hasta que se habilite.", "config": { "sttBaseUrl": { "title": "URL base de STT" }, "sttApiKey": { "title": "Clave API de STT" }, "model": { "title": "Modelo" }, "language": { "title": "Sugerencia de idioma" }, "provider": { "title": "Etiqueta del proveedor" }, "timeoutMs": { "title": "Tiempo de espera de STT (ms)" }, "enabledMessageTypes": { "title": "Tipos de mensaje a transcribir" }, "maxSizeBytes": { "title": "Tama\u00f1o m\u00e1ximo de audio (bytes)" }, "maxPerHour": { "title": "Transcripciones m\u00e1ximas / hora / sesi\u00f3n" }, "deliveryWebhookUrl": { "title": "URL del webhook de entrega" }, "deliverySecret": { "title": "Secreto de entrega" }, "deliveryTimeoutMs": { "title": "Tiempo de espera de entrega (ms)" }, "chatDelivery": { "title": "Entrega en el chat" } } }, "fr": { "name": "Transcription de notes vocales", "description": "Transcrit les notes vocales WhatsApp entrantes en texte via un backend de reconnaissance vocale compatible OpenAI (Speaches/faster-whisper auto-h\u00e9berg\u00e9 ou Groq/OpenAI h\u00e9berg\u00e9) et envoie un \u00e9v\u00e9nement `message.transcription` \u00e0 votre webhook \u2014 pour que les bots et l'IA puissent lire et r\u00e9pondre \u00e0 l'audio. Hors du chemin de livraison des messages ; d\u00e9sactiv\u00e9 jusqu'\u00e0 activation.", "config": { "sttBaseUrl": { "title": "URL de base STT" }, "sttApiKey": { "title": "Cl\u00e9 API STT" }, "model": { "title": "Mod\u00e8le" }, "language": { "title": "Indication de langue" }, "provider": { "title": "\u00c9tiquette du fournisseur" }, "timeoutMs": { "title": "D\u00e9lai d'attente STT (ms)" }, "enabledMessageTypes": { "title": "Types de messages \u00e0 transcrire" }, "maxSizeBytes": { "title": "Taille audio max (octets)" }, "maxPerHour": { "title": "Transcriptions max / heure / session" }, "deliveryWebhookUrl": { "title": "URL du webhook de livraison" }, "deliverySecret": { "title": "Secret de livraison" }, "deliveryTimeoutMs": { "title": "D\u00e9lai d'attente de livraison (ms)" }, "chatDelivery": { "title": "Livraison dans le chat" } } }, "it": { "name": "Trascrizione note vocali", "description": "Trascrive le note vocali WhatsApp in arrivo in testo tramite un backend speech-to-text compatibile con OpenAI (Speaches/faster-whisper self-hosted o Groq/OpenAI in hosting) e consegna un evento `message.transcription` al tuo webhook \u2014 cos\u00ec bot e IA possono leggere e rispondere all'audio. Fuori dal percorso di consegna dei messaggi; disabilitato finch\u00e9 non viene abilitato.", "config": { "sttBaseUrl": { "title": "URL base STT" }, "sttApiKey": { "title": "Chiave API STT" }, "model": { "title": "Modello" }, "language": { "title": "Suggerimento lingua" }, "provider": { "title": "Etichetta del provider" }, "timeoutMs": { "title": "Timeout STT (ms)" }, "enabledMessageTypes": { "title": "Tipi di messaggio da trascrivere" }, "maxSizeBytes": { "title": "Dimensione max audio (byte)" }, "maxPerHour": { "title": "Trascrizioni max / ora / sessione" }, "deliveryWebhookUrl": { "title": "URL del webhook di consegna" }, "deliverySecret": { "title": "Segreto di consegna" }, "deliveryTimeoutMs": { "title": "Timeout di consegna (ms)" }, "chatDelivery": { "title": "Consegna in chat" } } }, "ar": { "name": "\u0646\u0633\u062e \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0635\u0648\u062a\u064a\u0629", "description": "\u064a\u0646\u0633\u062e \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0635\u0648\u062a\u064a\u0629 \u0627\u0644\u0648\u0627\u0631\u062f\u0629 \u0641\u064a WhatsApp \u0625\u0644\u0649 \u0646\u0635 \u0639\u0628\u0631 \u062e\u0644\u0641\u064a\u0629 \u062a\u062d\u0648\u064a\u0644 \u0643\u0644\u0627\u0645 \u0625\u0644\u0649 \u0646\u0635 \u0645\u062a\u0648\u0627\u0641\u0642\u0629 \u0645\u0639 OpenAI (Speaches/faster-whisper \u0630\u0627\u062a\u064a\u0629 \u0627\u0644\u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0623\u0648 Groq/OpenAI \u0627\u0644\u0645\u0633\u062a\u0636\u0627\u0641\u0629) \u0648\u064a\u0633\u0644\u0651\u0645 \u062d\u062f\u062b `message.transcription` \u0625\u0644\u0649 webhook \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u2014 \u062d\u062a\u0649 \u062a\u062a\u0645\u0643\u0646 \u0627\u0644\u0628\u0648\u062a\u0627\u062a \u0648\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0645\u0646 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0635\u0648\u062a \u0648\u0627\u0644\u0631\u062f \u0639\u0644\u064a\u0647. \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u0631 \u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0631\u0633\u0627\u0626\u0644\u061b \u0645\u0639\u0637\u0651\u0644 \u062d\u062a\u0649 \u064a\u062a\u0645 \u062a\u0641\u0639\u064a\u0644\u0647.", "config": { "sttBaseUrl": { "title": "\u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0623\u0633\u0627\u0633\u064a \u0644\u0640 STT" }, "sttApiKey": { "title": "\u0645\u0641\u062a\u0627\u062d API \u0644\u0640 STT" }, "model": { "title": "\u0627\u0644\u0646\u0645\u0648\u0630\u062c" }, "language": { "title": "\u062a\u0644\u0645\u064a\u062d \u0627\u0644\u0644\u063a\u0629" }, "provider": { "title": "\u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u0632\u0648\u0651\u062f" }, "timeoutMs": { "title": "\u0645\u0647\u0644\u0629 STT (\u0645\u064a\u0644\u064a \u062b\u0627\u0646\u064a\u0629)" }, "enabledMessageTypes": { "title": "\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0645\u0631\u0627\u062f \u0646\u0633\u062e\u0647\u0627" }, "maxSizeBytes": { "title": "\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u062d\u062c\u0645 \u0627\u0644\u0635\u0648\u062a (\u0628\u0627\u064a\u062a)" }, "maxPerHour": { "title": "\u0623\u0642\u0635\u0649 \u0639\u062f\u062f \u0646\u0633\u062e / \u0633\u0627\u0639\u0629 / \u062c\u0644\u0633\u0629" }, "deliveryWebhookUrl": { "title": "\u0631\u0627\u0628\u0637 webhook \u0644\u0644\u062a\u0633\u0644\u064a\u0645" }, "deliverySecret": { "title": "\u0633\u0631\u0651 \u0627\u0644\u062a\u0633\u0644\u064a\u0645" }, "deliveryTimeoutMs": { "title": "\u0645\u0647\u0644\u0629 \u0627\u0644\u062a\u0633\u0644\u064a\u0645 (\u0645\u064a\u0644\u064a \u062b\u0627\u0646\u064a\u0629)" }, "chatDelivery": { "title": "\u0627\u0644\u062a\u0633\u0644\u064a\u0645 \u062f\u0627\u062e\u0644 \u0627\u0644\u0645\u062d\u0627\u062f\u062b\u0629" } } }, "he": { "name": "\u05ea\u05de\u05dc\u05d5\u05dc \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e7\u05d5\u05dc\u05d9\u05d5\u05ea", "description": "\u05de\u05ea\u05de\u05dc\u05dc \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e7\u05d5\u05dc\u05d9\u05d5\u05ea \u05e0\u05db\u05e0\u05e1\u05d5\u05ea \u05d1-WhatsApp \u05dc\u05d8\u05e7\u05e1\u05d8 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05e8\u05ea \u05d3\u05d9\u05d1\u05d5\u05e8-\u05dc\u05d8\u05e7\u05e1\u05d8 \u05ea\u05d5\u05d0\u05dd OpenAI (Speaches/faster-whisper \u05d1\u05d0\u05d9\u05e8\u05d5\u05d7 \u05e2\u05e6\u05de\u05d9 \u05d0\u05d5 Groq/OpenAI \u05d1\u05d0\u05d9\u05e8\u05d5\u05d7) \u05d5\u05de\u05e2\u05d1\u05d9\u05e8 \u05d0\u05d9\u05e8\u05d5\u05e2 `message.transcription` \u05dc-webhook \u05e9\u05dc\u05da \u2014 \u05db\u05da \u05e9\u05d1\u05d5\u05d8\u05d9\u05dd \u05d5-AI \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e7\u05e8\u05d5\u05d0 \u05d5\u05dc\u05d4\u05e9\u05d9\u05d1 \u05dc\u05d0\u05d5\u05d3\u05d9\u05d5. \u05de\u05d7\u05d5\u05e5 \u05dc\u05e0\u05ea\u05d9\u05d1 \u05de\u05e1\u05d9\u05e8\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea; \u05de\u05d5\u05e9\u05d1\u05ea \u05e2\u05d3 \u05e9\u05de\u05d5\u05e4\u05e2\u05dc.", "config": { "sttBaseUrl": { "title": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d1\u05e1\u05d9\u05e1 \u05e9\u05dc STT" }, "sttApiKey": { "title": "\u05de\u05e4\u05ea\u05d7 API \u05e9\u05dc STT" }, "model": { "title": "\u05de\u05d5\u05d3\u05dc" }, "language": { "title": "\u05e8\u05de\u05d6 \u05e9\u05e4\u05d4" }, "provider": { "title": "\u05ea\u05d5\u05d5\u05d9\u05ea \u05e1\u05e4\u05e7" }, "timeoutMs": { "title": "\u05e4\u05e1\u05e7 \u05d6\u05de\u05df STT (ms)" }, "enabledMessageTypes": { "title": "\u05e1\u05d5\u05d2\u05d9 \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05dc\u05ea\u05de\u05dc\u05d5\u05dc" }, "maxSizeBytes": { "title": "\u05d2\u05d5\u05d3\u05dc \u05d0\u05d5\u05d3\u05d9\u05d5 \u05de\u05e8\u05d1\u05d9 (\u05d1\u05d9\u05d9\u05d8\u05d9\u05dd)" }, "maxPerHour": { "title": "\u05de\u05e7\u05e1\u05d9\u05de\u05d5\u05dd \u05ea\u05de\u05dc\u05d5\u05dc\u05d9\u05dd / \u05e9\u05e2\u05d4 / \u05e1\u05e9\u05df" }, "deliveryWebhookUrl": { "title": "\u05db\u05ea\u05d5\u05d1\u05ea webhook \u05dc\u05de\u05e1\u05d9\u05e8\u05d4" }, "deliverySecret": { "title": "\u05e1\u05d5\u05d3 \u05de\u05e1\u05d9\u05e8\u05d4" }, "deliveryTimeoutMs": { "title": "\u05e4\u05e1\u05e7 \u05d6\u05de\u05df \u05de\u05e1\u05d9\u05e8\u05d4 (ms)" }, "chatDelivery": { "title": "\u05de\u05e1\u05d9\u05e8\u05d4 \u05d1\u05ea\u05d5\u05da \u05d4\u05e6'\u05d0\u05d8" } } }, "te": { "name": "\u0c35\u0c3e\u0c2f\u0c3f\u0c38\u0c4d \u0c28\u0c4b\u0c1f\u0c4d \u0c1f\u0c4d\u0c30\u0c3e\u0c28\u0c4d\u0c38\u0c4d\u200c\u0c15\u0c4d\u0c30\u0c3f\u0c2a\u0c4d\u0c37\u0c28\u0c4d", "description": "\u0c07\u0c28\u0c4d\u200c\u0c2c\u0c4c\u0c02\u0c21\u0c4d WhatsApp \u0c35\u0c3e\u0c2f\u0c3f\u0c38\u0c4d \u0c28\u0c4b\u0c1f\u0c4d\u200c\u0c32\u0c28\u0c41 OpenAI-\u0c05\u0c28\u0c41\u0c15\u0c42\u0c32 \u0c38\u0c4d\u0c2a\u0c40\u0c1a\u0c4d-\u0c1f\u0c41-\u0c1f\u0c46\u0c15\u0c4d\u0c38\u0c4d\u0c1f\u0c4d \u0c2c\u0c4d\u0c2f\u0c3e\u0c15\u0c4d\u200c\u0c0e\u0c02\u0c21\u0c4d (\u0c38\u0c4d\u0c35\u0c40\u0c2f-\u0c39\u0c4b\u0c38\u0c4d\u0c1f\u0c4d \u0c1a\u0c47\u0c38\u0c3f\u0c28 Speaches/faster-whisper \u0c32\u0c47\u0c26\u0c3e \u0c39\u0c4b\u0c38\u0c4d\u0c1f\u0c4d \u0c1a\u0c47\u0c38\u0c3f\u0c28 Groq/OpenAI) \u0c26\u0c4d\u0c35\u0c3e\u0c30\u0c3e \u0c1f\u0c46\u0c15\u0c4d\u0c38\u0c4d\u0c1f\u0c4d\u200c\u0c17\u0c3e \u0c2e\u0c3e\u0c30\u0c41\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f \u0c2e\u0c30\u0c3f\u0c2f\u0c41 `message.transcription` \u0c08\u0c35\u0c46\u0c02\u0c1f\u0c4d\u200c\u0c28\u0c41 \u0c2e\u0c40 webhook \u0c15\u0c41 \u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c4d \u0c1a\u0c47\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f \u2014 \u0c24\u0c26\u0c4d\u0c35\u0c3e\u0c30\u0c3e \u0c2c\u0c3e\u0c1f\u0c4d\u200c\u0c32\u0c41 \u0c2e\u0c30\u0c3f\u0c2f\u0c41 AI \u0c06\u0c21\u0c3f\u0c2f\u0c4b\u0c28\u0c41 \u0c1a\u0c26\u0c35\u0c17\u0c32\u0c35\u0c41 \u0c2e\u0c30\u0c3f\u0c2f\u0c41 \u0c38\u0c4d\u0c2a\u0c02\u0c26\u0c3f\u0c02\u0c1a\u0c17\u0c32\u0c35\u0c41. \u0c38\u0c02\u0c26\u0c47\u0c36-\u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c40 \u0c2e\u0c3e\u0c30\u0c4d\u0c17\u0c02 \u0c28\u0c41\u0c02\u0c21\u0c3f \u0c2c\u0c2f\u0c1f; \u0c2a\u0c4d\u0c30\u0c3e\u0c30\u0c02\u0c2d\u0c3f\u0c02\u0c1a\u0c47 \u0c35\u0c30\u0c15\u0c41 \u0c28\u0c3f\u0c32\u0c3f\u0c2a\u0c3f\u0c35\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f.", "config": { "sttBaseUrl": { "title": "STT \u0c2c\u0c47\u0c38\u0c4d URL" }, "sttApiKey": { "title": "STT API \u0c15\u0c40" }, "model": { "title": "\u0c2e\u0c4b\u0c21\u0c32\u0c4d" }, "language": { "title": "\u0c2d\u0c3e\u0c37\u0c3e \u0c38\u0c42\u0c1a\u0c28" }, "provider": { "title": "\u0c2a\u0c4d\u0c30\u0c4a\u0c35\u0c48\u0c21\u0c30\u0c4d \u0c32\u0c47\u0c2c\u0c41\u0c32\u0c4d" }, "timeoutMs": { "title": "STT \u0c1f\u0c48\u0c2e\u0c4d\u200c\u0c05\u0c35\u0c41\u0c1f\u0c4d (ms)" }, "enabledMessageTypes": { "title": "\u0c1f\u0c4d\u0c30\u0c3e\u0c28\u0c4d\u0c38\u0c4d\u200c\u0c15\u0c4d\u0c30\u0c48\u0c2c\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c4d\u0c38\u0c3f\u0c28 \u0c38\u0c02\u0c26\u0c47\u0c36 \u0c30\u0c15\u0c3e\u0c32\u0c41" }, "maxSizeBytes": { "title": "\u0c17\u0c30\u0c3f\u0c37\u0c4d\u0c1f \u0c06\u0c21\u0c3f\u0c2f\u0c4b \u0c2a\u0c30\u0c3f\u0c2e\u0c3e\u0c23\u0c02 (\u0c2c\u0c48\u0c1f\u0c4d\u0c32\u0c41)" }, "maxPerHour": { "title": "\u0c17\u0c30\u0c3f\u0c37\u0c4d\u0c1f \u0c1f\u0c4d\u0c30\u0c3e\u0c28\u0c4d\u0c38\u0c4d\u200c\u0c15\u0c4d\u0c30\u0c3f\u0c2a\u0c4d\u0c37\u0c28\u0c4d\u200c\u0c32\u0c41 / \u0c17\u0c02\u0c1f / \u0c38\u0c46\u0c37\u0c28\u0c4d" }, "deliveryWebhookUrl": { "title": "\u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c40 webhook URL" }, "deliverySecret": { "title": "\u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c40 \u0c30\u0c39\u0c38\u0c4d\u0c2f\u0c02" }, "deliveryTimeoutMs": { "title": "\u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c40 \u0c1f\u0c48\u0c2e\u0c4d\u200c\u0c05\u0c35\u0c41\u0c1f\u0c4d (ms)" }, "chatDelivery": { "title": "\u0c1a\u0c3e\u0c1f\u0c4d\u200c\u0c32\u0c4b \u0c21\u0c46\u0c32\u0c3f\u0c35\u0c30\u0c40" } } }, "zh-CN": { "name": "\u8bed\u97f3\u6d88\u606f\u8f6c\u5199", "description": "\u901a\u8fc7\u517c\u5bb9 OpenAI \u7684\u8bed\u97f3\u8f6c\u6587\u5b57\u540e\u7aef\uff08\u81ea\u6258\u7ba1 Speaches/faster-whisper \u6216\u6258\u7ba1\u7684 Groq/OpenAI\uff09\u5c06\u4f20\u5165\u7684 WhatsApp \u8bed\u97f3\u6d88\u606f\u8f6c\u5199\u4e3a\u6587\u672c\uff0c\u5e76\u5411\u4f60\u7684 webhook \u6295\u9012 `message.transcription` \u4e8b\u4ef6\u2014\u2014\u8ba9\u673a\u5668\u4eba\u548c AI \u80fd\u591f\u8bfb\u53d6\u5e76\u56de\u590d\u8bed\u97f3\u3002\u4e0d\u5728\u6d88\u606f\u6295\u9012\u8def\u5f84\u4e0a\uff1b\u542f\u7528\u524d\u4fdd\u6301\u7981\u7528\u3002", "config": { "sttBaseUrl": { "title": "STT \u57fa\u7840 URL" }, "sttApiKey": { "title": "STT API \u5bc6\u94a5" }, "model": { "title": "\u6a21\u578b" }, "language": { "title": "\u8bed\u8a00\u63d0\u793a" }, "provider": { "title": "\u63d0\u4f9b\u5546\u6807\u7b7e" }, "timeoutMs": { "title": "STT \u8d85\u65f6\uff08\u6beb\u79d2\uff09" }, "enabledMessageTypes": { "title": "\u8981\u8f6c\u5199\u7684\u6d88\u606f\u7c7b\u578b" }, "maxSizeBytes": { "title": "\u6700\u5927\u97f3\u9891\u5927\u5c0f\uff08\u5b57\u8282\uff09" }, "maxPerHour": { "title": "\u6bcf\u5c0f\u65f6\u6bcf\u4f1a\u8bdd\u6700\u5927\u8f6c\u5199\u6570" }, "deliveryWebhookUrl": { "title": "\u6295\u9012 webhook URL" }, "deliverySecret": { "title": "\u6295\u9012\u5bc6\u94a5" }, "deliveryTimeoutMs": { "title": "\u6295\u9012\u8d85\u65f6\uff08\u6beb\u79d2\uff09" }, "chatDelivery": { "title": "\u804a\u5929\u5185\u6295\u9012" } } }, "zh-HK": { "name": "\u8a9e\u97f3\u8a0a\u606f\u8f49\u5beb", "description": "\u900f\u904e\u517c\u5bb9 OpenAI \u7684\u8a9e\u97f3\u8f49\u6587\u5b57\u5f8c\u7aef\uff08\u81ea\u8a17\u7ba1 Speaches/faster-whisper \u6216\u8a17\u7ba1\u7684 Groq/OpenAI\uff09\u5c07\u50b3\u5165\u7684 WhatsApp \u8a9e\u97f3\u8a0a\u606f\u8f49\u5beb\u70ba\u6587\u5b57\uff0c\u4e26\u5411\u4f60\u7684 webhook \u6295\u905e `message.transcription` \u4e8b\u4ef6\u2014\u2014\u8b93\u6a5f\u5668\u4eba\u53ca AI \u80fd\u5920\u8b80\u53d6\u4e26\u56de\u8986\u8a9e\u97f3\u3002\u4e0d\u5728\u8a0a\u606f\u6295\u905e\u8def\u5f91\u4e0a\uff1b\u555f\u7528\u524d\u4fdd\u6301\u505c\u7528\u3002", "config": { "sttBaseUrl": { "title": "STT \u57fa\u790e URL" }, "sttApiKey": { "title": "STT API \u91d1\u9470" }, "model": { "title": "\u6a21\u578b" }, "language": { "title": "\u8a9e\u8a00\u63d0\u793a" }, "provider": { "title": "\u63d0\u4f9b\u8005\u6a19\u7c64" }, "timeoutMs": { "title": "STT \u903e\u6642\uff08\u6beb\u79d2\uff09" }, "enabledMessageTypes": { "title": "\u8981\u8f49\u5beb\u7684\u8a0a\u606f\u985e\u578b" }, "maxSizeBytes": { "title": "\u6700\u5927\u97f3\u8a0a\u5927\u5c0f\uff08\u4f4d\u5143\u7d44\uff09" }, "maxPerHour": { "title": "\u6bcf\u5c0f\u6642\u6bcf\u5de5\u4f5c\u968e\u6bb5\u6700\u5927\u8f49\u5beb\u6578" }, "deliveryWebhookUrl": { "title": "\u6295\u905e webhook URL" }, "deliverySecret": { "title": "\u6295\u905e\u5bc6\u9470" }, "deliveryTimeoutMs": { "title": "\u6295\u905e\u903e\u6642\uff08\u6beb\u79d2\uff09" }, "chatDelivery": { "title": "\u5c0d\u8a71\u5167\u6295\u905e" } } }, "hi": { "name": "\u0935\u0949\u092f\u0938 \u0928\u094b\u091f \u091f\u094d\u0930\u093e\u0902\u0938\u0915\u094d\u0930\u093f\u092a\u094d\u0936\u0928", "description": "OpenAI-\u0938\u0902\u0917\u0924 \u0938\u094d\u092a\u0940\u091a-\u091f\u0942-\u091f\u0947\u0915\u094d\u0938\u094d\u091f \u092c\u0948\u0915\u090f\u0902\u0921 (\u0938\u0947\u0932\u094d\u092b-\u0939\u094b\u0938\u094d\u091f\u0947\u0921 Speaches/faster-whisper \u092f\u093e \u0939\u094b\u0938\u094d\u091f\u0947\u0921 Groq/OpenAI) \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u0907\u0928\u092c\u093e\u0909\u0902\u0921 WhatsApp \u0935\u0949\u092f\u0938 \u0928\u094b\u091f\u094d\u0938 \u0915\u094b \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u092e\u0947\u0902 \u091f\u094d\u0930\u093e\u0902\u0938\u0915\u094d\u0930\u093e\u0907\u092c \u0915\u0930\u0924\u093e \u0939\u0948 \u0914\u0930 \u0906\u092a\u0915\u0947 \u0935\u0947\u092c\u0939\u0941\u0915 \u092a\u0930 `message.transcription` \u0907\u0935\u0947\u0902\u091f \u0921\u093f\u0932\u0940\u0935\u0930 \u0915\u0930\u0924\u093e \u0939\u0948 \u2014 \u0924\u093e\u0915\u093f \u092c\u0949\u091f\u094d\u0938 \u0914\u0930 AI \u0911\u0921\u093f\u092f\u094b \u0915\u094b \u092a\u0922\u093c \u0938\u0915\u0947\u0902 \u0914\u0930 \u0930\u093f\u092a\u094d\u0932\u093e\u0908 \u0915\u0930 \u0938\u0915\u0947\u0902\u0964 \u0938\u0902\u0926\u0947\u0936-\u0935\u093f\u0924\u0930\u0923 (message-delivery) \u092a\u0925 \u0938\u0947 \u0905\u0932\u0917; \u0938\u0915\u094d\u0937\u092e \u0915\u093f\u090f \u091c\u093e\u0928\u0947 \u0924\u0915 \u0905\u0915\u094d\u0937\u092e\u0964", "config": { "sttBaseUrl": { "title": "STT \u092c\u0947\u0938 URL" }, "sttApiKey": { "title": "STT API \u0915\u0941\u0902\u091c\u0940" }, "model": { "title": "\u092e\u0949\u0921\u0932" }, "language": { "title": "\u092d\u093e\u0937\u093e \u0939\u093f\u0902\u091f" }, "provider": { "title": "\u092a\u094d\u0930\u094b\u0935\u093e\u0907\u0921\u0930 (Provider) \u0932\u0947\u092c\u0932" }, "timeoutMs": { "title": "STT \u091f\u093e\u0907\u092e\u0906\u0909\u091f (ms)" }, "enabledMessageTypes": { "title": "\u091f\u094d\u0930\u093e\u0902\u0938\u0915\u094d\u0930\u093e\u0907\u092c \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0938\u0902\u0926\u0947\u0936 \u092a\u094d\u0930\u0915\u093e\u0930" }, "maxSizeBytes": { "title": "\u0905\u0927\u093f\u0915\u0924\u092e \u0911\u0921\u093f\u092f\u094b \u0906\u0915\u093e\u0930 (\u092c\u093e\u0907\u091f\u094d\u0938)" }, "maxPerHour": { "title": "\u092a\u094d\u0930\u0924\u093f \u0918\u0902\u091f\u093e / \u0938\u0947\u0936\u0928 \u0905\u0927\u093f\u0915\u0924\u092e \u091f\u094d\u0930\u093e\u0902\u0938\u0915\u094d\u0930\u093f\u092a\u094d\u0936\u0928" }, "deliveryWebhookUrl": { "title": "\u0921\u093f\u0932\u0940\u0935\u0930\u0940 \u0935\u0947\u092c\u0939\u0941\u0915 URL" }, "deliverySecret": { "title": "\u0921\u093f\u0932\u0940\u0935\u0930\u0940 \u0938\u0940\u0915\u094d\u0930\u0947\u091f" }, "deliveryTimeoutMs": { "title": "\u0921\u093f\u0932\u0940\u0935\u0930\u0940 \u091f\u093e\u0907\u092e\u0906\u0909\u091f (ms)" }, "chatDelivery": { "title": "\u0907\u0928-\u091a\u0948\u091f \u0921\u093f\u0932\u0940\u0935\u0930\u0940" } } }, "de": { "name": "Sprachnachrichten-Transkription", "description": "Transkribiert WhatsApp-Sprachnachrichten über einen OpenAI-kompatiblen Dienst und liefert message.transcription an Ihren Webhook.", "config": { "sttBaseUrl": { "title": "STT-Basis-URL" }, "sttApiKey": { "title": "STT-API-Schlüssel" }, "model": { "title": "Modell" }, "language": { "title": "Sprachhinweis" }, "provider": { "title": "Anbieterbezeichnung" }, "timeoutMs": { "title": "Anfragezeitlimit (ms)" }, "enabledMessageTypes": { "title": "Zu transkribierende Nachrichtentypen" }, "maxSizeBytes": { "title": "Maximale Audiogröße (Bytes)" }, "maxPerHour": { "title": "Max. Transkriptionen pro Stunde und Sitzung" }, "deliveryWebhookUrl": { "title": "Webhook-URL für die Zustellung" }, "deliverySecret": { "title": "Zustellungsgeheimnis" }, "deliveryTimeoutMs": { "title": "Zustellungszeitlimit (ms)" }, "chatDelivery": { "title": "Zustellung im Chat" } } }, "tr": { "name": "Sesli Mesaj Yazıya Çevirme", "description": "WhatsApp sesli mesajlarını OpenAI uyumlu bir hizmetle yazıya çevirir ve message.transcription olayını webhook adresinize gönderir.", "config": { "sttBaseUrl": { "title": "STT temel URL adresi" }, "sttApiKey": { "title": "STT API anahtarı" }, "model": { "title": "Model" }, "language": { "title": "Dil ipucu" }, "provider": { "title": "Sağlayıcı etiketi" }, "timeoutMs": { "title": "İstek zaman aşımı (ms)" }, "enabledMessageTypes": { "title": "Yazıya çevrilecek mesaj türleri" }, "maxSizeBytes": { "title": "En fazla ses boyutu (bayt)" }, "maxPerHour": { "title": "Oturum başına saatlik yazıya çevirme sınırı" }, "deliveryWebhookUrl": { "title": "Teslimat webhook URL adresi" }, "deliverySecret": { "title": "Teslimat gizli anahtarı" }, "deliveryTimeoutMs": { "title": "Teslimat zaman aşımı (ms)" }, "chatDelivery": { "title": "Sohbet içi teslimat" } } }, "pt-BR": { "name": "Transcrição de mensagens de voz", "description": "Transcreve mensagens de voz do WhatsApp por um serviço compatível com OpenAI e envia message.transcription ao seu webhook.", "config": { "sttBaseUrl": { "title": "URL base de STT" }, "sttApiKey": { "title": "Chave da API de STT" }, "model": { "title": "Modelo" }, "language": { "title": "Idioma sugerido" }, "provider": { "title": "Nome do provedor" }, "timeoutMs": { "title": "Tempo limite da requisição (ms)" }, "enabledMessageTypes": { "title": "Tipos de mensagem para transcrever" }, "maxSizeBytes": { "title": "Tamanho máximo do áudio (bytes)" }, "maxPerHour": { "title": "Máx. de transcrições por hora por sessão" }, "deliveryWebhookUrl": { "title": "URL do webhook de entrega" }, "deliverySecret": { "title": "Segredo de entrega" }, "deliveryTimeoutMs": { "title": "Tempo limite de entrega (ms)" }, "chatDelivery": { "title": "Entrega na conversa" } } }, "ko": { "name": "음성 메시지 전사", "description": "OpenAI 호환 서비스로 WhatsApp 음성 메시지를 텍스트로 변환하고 웹훅으로 message.transcription 이벤트를 전달합니다.", "config": { "sttBaseUrl": { "title": "STT 기본 URL" }, "sttApiKey": { "title": "STT API 키" }, "model": { "title": "모델" }, "language": { "title": "언어 힌트" }, "provider": { "title": "제공업체 이름" }, "timeoutMs": { "title": "요청 제한 시간 (ms)" }, "enabledMessageTypes": { "title": "전사할 메시지 유형" }, "maxSizeBytes": { "title": "최대 오디오 크기 (바이트)" }, "maxPerHour": { "title": "세션별 시간당 최대 전사 수" }, "deliveryWebhookUrl": { "title": "전달 웹훅 URL" }, "deliverySecret": { "title": "전달 비밀 키" }, "deliveryTimeoutMs": { "title": "전달 제한 시간 (ms)" }, "chatDelivery": { "title": "채팅 내 전달" } } }, "id": { "name": "Transkripsi Pesan Suara", "description": "Mentranskripsikan pesan suara WhatsApp melalui layanan yang kompatibel dengan OpenAI dan mengirim peristiwa message.transcription ke webhook Anda.", "config": { "sttBaseUrl": { "title": "URL dasar STT" }, "sttApiKey": { "title": "Kunci API STT" }, "model": { "title": "Model" }, "language": { "title": "Petunjuk bahasa" }, "provider": { "title": "Label penyedia" }, "timeoutMs": { "title": "Batas waktu permintaan (ms)" }, "enabledMessageTypes": { "title": "Jenis pesan untuk ditranskripsikan" }, "maxSizeBytes": { "title": "Ukuran maksimum audio (byte)" }, "maxPerHour": { "title": "Maks. transkripsi per jam per sesi" }, "deliveryWebhookUrl": { "title": "URL webhook pengiriman" }, "deliverySecret": { "title": "Rahasia pengiriman" }, "deliveryTimeoutMs": { "title": "Batas waktu pengiriman (ms)" }, "chatDelivery": { "title": "Pengiriman ke chat" } } } } }