> ## Documentation Index
> Fetch the complete documentation index at: https://smallestai-ff1e543d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Transcribe your first audio file in under 60 seconds with Pulse STT.

## Step 1: Get Your API Key

In the [Smallest AI Console](https://app.smallest.ai/dashboard/settings/apikeys?utm_source=documentation\&utm_medium=speech-to-text), go to **Settings → API Keys** and click **Create API Key**.

<img src="https://mintcdn.com/smallestai-ff1e543d/__rdeLT6wbSp7Z7Q/images/api-keys-page-create-button.png?fit=max&auto=format&n=__rdeLT6wbSp7Z7Q&q=85&s=2d4ea46a64bd0e72535b0c9212a5aa9d" alt="API Keys settings page with Create API Key button highlighted" width="700" style={{ borderRadius: '8px' }} data-path="images/api-keys-page-create-button.png" />

<img src="https://mintcdn.com/smallestai-ff1e543d/__rdeLT6wbSp7Z7Q/images/create-api-key-modal.png?fit=max&auto=format&n=__rdeLT6wbSp7Z7Q&q=85&s=79903400acb2d4670e286c67df3cffc0" alt="Create New API Key dialog with name field" width="500" style={{ borderRadius: '8px' }} data-path="images/create-api-key-modal.png" />

Copy the key and export it:

```bash theme={null}
export SMALLEST_API_KEY="your-api-key-here"
```

<Tip>New to Smallest AI? [Sign up here](https://app.smallest.ai?utm_source=documentation\&utm_medium=speech-to-text) first.</Tip>

## Step 2: Transcribe Audio

Here's the sample audio we'll transcribe:

<video controls style={{ width: '100%', maxWidth: '500px', height: '54px' }}>
  <source src="https://mintcdn.com/smallestai-ff1e543d/__rdeLT6wbSp7Z7Q/audio/stt-sample-audio.wav?fit=max&auto=format&n=__rdeLT6wbSp7Z7Q&q=85&s=4fbd5fb2add19f0319597c02adc7691a" type="audio/wav" data-path="audio/stt-sample-audio.wav" />
</video>

Paste this cURL — no install required:

```bash theme={null}
curl -X POST "https://api.smallest.ai/waves/v1/pulse/get_text?language=en" \
  -H "Authorization: Bearer $SMALLEST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://github.com/smallest-inc/cookbook/raw/main/speech-to-text/getting-started/samples/audio.wav"}'
```

You'll get back:

```json theme={null}
{
  "transcription": "This is a sample audio file for testing speech to text transcription with the Pulse API."
}
```

## Step 3: Build It Into Your App

<CodeGroup>
  ```bash cURL (file upload) theme={null}
  curl -X POST "https://api.smallest.ai/waves/v1/pulse/get_text?language=en" \
    -H "Authorization: Bearer $SMALLEST_API_KEY" \
    -H "Content-Type: audio/wav" \
    --data-binary "@audio.wav"
  ```

  ```python Python theme={null}
  import os
  import requests

  API_KEY = os.environ["SMALLEST_API_KEY"]

  response = requests.post(
      "https://api.smallest.ai/waves/v1/pulse/get_text",
      params={"language": "en"},
      headers={
          "Authorization": f"Bearer {API_KEY}",
          "Content-Type": "audio/wav",
      },
      data=open("audio.wav", "rb").read(),
      timeout=120,
  )

  result = response.json()
  print(result["transcription"])
  ```

  ```javascript JavaScript theme={null}
  const fs = require("fs");

  const audioData = fs.readFileSync("audio.wav");

  const params = new URLSearchParams({ language: "en" });
  const response = await fetch(
    `https://api.smallest.ai/waves/v1/pulse/get_text?${params}`,
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.SMALLEST_API_KEY}`,
        "Content-Type": "audio/wav",
      },
      body: audioData,
    }
  );

  const result = await response.json();
  console.log(result.transcription);
  ```
</CodeGroup>

## Step 4: Explore Features

<CardGroup cols={2}>
  <Card title="Real-Time Transcription" icon="broadcast-tower" href="/v4.0.0/content/speech-to-text/realtime/quickstart">
    Stream audio via WebSocket for live transcription.
  </Card>

  <Card title="Speaker Diarization" icon="users" href="/v4.0.0/content/speech-to-text/features/diarization">
    Identify and label different speakers.
  </Card>

  <Card title="Word Timestamps" icon="clock" href="/v4.0.0/content/speech-to-text/features/word-timestamps">
    Precise timing for each transcribed word.
  </Card>

  <Card title="Emotion Detection" icon="face-smile" href="/v4.0.0/content/speech-to-text/features/emotion-detection">
    Analyze emotional tone in speech.
  </Card>
</CardGroup>

Full endpoint spec: [Pulse API Reference](/v4.0.0/content/api-references/pulse-stt)

## Need Help?

<Card title="Join Discord" icon="discord" href="https://discord.gg/9WtSXv26WE">
  Ask questions and get help from the community.
</Card>

Or email [support@smallest.ai](mailto:support@smallest.ai).
