> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Vercel AI SDK

> **Note**
>
> **कैसे करें गाइड** · मानता है कि आपने [स्पीच टू टेक्स्ट क्विकस्टार्ट](/docs/hi/eleven-api/guides/cookbooks/speech-to-text) पूरा कर लिया है और आपका Vercel प्रोजेक्ट सेट अप है।

# ElevenLabs Provider

[ElevenLabs प्रोवाइडर](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs), [ElevenLabs ट्रांसक्रिप्शन API](https://elevenlabs.io/speech-to-text) के लिए सपोर्ट देता है।

## सेटअप

ElevenLabs प्रोवाइडर `@ai-sdk/elevenlabs` मॉड्यूल में उपलब्ध है। आप इसे npm से इंस्टॉल कर सकते हैं:

```npm
npm install @ai-sdk/elevenlabs
```

## प्रोवाइडर इंस्टेंस

आप `@ai-sdk/elevenlabs` से डिफ़ॉल्ट प्रोवाइडर इंस्टेंस `elevenlabs` इंपोर्ट कर सकते हैं:

```ts
import { elevenlabs } from "@ai-sdk/elevenlabs";
```

अगर आपको कस्टम सेटअप चाहिए, तो आप `@ai-sdk/elevenlabs` से `createElevenLabs` इंपोर्ट करके अपनी सेटिंग्स के साथ प्रोवाइडर इंस्टेंस बना सकते हैं:

```ts
import { createElevenLabs } from "@ai-sdk/elevenlabs";

const elevenlabs = createElevenLabs({
  // custom settings, e.g.
  fetch: customFetch,
});
```

ElevenLabs प्रोवाइडर इंस्टेंस को कस्टमाइज़ करने के लिए आप ये वैकल्पिक सेटिंग्स इस्तेमाल कर सकते हैं:

* **apiKey** *string*

  `Authorization` हेडर का इस्तेमाल करके भेजी जाने वाली API कुंजी।
  डिफ़ॉल्ट रूप से यह `ELEVENLABS_API_KEY` एनवायरनमेंट वेरिएबल होती है।

* **headers** *Record\<string,string>*

  अनुरोधों में शामिल करने के लिए कस्टम हेडर।

* **fetch** *(input: RequestInfo, init?: RequestInit) => Promise\<Response>*

  कस्टम [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch) इंप्लीमेंटेशन।
  डिफ़ॉल्ट रूप से ग्लोबल `fetch` फ़ंक्शन इस्तेमाल होता है।
  आप इसका इस्तेमाल अनुरोधों को इंटरसेप्ट करने के लिए मिडलवेयर के रूप में कर सकते हैं,
  या, जैसे कि टेस्टिंग के लिए, कस्टम fetch इंप्लीमेंटेशन देने के लिए कर सकते हैं।

## ट्रांसक्रिप्शन मॉडल

आप `.transcription()` फ़ैक्टरी मेथड से [ElevenLabs ट्रांसक्रिप्शन API](https://elevenlabs.io/speech-to-text) को कॉल करने वाले मॉडल बना सकते हैं।

पहला आर्ग्युमेंट मॉडल ID है, जैसे `scribe_v2`।

```ts
const model = elevenlabs.transcription("scribe_v2");
```

आप `providerOptions` आर्ग्युमेंट का इस्तेमाल करके अतिरिक्त प्रोवाइडर-विशिष्ट विकल्प भी दे सकते हैं। उदाहरण के लिए, अगर पहले से पता हो, तो ISO-639-1 (जैसे `en`) फ़ॉर्मैट में इनपुट भाषा देने से कभी-कभी ट्रांसक्रिप्शन की परफ़ॉर्मेंस बेहतर हो सकती है।

```ts {7}
import { elevenlabs } from "@ai-sdk/elevenlabs";
import { experimental_transcribe as transcribe } from "ai";

const result = await transcribe({
  model: elevenlabs.transcription("scribe_v2"),
  audio: new Uint8Array([1, 2, 3, 4]),
  providerOptions: { elevenlabs: { languageCode: "en" } },
});
```

ये प्रोवाइडर विकल्प उपलब्ध हैं:

* **languageCode** *string*

  ऑडियो फ़ाइल की भाषा के अनुरूप ISO-639-1 या ISO-639-3 भाषा कोड।
  अगर पहले से पता हो, तो कभी-कभी ट्रांसक्रिप्शन की परफ़ॉर्मेंस बेहतर कर सकता है।
  डिफ़ॉल्ट रूप से `null` होता है, जिस स्थिति में भाषा का अनुमान अपने-आप लगाया जाता है।

* **tagAudioEvents** *boolean*

  ट्रांसक्रिप्शन में (हँसी), (कदमों की आहट) आदि जैसे ऑडियो इवेंट टैग करने हैं या नहीं।
  डिफ़ॉल्ट रूप से `true` होता है।

* **numSpeakers** *integer*

  अपलोड की गई फ़ाइल में बोलने वाले स्पीकर्स की अधिकतम संख्या।
  कौन कब बोल रहा है, इसका अनुमान लगाने में मदद कर सकता है।
  अधिकतम 32 स्पीकर्स का अनुमान लगाया जा सकता है।
  डिफ़ॉल्ट रूप से `null` होता है, जिस स्थिति में स्पीकर्स की संख्या मॉडल द्वारा सपोर्ट की गई अधिकतम वैल्यू पर सेट होती है।

* **timestampsGranularity** *enum*

  ट्रांसक्रिप्शन में टाइमस्टैंप की ग्रैन्युलैरिटी।
  डिफ़ॉल्ट रूप से `'word'` होता है।
  स्वीकार्य वैल्यू: `'none'`, `'word'`, `'character'`।

* **diarize** *boolean*

  अपलोड की गई फ़ाइल में इस समय कौन-सा स्पीकर बोल रहा है, यह एनोटेट करना है या नहीं।
  डिफ़ॉल्ट रूप से `true` होता है।

* **fileFormat** *enum*

  इनपुट ऑडियो का फ़ॉर्मैट।
  डिफ़ॉल्ट रूप से `'other'` होता है।
  स्वीकार्य वैल्यू: `'pcm_s16le_16'`, `'other'`।
  `'pcm_s16le_16'` के लिए, इनपुट ऑडियो 16kHz सैंपल रेट, सिंगल चैनल (मोनो) और लिटल-एंडियन बाइट ऑर्डर वाला 16-बिट PCM होना चाहिए।
  एन्कोडेड वेवफ़ॉर्म देने की तुलना में लेटेंसी कम होगी।

## अगले चरण

#### [सर्वर-साइड स्ट्रीमिंग](/docs/hi/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)

WebSocket-आधारित स्ट्रीमिंग API से रीयल टाइम में ऑडियो ट्रांसक्राइब करें।

#### [API रेफरेंस](/docs/hi/api-reference/speech-to-text)

पूरा स्पीच टू टेक्स्ट API रेफरेंस और पैरामीटर।