togethercomputer/skills

together-audio

Text-to-speech and speech-to-text via Together AI, including REST, streaming, and realtime WebSocket TTS, plus transcription, translation, diarization, timestamps, and live STT.

First seen Mar 31, 2026

Installation

$ npx skills add togethercomputer/skills --skill together-audio

Summary

  • Text-to-speech and speech-to-text via Together AI, including REST, streaming, and realtime WebSocket TTS, plus transcription, translation, diarization, timestamps, and live STT.
  • Reach for it whenever the user needs audio in or audio out on Together AI rather than chat generation, image or video creation, or model training.

Also in this package

Other skills from togethercomputer/skills · top by installs.

npx skills add togethercomputer/skills

Browse all from togethercomputer/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 34
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,817 B
  • docs SUMMARY.md 346 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 74 installs

SKILL.md

Together Audio

Overview

Use Together AI audio APIs for:

  • text-to-speech generation
  • streaming or realtime voice output
  • speech-to-text transcription
  • translation, diarization, and timestamps
  • live captioning and realtime transcription

When This Skill Wins

  • Generate spoken audio from text
  • Transcribe uploaded audio files or URLs
  • Add realtime voice or captioning to an app
  • Extract speaker segments or word timings

Hand Off To Another Skill

  • Use together-chat-completions for text-only generation
  • Use together-video or together-images for visual generation workflows
  • Use together-dedicated-model-inference only when the audio model itself must be hosted on dedicated infrastructure

Quick Routing

  • REST TTS or streaming TTS

- Read [references/tts-models.md](references/tts-models.md) - Start with [scripts/ttsgenerate.py](scripts/ttsgenerate.py) or [scripts/ttsgenerate.ts](scripts/ttsgenerate.ts)

  • Realtime TTS over WebSocket

- Read [references/tts-models.md](references/tts-models.md) - Start with [scripts/ttswebsocket.py](scripts/ttswebsocket.py)

  • File transcription, translation, diarization, or timestamps

- Read [references/stt-models.md](references/stt-models.md) - Start with [scripts/stttranscribe.py](scripts/stttranscribe.py) or [scripts/stttranscribe.ts](scripts/stttranscribe.ts)

  • Realtime STT

- Read [references/stt-models.md](references/stt-models.md) - Start with [scripts/sttrealtime.py](scripts/sttrealtime.py)

Workflow

  1. Confirm whether the task is TTS or STT.
  2. Choose REST, streaming, or realtime transport based on latency and interaction needs.
  3. Pick the model and response format from the relevant reference file.
  4. Start from the matching script instead of rebuilding the request contract from memory.
  5. For Python STT uploads, open audio files in binary mode and pass the file handle rather than a bare path string.

High-Signal Rules

  • Python scripts require the Together v2 SDK (together>=2.0.0). If the user is on an older version, they must upgrade first: uv pip install --upgrade "together>=2.0.0".
  • Use client.audio.speech.create() for TTS.
  • REST TTS returns a BinaryAPIResponse; call response.writetofile(path) to save it. Do NOT use streamtofile (it does not exist on this object).
  • Streaming TTS (stream=True) returns a Stream of AudioSpeechStreamChunk objects. Iterate chunks, check chunk.type, and decode base64.b64decode(chunk.delta) for audio data. There is no file-writing helper on the stream object.
  • Use client.audio.transcriptions.create() for transcription and client.audio.translations.create() for translation.
  • Batch transcription and translation share hard limits: 80 MB direct upload, 1 GB URL-fetch, 4 hours of audio per request. For larger payloads, pass a public HTTPS URL on file=; for longer audio, split into ≤ 4 h chunks. See the Limits section of [references/stt-models.md](references/stt-models.md).
  • Realtime APIs require audio-format discipline; confirm PCM expectations before streaming bytes.
  • Diarization and word timestamps change response shape; code for the richer verbose output explicitly.

Resource Map

  • TTS reference: [references/tts-models.md](references/tts-models.md)
  • STT reference: [references/stt-models.md](references/stt-models.md)
  • Python TTS workflow: [scripts/ttsgenerate.py](scripts/ttsgenerate.py)
  • TypeScript TTS workflow: [scripts/ttsgenerate.ts](scripts/ttsgenerate.ts)
  • Python realtime TTS workflow: [scripts/ttswebsocket.py](scripts/ttswebsocket.py)
  • Python STT workflow: [scripts/stttranscribe.py](scripts/stttranscribe.py)
  • TypeScript STT workflow: [scripts/stttranscribe.ts](scripts/stttranscribe.ts)
  • Python realtime STT workflow: [scripts/sttrealtime.py](scripts/sttrealtime.py)

Official Docs