For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.meetstream.ai/api-reference/ap-is/transcription/llms.txt. For full documentation content, see https://docs.meetstream.ai/api-reference/ap-is/transcription/llms-full.txt.

# Transcribe

POST https://api.meetstream.ai/api/v1/bots/{bot_id}/transcribe
Content-Type: application/json

Reference: https://docs.meetstream.ai/api-reference/ap-is/transcription/transcribe-bot-audio

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Meetstream API
  version: 1.0.0
paths:
  /api/v1/bots/{bot_id}/transcribe:
    post:
      operationId: transcribe-bot-audio
      summary: Transcribe
      tags:
        - subpackage_transcription
      parameters:
        - name: bot_id
          in: path
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: 'Format: Token <your_api_key>'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscribeResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranscribeRequest'
servers:
  - url: https://api.meetstream.ai
components:
  schemas:
    TranscribeRequestProviderDeepgramModel:
      type: string
      enum:
        - nova-3
      title: TranscribeRequestProviderDeepgramModel
    TranscribeRequestProviderDeepgram:
      type: object
      properties:
        model:
          $ref: '#/components/schemas/TranscribeRequestProviderDeepgramModel'
        language:
          type: string
        punctuate:
          type: boolean
        smart_format:
          type: boolean
        diarize:
          type: boolean
        paragraphs:
          type: boolean
        numerals:
          type: boolean
        filler_words:
          type: boolean
        keywords:
          type: array
          items:
            type: string
        utterances:
          type: boolean
        utt_split:
          type: number
          format: double
        detect_language:
          type: boolean
        search:
          type: array
          items:
            type: string
        tag:
          type: array
          items:
            type: string
      title: TranscribeRequestProviderDeepgram
    TranscribeRequestProviderMeetstream:
      type: object
      properties:
        language:
          type: string
        translate:
          type: boolean
      title: TranscribeRequestProviderMeetstream
    TranscribeRequestProviderJigsawstack:
      type: object
      properties:
        language:
          type: string
        translate:
          type: boolean
        by_speaker:
          type: boolean
      title: TranscribeRequestProviderJigsawstack
    TranscribeRequestProviderSarvamModel:
      type: string
      enum:
        - saaras:v3
      title: TranscribeRequestProviderSarvamModel
    TranscribeRequestProviderSarvamMode:
      type: string
      enum:
        - transcribe
        - translate
      title: TranscribeRequestProviderSarvamMode
    TranscribeRequestProviderSarvam:
      type: object
      properties:
        model:
          $ref: '#/components/schemas/TranscribeRequestProviderSarvamModel'
        language_code:
          type: string
        mode:
          $ref: '#/components/schemas/TranscribeRequestProviderSarvamMode'
        with_diarization:
          type: boolean
      title: TranscribeRequestProviderSarvam
    TranscribeRequestProviderAssemblyaiSpeechModelsItems:
      type: string
      enum:
        - universal-2
      title: TranscribeRequestProviderAssemblyaiSpeechModelsItems
    TranscribeRequestProviderAssemblyai:
      type: object
      properties:
        speech_models:
          type: array
          items:
            $ref: >-
              #/components/schemas/TranscribeRequestProviderAssemblyaiSpeechModelsItems
        language_code:
          type: string
        speaker_labels:
          type: boolean
        punctuate:
          type: boolean
        format_text:
          type: boolean
        filter_profanity:
          type: boolean
        redact_pii:
          type: boolean
        auto_chapters:
          type: boolean
        entity_detection:
          type: boolean
        keyterms_prompt:
          type: array
          items:
            type: string
      title: TranscribeRequestProviderAssemblyai
    TranscribeRequestProvider:
      type: object
      properties:
        deepgram:
          $ref: '#/components/schemas/TranscribeRequestProviderDeepgram'
        meetstream:
          $ref: '#/components/schemas/TranscribeRequestProviderMeetstream'
        jigsawstack:
          $ref: '#/components/schemas/TranscribeRequestProviderJigsawstack'
        sarvam:
          $ref: '#/components/schemas/TranscribeRequestProviderSarvam'
        assemblyai:
          $ref: '#/components/schemas/TranscribeRequestProviderAssemblyai'
      title: TranscribeRequestProvider
    TranscribeRequest:
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/TranscribeRequestProvider'
        callback_url:
          type: string
      required:
        - provider
      title: TranscribeRequest
    TranscribeResponse:
      type: object
      properties:
        bot_id:
          type: string
        transcript_id:
          type: string
        provider:
          type: string
        message:
          type: string
      title: TranscribeResponse
  securitySchemes:
    TokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Format: Token <your_api_key>'

```

## SDK Code Examples

```python Deepgram Transcribe
import requests

url = "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

payload = {
    "provider": { "deepgram": {
            "model": "nova-3",
            "language": "en",
            "punctuate": True,
            "smart_format": True,
            "diarize": True,
            "paragraphs": True,
            "numerals": True,
            "filler_words": False,
            "keywords": ["MeetStream", "recording", "transcript"],
            "utterances": True,
            "utt_split": 0.8,
            "detect_language": False,
            "search": ["MeetStream", "recording"],
            "tag": ["custom"]
        } },
    "callback_url": "https://your-server.com"
}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Deepgram Transcribe
const url = 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"provider":{"deepgram":{"model":"nova-3","language":"en","punctuate":true,"smart_format":true,"diarize":true,"paragraphs":true,"numerals":true,"filler_words":false,"keywords":["MeetStream","recording","transcript"],"utterances":true,"utt_split":0.8,"detect_language":false,"search":["MeetStream","recording"],"tag":["custom"]}},"callback_url":"https://your-server.com"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Deepgram Transcribe
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

	payload := strings.NewReader("{\n  \"provider\": {\n    \"deepgram\": {\n      \"model\": \"nova-3\",\n      \"language\": \"en\",\n      \"punctuate\": true,\n      \"smart_format\": true,\n      \"diarize\": true,\n      \"paragraphs\": true,\n      \"numerals\": true,\n      \"filler_words\": false,\n      \"keywords\": [\n        \"MeetStream\",\n        \"recording\",\n        \"transcript\"\n      ],\n      \"utterances\": true,\n      \"utt_split\": 0.8,\n      \"detect_language\": false,\n      \"search\": [\n        \"MeetStream\",\n        \"recording\"\n      ],\n      \"tag\": [\n        \"custom\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Deepgram Transcribe
require 'uri'
require 'net/http'

url = URI("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"provider\": {\n    \"deepgram\": {\n      \"model\": \"nova-3\",\n      \"language\": \"en\",\n      \"punctuate\": true,\n      \"smart_format\": true,\n      \"diarize\": true,\n      \"paragraphs\": true,\n      \"numerals\": true,\n      \"filler_words\": false,\n      \"keywords\": [\n        \"MeetStream\",\n        \"recording\",\n        \"transcript\"\n      ],\n      \"utterances\": true,\n      \"utt_split\": 0.8,\n      \"detect_language\": false,\n      \"search\": [\n        \"MeetStream\",\n        \"recording\"\n      ],\n      \"tag\": [\n        \"custom\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}"

response = http.request(request)
puts response.read_body
```

```java Deepgram Transcribe
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"provider\": {\n    \"deepgram\": {\n      \"model\": \"nova-3\",\n      \"language\": \"en\",\n      \"punctuate\": true,\n      \"smart_format\": true,\n      \"diarize\": true,\n      \"paragraphs\": true,\n      \"numerals\": true,\n      \"filler_words\": false,\n      \"keywords\": [\n        \"MeetStream\",\n        \"recording\",\n        \"transcript\"\n      ],\n      \"utterances\": true,\n      \"utt_split\": 0.8,\n      \"detect_language\": false,\n      \"search\": [\n        \"MeetStream\",\n        \"recording\"\n      ],\n      \"tag\": [\n        \"custom\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")
  .asString();
```

```php Deepgram Transcribe
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe', [
  'body' => '{
  "provider": {
    "deepgram": {
      "model": "nova-3",
      "language": "en",
      "punctuate": true,
      "smart_format": true,
      "diarize": true,
      "paragraphs": true,
      "numerals": true,
      "filler_words": false,
      "keywords": [
        "MeetStream",
        "recording",
        "transcript"
      ],
      "utterances": true,
      "utt_split": 0.8,
      "detect_language": false,
      "search": [
        "MeetStream",
        "recording"
      ],
      "tag": [
        "custom"
      ]
    }
  },
  "callback_url": "https://your-server.com"
}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Deepgram Transcribe
using RestSharp;

var client = new RestClient("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"provider\": {\n    \"deepgram\": {\n      \"model\": \"nova-3\",\n      \"language\": \"en\",\n      \"punctuate\": true,\n      \"smart_format\": true,\n      \"diarize\": true,\n      \"paragraphs\": true,\n      \"numerals\": true,\n      \"filler_words\": false,\n      \"keywords\": [\n        \"MeetStream\",\n        \"recording\",\n        \"transcript\"\n      ],\n      \"utterances\": true,\n      \"utt_split\": 0.8,\n      \"detect_language\": false,\n      \"search\": [\n        \"MeetStream\",\n        \"recording\"\n      ],\n      \"tag\": [\n        \"custom\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Deepgram Transcribe
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "provider": ["deepgram": [
      "model": "nova-3",
      "language": "en",
      "punctuate": true,
      "smart_format": true,
      "diarize": true,
      "paragraphs": true,
      "numerals": true,
      "filler_words": false,
      "keywords": ["MeetStream", "recording", "transcript"],
      "utterances": true,
      "utt_split": 0.8,
      "detect_language": false,
      "search": ["MeetStream", "recording"],
      "tag": ["custom"]
    ]],
  "callback_url": "https://your-server.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python MIA Transcribe
import requests

url = "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

payload = {
    "provider": { "meetstream": {
            "language": "auto",
            "translate": False
        } },
    "callback_url": "https://your-server.com"
}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript MIA Transcribe
const url = 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"provider":{"meetstream":{"language":"auto","translate":false}},"callback_url":"https://your-server.com"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go MIA Transcribe
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

	payload := strings.NewReader("{\n  \"provider\": {\n    \"meetstream\": {\n      \"language\": \"auto\",\n      \"translate\": false\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby MIA Transcribe
require 'uri'
require 'net/http'

url = URI("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"provider\": {\n    \"meetstream\": {\n      \"language\": \"auto\",\n      \"translate\": false\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}"

response = http.request(request)
puts response.read_body
```

```java MIA Transcribe
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"provider\": {\n    \"meetstream\": {\n      \"language\": \"auto\",\n      \"translate\": false\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")
  .asString();
```

```php MIA Transcribe
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe', [
  'body' => '{
  "provider": {
    "meetstream": {
      "language": "auto",
      "translate": false
    }
  },
  "callback_url": "https://your-server.com"
}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp MIA Transcribe
using RestSharp;

var client = new RestClient("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"provider\": {\n    \"meetstream\": {\n      \"language\": \"auto\",\n      \"translate\": false\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift MIA Transcribe
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "provider": ["meetstream": [
      "language": "auto",
      "translate": false
    ]],
  "callback_url": "https://your-server.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python Jigsaw Transcribe
import requests

url = "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

payload = {
    "provider": { "jigsawstack": {
            "language": "auto",
            "translate": False,
            "by_speaker": True
        } },
    "callback_url": "https://your-server.com"
}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Jigsaw Transcribe
const url = 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"provider":{"jigsawstack":{"language":"auto","translate":false,"by_speaker":true}},"callback_url":"https://your-server.com"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Jigsaw Transcribe
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

	payload := strings.NewReader("{\n  \"provider\": {\n    \"jigsawstack\": {\n      \"language\": \"auto\",\n      \"translate\": false,\n      \"by_speaker\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Jigsaw Transcribe
require 'uri'
require 'net/http'

url = URI("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"provider\": {\n    \"jigsawstack\": {\n      \"language\": \"auto\",\n      \"translate\": false,\n      \"by_speaker\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}"

response = http.request(request)
puts response.read_body
```

```java Jigsaw Transcribe
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"provider\": {\n    \"jigsawstack\": {\n      \"language\": \"auto\",\n      \"translate\": false,\n      \"by_speaker\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")
  .asString();
```

```php Jigsaw Transcribe
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe', [
  'body' => '{
  "provider": {
    "jigsawstack": {
      "language": "auto",
      "translate": false,
      "by_speaker": true
    }
  },
  "callback_url": "https://your-server.com"
}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Jigsaw Transcribe
using RestSharp;

var client = new RestClient("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"provider\": {\n    \"jigsawstack\": {\n      \"language\": \"auto\",\n      \"translate\": false,\n      \"by_speaker\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Jigsaw Transcribe
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "provider": ["jigsawstack": [
      "language": "auto",
      "translate": false,
      "by_speaker": true
    ]],
  "callback_url": "https://your-server.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python Sarvam Transcribe
import requests

url = "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

payload = {
    "provider": { "sarvam": {
            "model": "saaras:v3",
            "language_code": "en-IN",
            "mode": "transcribe",
            "with_diarization": True
        } },
    "callback_url": "https://your-server.com"
}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Sarvam Transcribe
const url = 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"provider":{"sarvam":{"model":"saaras:v3","language_code":"en-IN","mode":"transcribe","with_diarization":true}},"callback_url":"https://your-server.com"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Sarvam Transcribe
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

	payload := strings.NewReader("{\n  \"provider\": {\n    \"sarvam\": {\n      \"model\": \"saaras:v3\",\n      \"language_code\": \"en-IN\",\n      \"mode\": \"transcribe\",\n      \"with_diarization\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Sarvam Transcribe
require 'uri'
require 'net/http'

url = URI("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"provider\": {\n    \"sarvam\": {\n      \"model\": \"saaras:v3\",\n      \"language_code\": \"en-IN\",\n      \"mode\": \"transcribe\",\n      \"with_diarization\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}"

response = http.request(request)
puts response.read_body
```

```java Sarvam Transcribe
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"provider\": {\n    \"sarvam\": {\n      \"model\": \"saaras:v3\",\n      \"language_code\": \"en-IN\",\n      \"mode\": \"transcribe\",\n      \"with_diarization\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")
  .asString();
```

```php Sarvam Transcribe
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe', [
  'body' => '{
  "provider": {
    "sarvam": {
      "model": "saaras:v3",
      "language_code": "en-IN",
      "mode": "transcribe",
      "with_diarization": true
    }
  },
  "callback_url": "https://your-server.com"
}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Sarvam Transcribe
using RestSharp;

var client = new RestClient("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"provider\": {\n    \"sarvam\": {\n      \"model\": \"saaras:v3\",\n      \"language_code\": \"en-IN\",\n      \"mode\": \"transcribe\",\n      \"with_diarization\": true\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Sarvam Transcribe
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "provider": ["sarvam": [
      "model": "saaras:v3",
      "language_code": "en-IN",
      "mode": "transcribe",
      "with_diarization": true
    ]],
  "callback_url": "https://your-server.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python Assembly AI Transcribe
import requests

url = "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

payload = {
    "provider": { "assemblyai": {
            "speech_models": ["universal-2"],
            "language_code": "en_us",
            "speaker_labels": True,
            "punctuate": True,
            "format_text": True,
            "filter_profanity": False,
            "redact_pii": False,
            "auto_chapters": False,
            "entity_detection": False,
            "keyterms_prompt": ["MeetStream"]
        } },
    "callback_url": "https://your-server.com"
}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Assembly AI Transcribe
const url = 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"provider":{"assemblyai":{"speech_models":["universal-2"],"language_code":"en_us","speaker_labels":true,"punctuate":true,"format_text":true,"filter_profanity":false,"redact_pii":false,"auto_chapters":false,"entity_detection":false,"keyterms_prompt":["MeetStream"]}},"callback_url":"https://your-server.com"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Assembly AI Transcribe
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe"

	payload := strings.NewReader("{\n  \"provider\": {\n    \"assemblyai\": {\n      \"speech_models\": [\n        \"universal-2\"\n      ],\n      \"language_code\": \"en_us\",\n      \"speaker_labels\": true,\n      \"punctuate\": true,\n      \"format_text\": true,\n      \"filter_profanity\": false,\n      \"redact_pii\": false,\n      \"auto_chapters\": false,\n      \"entity_detection\": false,\n      \"keyterms_prompt\": [\n        \"MeetStream\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Assembly AI Transcribe
require 'uri'
require 'net/http'

url = URI("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"provider\": {\n    \"assemblyai\": {\n      \"speech_models\": [\n        \"universal-2\"\n      ],\n      \"language_code\": \"en_us\",\n      \"speaker_labels\": true,\n      \"punctuate\": true,\n      \"format_text\": true,\n      \"filter_profanity\": false,\n      \"redact_pii\": false,\n      \"auto_chapters\": false,\n      \"entity_detection\": false,\n      \"keyterms_prompt\": [\n        \"MeetStream\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}"

response = http.request(request)
puts response.read_body
```

```java Assembly AI Transcribe
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"provider\": {\n    \"assemblyai\": {\n      \"speech_models\": [\n        \"universal-2\"\n      ],\n      \"language_code\": \"en_us\",\n      \"speaker_labels\": true,\n      \"punctuate\": true,\n      \"format_text\": true,\n      \"filter_profanity\": false,\n      \"redact_pii\": false,\n      \"auto_chapters\": false,\n      \"entity_detection\": false,\n      \"keyterms_prompt\": [\n        \"MeetStream\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}")
  .asString();
```

```php Assembly AI Transcribe
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe', [
  'body' => '{
  "provider": {
    "assemblyai": {
      "speech_models": [
        "universal-2"
      ],
      "language_code": "en_us",
      "speaker_labels": true,
      "punctuate": true,
      "format_text": true,
      "filter_profanity": false,
      "redact_pii": false,
      "auto_chapters": false,
      "entity_detection": false,
      "keyterms_prompt": [
        "MeetStream"
      ]
    }
  },
  "callback_url": "https://your-server.com"
}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Assembly AI Transcribe
using RestSharp;

var client = new RestClient("https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"provider\": {\n    \"assemblyai\": {\n      \"speech_models\": [\n        \"universal-2\"\n      ],\n      \"language_code\": \"en_us\",\n      \"speaker_labels\": true,\n      \"punctuate\": true,\n      \"format_text\": true,\n      \"filter_profanity\": false,\n      \"redact_pii\": false,\n      \"auto_chapters\": false,\n      \"entity_detection\": false,\n      \"keyterms_prompt\": [\n        \"MeetStream\"\n      ]\n    }\n  },\n  \"callback_url\": \"https://your-server.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Assembly AI Transcribe
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "provider": ["assemblyai": [
      "speech_models": ["universal-2"],
      "language_code": "en_us",
      "speaker_labels": true,
      "punctuate": true,
      "format_text": true,
      "filter_profanity": false,
      "redact_pii": false,
      "auto_chapters": false,
      "entity_detection": false,
      "keyterms_prompt": ["MeetStream"]
    ]],
  "callback_url": "https://your-server.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/526b6061-220f-47a9-972c-134b528c91e2/transcribe")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```