import { Tabs, TabsContent, TabsList, TabsTrigger } from "zudoku/ui/Tabs";


# Using SDK


Transcribe an audio file by specifying the file path, with an optional webhook URL for asynchronous result delivery. The maximum audio length supported is 30 minutes.

This method simplifies the process by combining both the upload and transcription steps into a single, easy-to-use SDK method.

<Tabs defaultValue="sdk">
<TabsList>
        <TabsTrigger value="sdk">Python SDK</TabsTrigger>
      </TabsList>
<TabsContent value="sdk">


```bash
pdm add vulavula
```

```python showLineNumbers
from vulavula import VulavulaClient
client = VulavulaClient("<INSERT_TOKEN>")

upload_id, transcription_result = client.transcribe(
    "path/to/your/audio/file.wav",
    webhook="<INSERT_URL>"
)
print("Transcription Submit Success:", transcription_result) #A success message, data is sent to webhook
```

</TabsContent>
</Tabs>

## Get Transcribed Text

This method allows one to ping the server to get the transcribed text. This is helpful for those who do not want to use a webhook.

<Tabs defaultValue="sdk">
      <TabsList>
              <TabsTrigger value="sdk">Python SDK</TabsTrigger>
            </TabsList>
  <TabsContent value="sdk">

```bash
pdm add vulavula
```

```python showLineNumbers
import time
while client.get_transcribed_text(upload_id)['message'] == "Item has not been processed.":
    time.sleep(5)
    print("Waiting for transcribe to complete...")
client.get_transcribed_text(upload_id)

```

</TabsContent>
</Tabs>
