---
title: "Send ordered live STT microphone frames"
method: POST
path: "/api/generations/{generationUuid}/stt-input"
---

# Send ordered live STT microphone frames

`POST /api/generations/{generationUuid}/stt-input`

## Request

- Base URL: `https://giggy.ai`
- URL: `https://giggy.ai/api/generations/{generationUuid}/stt-input`
- Auth: none required

Use the input_token from microphone_ready. Send unpadded PCM16 LE mono 16 kHz, at most 32,000 bytes per frame, with contiguous sequence numbers starting at zero. Await each acknowledgement before sending the next frame. Send complete=true with the last short frame, or an empty final frame. Finish within 35 seconds of readiness; total audio is capped at 30 seconds. Do not pad, reconnect or replay ambiguous frames.

## Path parameters

- `generationUuid` string, uuid, required

## Request body

- object
  - `input_token` string, required: Generation-scoped capability from microphone_ready; keep private.
  - `sequence` integer, required
  - `pcm_base64` string, required
  - `complete` boolean, required

## Response `200`

Frame accepted: {ok:true}.

## Other responses

- `400`: Invalid PCM or sequence
- `403`: Invalid input token
- `409`: Ownership changed
- `410`: Session ended
- `429`: Input queue full

---

[API](https://skmtc.dev/giggy/apis/giggy-speech-api.md) · [All operations](https://skmtc.dev/giggy/apis/giggy-speech-api/llms.txt) · [OpenAPI document](https://skmtc.dev/giggy/apis/giggy-speech-api/revisions/ee21192fd550?raw)
