---
read_when:
    - ऑडियो ट्रांसक्रिप्शन या मीडिया प्रबंधन बदलना
summary: इनबाउंड ऑडियो/वॉइस नोट्स को कैसे डाउनलोड और ट्रांसक्राइब करके उत्तरों में शामिल किया जाता है
title: ऑडियो और वॉइस नोट्स
x-i18n:
    generated_at: "2026-07-27T18:07:08Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 4076e3e55eb5c6dcc94cfdd842619697c8d756b924956d7b266d18446b4dd9be
    source_path: nodes/audio.md
    workflow: 16
---

## यह क्या करता है

जब ऑडियो समझ सक्षम (या स्वतः पहचानी गई) होती है, तो OpenClaw:

1. पहले ऑडियो अटैचमेंट (स्थानीय पथ या URL) का पता लगाता है और आवश्यकता होने पर उसे डाउनलोड करता है।
2. प्रत्येक मॉडल प्रविष्टि को भेजने से पहले `maxBytes` लागू करता है।
3. क्रम में पहली योग्य मॉडल प्रविष्टि (प्रदाता या CLI) चलाता है; यदि कोई प्रविष्टि विफल होती है या छोड़ दी जाती है (आकार/समय-सीमा), तो अगली प्रविष्टि आज़माई जाती है।
4. सफलता मिलने पर, `Body` को `[Audio]` ब्लॉक से बदलता है और `{{Transcript}}` सेट करता है।

ट्रांसक्रिप्शन सफल होने पर, `CommandBody`/`RawBody` को भी ट्रांसक्रिप्ट पर सेट किया जाता है, ताकि स्लैश कमांड काम करते रहें। `--verbose` के साथ, लॉग दिखाते हैं कि ट्रांसक्रिप्शन कब चलता है और कब वह मुख्य सामग्री को बदलता है।

## स्वतः पहचान (डिफ़ॉल्ट)

यदि आपने मॉडल कॉन्फ़िगर नहीं किए हैं और `tools.media.audio.enabled`, `false` नहीं है, तो OpenClaw इस क्रम में स्वतः पहचान करता है और पहले कार्यशील विकल्प पर रुक जाता है:

1. **सक्रिय उत्तर मॉडल**, जब उसका प्रदाता ऑडियो समझ का समर्थन करता है।
2. **कॉन्फ़िगर किया गया प्रदाता प्रमाणीकरण** — ऑडियो ट्रांसक्रिप्शन का समर्थन करने वाले प्रदाता के लिए उपलब्ध प्रमाणीकरण वाली कोई भी `models.providers.*` प्रविष्टि। इसकी जाँच स्थानीय CLI से पहले की जाती है, इसलिए कॉन्फ़िगर की गई API कुंजी हमेशा `PATH` पर स्थानीय बाइनरी से अधिक प्राथमिकता पाती है।
   एकाधिक प्रदाता कॉन्फ़िगर होने पर उनकी प्राथमिकता: Groq, OpenAI, xAI, Deepgram, Google, SenseAudio, ElevenLabs, Mistral।
3. **स्थानीय CLI** (केवल तब, जब कोई प्रदाता प्रमाणीकरण हल न हुआ हो)। OpenClaw एक क्रमबद्ध फ़ॉलबैक सूची बनाता है:
   - `whisper-cli`, CPU डिफ़ॉल्ट से पहले केवल तब, जब मौजूदा प्रक्रिया में पहले हुए मॉडल आह्वान ने Metal या CUDA देखा हो
   - `sherpa-onnx-offline` अपने डिफ़ॉल्ट CPU प्रदाता पर (`tokens.txt`, `encoder.onnx`, `decoder.onnx`, और `joiner.onnx` के साथ `SHERPA_ONNX_MODEL_DIR` आवश्यक है)
   - `whisper-cli`, जब Metal/CUDA केवल बिल्ड-सक्षम हो या चुना गया बैकएंड अन्यथा देखा न गया हो
   - `parakeet-mlx` Apple Silicon पर (MLX-सक्षम; डिवाइस का उपयोग अब भी अप्रेक्षित रहता है)
   - `whisper` (Python CLI; मॉडल स्वचालित रूप से डाउनलोड करता है)

इंस्टॉल/लिंक का स्रोत क्षमता का प्रमाण है, निष्पादन का नहीं। यह अपने आप किसी उम्मीदवार को CPU sherpa से आगे कभी नहीं ले जाता। OpenClaw केवल बैकएंड की जाँच करने के लिए सेटअप या स्थिति जाँच के दौरान मॉडल लोड नहीं करता।
स्वतः पहचाना गया whisper.cpp अपने सामान्य मॉडल-रन लॉग सक्षम रखता है, ताकि OpenClaw अपस्ट्रीम `using … backend` पंक्ति रिकॉर्ड कर सके। स्पष्ट CLI प्रविष्टियाँ अपने कॉन्फ़िगर किए गए आउटपुट फ़्लैग बनाए रखती हैं।

मीडिया समझ के लिए Gemini CLI की स्वतः पहचान को इमेज/वीडियो हेतु सैंडबॉक्स किए गए Antigravity CLI (`agy`) फ़ॉलबैक से बदल दिया गया था; ऑडियो ऊपर दी गई स्थानीय बाइनरी के अतिरिक्त किसी CLI फ़ॉलबैक का उपयोग नहीं करता।

स्वतः पहचान अक्षम करने के लिए, `tools.media.audio.enabled: false` सेट करें। अनुकूलित करने के लिए, `tools.media.models` में क्षमता-टैग वाली प्रविष्टियाँ जोड़ें।

<Note>
macOS/Linux/Windows पर बाइनरी पहचान सर्वोत्तम प्रयास के आधार पर होती है। सुनिश्चित करें कि CLI, `PATH` पर है (`~` विस्तारित किया जाता है), या पूर्ण कमांड पथ वाला स्पष्ट CLI मॉडल सेट करें।
</Note>

ऑडियो का ट्रांसक्रिप्शन किए बिना स्थानीय चयन की जाँच करें:

```bash
openclaw capability audio providers
openclaw doctor --lint --only core/doctor/local-audio-acceleration --severity-min info
```

प्रदाता सूची वैश्विक प्रदाता चयन से अलग स्थानीय फ़ॉलबैक विजेता के साथ-साथ सक्षम, अनुरोधित और देखे गए बैकएंड फ़ील्ड की रिपोर्ट करती है। ट्रांसक्रिप्शन चलने के बाद, `/status` मीडिया पंक्ति में अनुरोधित या देखा गया बैकएंड रिपोर्ट करता है। स्पष्ट ऑडियो-सक्षम `tools.media.models` CLI प्रविष्टियाँ अब भी स्वतः चयन को बायपास करती हैं; उनके बैकएंड-विशिष्ट फ़्लैग का उपयोग करें, जैसे sherpa `--provider=cuda` या whisper.cpp `--no-gpu`/`--device`।

## कॉन्फ़िगरेशन उदाहरण

### प्रदाता + CLI फ़ॉलबैक (OpenAI + Whisper CLI)

```json5
{
  tools: {
    media: {
      models: [
        { provider: "openai", model: "gpt-4o-transcribe", capabilities: ["audio"] },
        {
          type: "cli",
          command: "whisper",
          args: ["--model", "base", "{{AttachmentPath}}"],
          timeoutSeconds: 45,
          capabilities: ["audio"],
        },
      ],
      audio: { enabled: true, preferredModel: "openai/gpt-4o-transcribe" },
    },
  },
}
```

### केवल प्रदाता (Deepgram)

```json5
{
  tools: {
    media: {
      models: [{ provider: "deepgram", model: "nova-3", capabilities: ["audio"] }],
      audio: { enabled: true },
    },
  },
}
```

### केवल प्रदाता (Mistral Voxtral)

```json5
{
  tools: {
    media: {
      models: [{ provider: "mistral", model: "voxtral-mini-latest", capabilities: ["audio"] }],
      audio: { enabled: true },
    },
  },
}
```

### केवल प्रदाता (SenseAudio)

```json5
{
  tools: {
    media: {
      models: [
        {
          provider: "senseaudio",
          model: "senseaudio-asr-pro-1.5-260319",
          capabilities: ["audio"],
        },
      ],
      audio: { enabled: true },
    },
  },
}
```

### ट्रांसक्रिप्ट को चैट में दोहराएँ (सहमति-आधारित)

```json5
{
  tools: {
    media: {
      audio: {
        enabled: true,
        echoTranscript: true,
        echoFormat: '📝 "{transcript}"',
      },
    },
  },
}
```

## टिप्पणियाँ और सीमाएँ

- प्रदाता प्रमाणीकरण मानक मॉडल प्रमाणीकरण क्रम (प्रमाणीकरण प्रोफ़ाइल, परिवेश चर, `models.providers.*.apiKey`) का पालन करता है।
- Groq सेटअप विवरण: [Groq](/hi/providers/groq)।
- `provider: "deepgram"` का उपयोग होने पर Deepgram, `DEEPGRAM_API_KEY` को प्राप्त करता है। सेटअप विवरण: [Deepgram](/hi/providers/deepgram)।
- Mistral सेटअप विवरण: [Mistral](/hi/providers/mistral)।
- `provider: "senseaudio"` का उपयोग होने पर SenseAudio, `SENSEAUDIO_API_KEY` को प्राप्त करता है। सेटअप विवरण: [SenseAudio](/hi/providers/senseaudio)।
- ऑडियो प्रदाता `tools.media.audio` के अंतर्गत डिफ़ॉल्ट का उपयोग कर सकते हैं या अपनी `tools.media.models[]` प्रविष्टि पर `baseUrl`, `headers`, `providerOptions`, और सीमाओं को ओवरराइड कर सकते हैं।
- अंतर्निहित ऑडियो आकार सीमा 20MB है। प्रविष्टि-स्तरीय `maxBytes` ओवरराइड इसे बदल सकता है; उस मॉडल के लिए सीमा से बड़ा ऑडियो छोड़ दिया जाता है और अगली प्रविष्टि आज़माई जाती है।
- 1024 बाइट से छोटी ऑडियो फ़ाइलें प्रदाता/CLI ट्रांसक्रिप्शन से पहले छोड़ दी जाती हैं।
- ऑडियो के लिए डिफ़ॉल्ट `maxChars` **सेट नहीं है** (पूर्ण ट्रांसक्रिप्ट)। आउटपुट छोटा करने के लिए `tools.media.audio.maxChars` या प्रति-प्रविष्टि `maxChars` सेट करें।
- OpenAI स्वतः पहचान का डिफ़ॉल्ट `gpt-4o-transcribe` है; सस्ते/तेज़ विकल्प के लिए `model: "gpt-4o-mini-transcribe"` सेट करें।
- ट्रांसक्रिप्ट टेम्पलेट में `{{Transcript}}` के रूप में उपलब्ध है।
- `tools.media.audio.echoTranscript` डिफ़ॉल्ट रूप से बंद है; `echoFormat`, `{transcript}` प्लेसहोल्डर स्वीकार करता है।
- CLI stdout की सीमा 5MB है; CLI आउटपुट संक्षिप्त रखें।
- CLI `args` को स्थानीय ऑडियो फ़ाइल पथ के लिए `{{AttachmentPath}}` का उपयोग करना चाहिए। पुराने `audio.transcription.command` कॉन्फ़िगरेशन से अप्रचलित `{input}` प्लेसहोल्डर माइग्रेट करने के लिए `openclaw doctor --fix` चलाएँ (सेवानिवृत्त कुंजी: `audio.transcription`, जिसे `tools.media.models` ने प्रतिस्थापित किया है)। `{{MediaPath}}` एक अप्रचलित संगतता उपनाम बना हुआ है।
- `tools.media.concurrency` मीडिया कार्यों को सीमित करता है; यह GPU शेड्यूलर नहीं है।

### स्थायी स्थानीय STT

स्वतः पहचाना गया स्थानीय STT प्रति अनुरोध अलग प्रक्रिया के रूप में चलता रहता है। OpenClaw वर्तमान में स्थायी whisper.cpp सर्वर प्रबंधित नहीं करता, क्योंकि मानक Homebrew `whisper-cpp` पैकेज उस सर्वर को अक्षम करता है, जबकि अपस्ट्रीम उदाहरण में कोई कॉन्फ़िगर की गई सीमित प्रवेश कतार नहीं है। सुरक्षित रूप से सक्षम किए जाने से पहले Plugin के स्वामित्व वाले स्थायी जीवनचक्र को स्वास्थ्य/स्टार्टअप, मॉडल रेज़िडेंसी, सीमित कतारबद्धता, रद्दीकरण/समय-सीमा, केवल लूपबैक बिना-प्रमाणीकरण संचालन, और बिना क्लाउड फ़ॉलबैक वाला अनुरक्षित पैकेज्ड वर्कर चाहिए।

### प्रॉक्सी परिवेश समर्थन

प्रदाता-आधारित ऑडियो ट्रांसक्रिप्शन undici के `EnvHttpProxyAgent` अर्थविज्ञान से मेल खाते हुए मानक आउटबाउंड प्रॉक्सी परिवेश चर का पालन करता है:

- `HTTPS_PROXY` / `https_proxy`
- `HTTP_PROXY` / `http_proxy`
- `ALL_PROXY` / `all_proxy`

लोअरकेस चर अपरकेस पर प्राथमिकता पाते हैं; `NO_PROXY`/`no_proxy` प्रविष्टियाँ (होस्टनाम, `*.suffix`, या `host:port`) प्रॉक्सी को बायपास करती हैं। यदि कोई प्रॉक्सी परिवेश चर सेट नहीं है, तो सीधे इग्रेस का उपयोग किया जाता है। यदि प्रॉक्सी सेटअप विफल होता है (विकृत URL), तो OpenClaw चेतावनी लॉग करता है और सीधे फ़ेच पर वापस लौटता है।

## समूहों में उल्लेख पहचान

ऑडियो प्रीफ़्लाइट का समर्थन करने वाले चैनलों पर, समूह चैट के लिए `requireMention: true` सेट होने पर OpenClaw उल्लेखों की जाँच से **पहले** ऑडियो का ट्रांसक्रिप्शन करता है। इससे कैप्शन-रहित वॉइस नोट उल्लेख गेट से गुजर सकता है, जब उसके ट्रांसक्रिप्ट में कॉन्फ़िगर किया गया उल्लेख पैटर्न हो। चैनल-विशिष्ट दस्तावेज़ उन ट्रांसपोर्ट का वर्णन करते हैं जिन्हें टाइप किया हुआ उल्लेख चाहिए।

**यह कैसे काम करता है:**

1. यदि किसी वॉइस संदेश में कोई टेक्स्ट मुख्य सामग्री नहीं है और समूह में उल्लेख आवश्यक हैं, तो OpenClaw पहले ऑडियो अटैचमेंट का प्रीफ़्लाइट ट्रांसक्रिप्शन करता है।
2. उल्लेख पैटर्न (उदाहरण के लिए `@BotName`, इमोजी ट्रिगर) के लिए ट्रांसक्रिप्ट की जाँच की जाती है।
3. यदि कोई उल्लेख मिलता है, तो संदेश पूर्ण उत्तर पाइपलाइन से आगे बढ़ता है।

**फ़ॉलबैक व्यवहार:** यदि प्रीफ़्लाइट ट्रांसक्रिप्शन विफल होता है (समय-सीमा, API त्रुटि आदि), तो संदेश केवल-टेक्स्ट उल्लेख पहचान पर वापस लौटता है, ताकि मिश्रित संदेश (टेक्स्ट + ऑडियो) कभी छोड़े न जाएँ।

**प्रति Telegram समूह/विषय से बाहर निकलना:**

- उस समूह के लिए प्रीफ़्लाइट ट्रांसक्रिप्ट उल्लेख जाँच छोड़ने हेतु `channels.telegram.groups.<chatId>.disableAudioPreflight: true` सेट करें।
- प्रति-विषय ओवरराइड करने के लिए `channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflight` सेट करें (छोड़ने के लिए `true`, बलपूर्वक सक्षम करने के लिए `false`)।
- डिफ़ॉल्ट `false` है (उल्लेख-गेट की शर्तें मेल खाने पर प्रीफ़्लाइट सक्षम होता है)।

**उदाहरण:** कोई उपयोगकर्ता `requireMention: true` वाले Telegram समूह में "नमस्ते @Claude, मौसम कैसा है?" कहते हुए वॉइस नोट भेजता है। वॉइस नोट का ट्रांसक्रिप्शन होता है, उल्लेख पहचाना जाता है और एजेंट उत्तर देता है।

## ध्यान रखने योग्य बातें

- दायरा नियम पहले-मेल-की-जीत का उपयोग करते हैं; `chatType` को `direct`, `group`, या `channel` में सामान्यीकृत किया जाता है।
- सुनिश्चित करें कि आपका CLI 0 के साथ बाहर निकले और सादा टेक्स्ट प्रिंट करे; JSON आउटपुट को `jq -r .text` के माध्यम से रूपांतरित करने की आवश्यकता है।
- ज्ञात फ़ाइल-आउटपुट मोड प्रामाणिक हैं: खाली या अनुपलब्ध अनुमानित ट्रांसक्रिप्ट फ़ाइल CLI प्रगति आउटपुट पर वापस लौटने के बजाय कोई ट्रांसक्रिप्ट नहीं बनाती।
- `parakeet-mlx` के लिए, `--output-dir` और डिफ़ॉल्ट `{filename}` आउटपुट टेम्पलेट के साथ `--output-format txt` (या `all`) का उपयोग करें। अपस्ट्रीम `PARAKEET_OUTPUT_FORMAT` और `PARAKEET_OUTPUT_TEMPLATE` परिवेश चर का भी पालन किया जाता है। OpenClaw, `<output-dir>/<media-basename>.txt` पढ़ता है; डिफ़ॉल्ट `srt` प्रारूप, अन्य प्रारूप और कस्टम आउटपुट टेम्पलेट stdout का उपयोग जारी रखते हैं।
- उत्तर कतार अवरुद्ध होने से बचाने के लिए समय-सीमाएँ उचित रखें (`timeoutSeconds`, डिफ़ॉल्ट 60s)।
- प्रीफ़्लाइट ट्रांसक्रिप्शन उल्लेख पहचान के लिए केवल **पहले** ऑडियो अटैचमेंट को संसाधित करता है। अतिरिक्त ऑडियो अटैचमेंट मुख्य मीडिया-समझ चरण के दौरान संसाधित होते हैं।

## संबंधित

- [मीडिया समझ](/hi/nodes/media-understanding)
- [वार्ता मोड](/hi/nodes/talk)
- [वॉइस वेक](/hi/nodes/voicewake)
