# Handling Large Files

When sending requests with `audioData`, you need to encode the audio file into [Base64](https://en.wikipedia.org/wiki/Base64) format and include it in the request. However, for large file sizes or long-duration audio files, Gowajee supports using [Pre-signed URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) to avoid encoding the file data to `base64`

### Using Presigned URLs

To transcribe large or long-duration files, you can use a [pre-signed URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html). By providing the [pre-signed URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) in the `audioData` field instead of `base64` encoded data, our API will automatically download the audio file from the provided URL and process the transcription.

### **Example Request with pre-signed URL**:

```http
POST /v1/speech-to-text/${MODEL}/transcribe HTTP/1.1
Host: api.gowajee.ai
Content-Type: application/json
X-Api-Key: ${YOUR_API_KEY}

{
  "audioData": "https://example.com/presigned_url_to_audio_file"
}
```

#### Notes

* **Base64 Encoding**: Ensure the audio data is base64 encoded if you are not using Presigned URLs.
* **Presigned URLs**: Use Presigned URLs for large files or long-duration audio to optimize performance and avoid base64 encoding overhead.
