> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.aiola.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aiola.ai/_mcp/server.

# Quickstart

Get up and running with aiOla's Speech AI in under 5 minutes. This guide will walk you through your first speech-to-text transcription using our SDKs.

## What you'll build

In this quickstart, you'll transcribe an audio file into text using aiOla's Speech-to-Text API. By the end, you'll have a working example that you can expand upon.

## Step 1: Get your API key

First, you'll need an aiOla API key. If you don't have one yet, [sign up for an account](https://platform.aiola.ai/) to get started.

> **Info**
>
> Keep your API key secure and never expose it in client-side code or public repositories.

## Step 2: Install the SDK

Choose your preferred language and install the aiOla SDK:

#### Python

```bash
pip install aiola
```

#### TypeScript

```bash
npm install @aiola/sdk
# or
yarn add @aiola/sdk
```

## Step 3: Set up authentication

Create a new file and set up authentication with your API key:

> **Info**
>
> For a comprehensive understanding of aiOla's authentication system, security best practices, and advanced token management, see our [Authentication Guide](../developer-guides/authentication).

#### Python

```python
from aiola import AiolaClient

# Generate access token from your API key
result = AiolaClient.grant_token(api_key='your-api-key-here')
access_token = result.access_token

# Create the client
client = AiolaClient(access_token=access_token)
```

#### TypeScript

```typescript
import { AiolaClient } from '@aiola/sdk';

// Generate access token from your API key
const { accessToken } = await AiolaClient.grantToken({
  apiKey: 'your-api-key-here'
});

// Create the client
const client = new AiolaClient({ accessToken });
```

## Step 4: Transcribe your first audio file

Now let's transcribe an audio file. Make sure you have an audio file ready (supported formats: WAV, MP3, FLAC, and others):

#### Python

```python
# Open and transcribe an audio file
with open('path/to/your/audio.wav', 'rb') as audio_file:
    transcript = client.stt.transcribe_file(
        file=audio_file,
        language='en'
    )

# Print the transcription
print("Transcription:", transcript)
```

#### TypeScript

```typescript
import fs from 'fs';

// Read and transcribe an audio file
const audioBuffer = fs.readFileSync('path/to/your/audio.wav');

const transcript = await client.stt.transcribeFile({
  file: audioBuffer,
  language: 'en'
});

// Print the transcription
console.log('Transcription:', transcript);
```

## Step 5: Run your code

Save your file and run it:

#### Python

```bash
python your_script.py
```

#### TypeScript

```bash
# If using Node.js directly
node your_script.js

# If using TypeScript
npx tsx your_script.ts
```

You should see the transcription of your audio file printed to the console!

## Complete example

Here's the complete working example:

#### Python

```python
from aiola import AiolaClient

# Step 1: Set up authentication
result = AiolaClient.grant_token(api_key='your-api-key-here')
access_token = result.access_token
client = AiolaClient(access_token=access_token)

# Step 2: Transcribe audio file
try:
    with open('path/to/your/audio.wav', 'rb') as audio_file:
        transcript = client.stt.transcribe_file(
            file=audio_file,
            language='en'
        )
    
    print("Transcription:", transcript)
    
except Exception as e:
    print(f"Error: {e}")
```

#### TypeScript

```typescript
import { AiolaClient } from '@aiola/sdk';
import fs from 'fs';

async function transcribeAudio() {
  try {
    // Step 1: Set up authentication
    const { accessToken } = await AiolaClient.grantToken({
      apiKey: 'your-api-key-here'
    });
    
    const client = new AiolaClient({ accessToken });
    
    // Step 2: Transcribe audio file
    const audioBuffer = fs.readFileSync('path/to/your/audio.wav');
    
    const transcript = await client.stt.transcribeFile({
      file: audioBuffer,
      language: 'en'
    });
    
    console.log('Transcription:', transcript);
    
  } catch (error) {
    console.error('Error:', error);
  }
}

transcribeAudio();
```

## What's next?

Congratulations! You've successfully transcribed your first audio file with aiOla. Here's what you can explore next:

### Core Features

#### [Speech to Text SDK](../developer-guides/speech-to-text/quickstart)

#### [Real-time Streaming](../developer-guides/speech-to-text/streaming)

#### [Text to Speech SDK](../developer-guides/text-to-speech/quickstart)

#### [TTS Streaming](../developer-guides/text-to-speech/streaming)

### SDKs & Resources

#### [Python SDK](https://github.com/aiola-lab/aiola-python-sdk)

#### [TypeScript SDK](https://github.com/aiola-lab/aiola-js-sdk)

## Browser Examples

Building a web application? Check out our complete browser example:

* [**Browser Microphone Streaming**](https://github.com/aiola-lab/aiola-js-sdk/tree/main/examples/stt/browser-mic-stream) - Full web app showing real-time microphone transcription in the browser

## Need help?

* Check out our detailed guides for more advanced use cases
* Browse the SDK repositories for additional examples
* Join our developer community for support and discussions

Ready to build something amazing with speech AI?