[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-together-ai-together-audio":3,"mdc--wtfe3c-key":37,"related-repo-together-ai-together-audio":708,"related-org-together-ai-together-audio":804},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"together-audio","process audio with Together AI","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"together-ai","Together AI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftogether-ai.jpg","togethercomputer",[13,17,20,23],{"name":14,"slug":15,"type":16},"Text-to-Speech","text-to-speech","tag",{"name":18,"slug":19,"type":16},"Transcription","transcription",{"name":21,"slug":22,"type":16},"Audio","audio",{"name":24,"slug":25,"type":16},"Speech","speech",31,"https:\u002F\u002Fgithub.com\u002Ftogethercomputer\u002Fskills","2026-07-26T05:49:08.246858",null,4,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Skills to help your coding agents use Together AI products.","https:\u002F\u002Fgithub.com\u002Ftogethercomputer\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Ftogether-audio","---\nname: together-audio\ndescription: \"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.\"\n---\n\n# Together Audio\n\n## Overview\n\nUse Together AI audio APIs for:\n\n- text-to-speech generation\n- streaming or realtime voice output\n- speech-to-text transcription\n- translation, diarization, and timestamps\n- live captioning and realtime transcription\n\n## When This Skill Wins\n\n- Generate spoken audio from text\n- Transcribe uploaded audio files or URLs\n- Add realtime voice or captioning to an app\n- Extract speaker segments or word timings\n\n## Hand Off To Another Skill\n\n- Use `together-chat-completions` for text-only generation\n- Use `together-video` or `together-images` for visual generation workflows\n- Use `together-dedicated-model-inference` only when the audio model itself must be hosted on dedicated infrastructure\n\n## Quick Routing\n\n- **REST TTS or streaming TTS**\n  - Read [references\u002Ftts-models.md](references\u002Ftts-models.md)\n  - Start with [scripts\u002Ftts_generate.py](scripts\u002Ftts_generate.py) or [scripts\u002Ftts_generate.ts](scripts\u002Ftts_generate.ts)\n- **Realtime TTS over WebSocket**\n  - Read [references\u002Ftts-models.md](references\u002Ftts-models.md)\n  - Start with [scripts\u002Ftts_websocket.py](scripts\u002Ftts_websocket.py)\n- **File transcription, translation, diarization, or timestamps**\n  - Read [references\u002Fstt-models.md](references\u002Fstt-models.md)\n  - Start with [scripts\u002Fstt_transcribe.py](scripts\u002Fstt_transcribe.py) or [scripts\u002Fstt_transcribe.ts](scripts\u002Fstt_transcribe.ts)\n- **Realtime STT**\n  - Read [references\u002Fstt-models.md](references\u002Fstt-models.md)\n  - Start with [scripts\u002Fstt_realtime.py](scripts\u002Fstt_realtime.py)\n\n## Workflow\n\n1. Confirm whether the task is TTS or STT.\n2. Choose REST, streaming, or realtime transport based on latency and interaction needs.\n3. Pick the model and response format from the relevant reference file.\n4. Start from the matching script instead of rebuilding the request contract from memory.\n5. For Python STT uploads, open audio files in binary mode and pass the file handle rather than a bare path string.\n\n## High-Signal Rules\n\n- 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\"`.\n- Use `client.audio.speech.create()` for TTS.\n- REST TTS returns a `BinaryAPIResponse`; call `response.write_to_file(path)` to save it. Do NOT use `stream_to_file` (it does not exist on this object).\n- 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.\n- Use `client.audio.transcriptions.create()` for transcription and `client.audio.translations.create()` for translation.\n- Batch transcription and translation share hard limits: 500 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\u002Fstt-models.md](references\u002Fstt-models.md).\n- Realtime APIs require audio-format discipline; confirm PCM expectations before streaming bytes.\n- Diarization and word timestamps change response shape; code for the richer verbose output explicitly.\n\n## Resource Map\n\n- **TTS reference**: [references\u002Ftts-models.md](references\u002Ftts-models.md)\n- **STT reference**: [references\u002Fstt-models.md](references\u002Fstt-models.md)\n- **Python TTS workflow**: [scripts\u002Ftts_generate.py](scripts\u002Ftts_generate.py)\n- **TypeScript TTS workflow**: [scripts\u002Ftts_generate.ts](scripts\u002Ftts_generate.ts)\n- **Python realtime TTS workflow**: [scripts\u002Ftts_websocket.py](scripts\u002Ftts_websocket.py)\n- **Python STT workflow**: [scripts\u002Fstt_transcribe.py](scripts\u002Fstt_transcribe.py)\n- **TypeScript STT workflow**: [scripts\u002Fstt_transcribe.ts](scripts\u002Fstt_transcribe.ts)\n- **Python realtime STT workflow**: [scripts\u002Fstt_realtime.py](scripts\u002Fstt_realtime.py)\n\n## Official Docs\n\n- [Text-to-Speech](https:\u002F\u002Fdocs.together.ai\u002Fdocs\u002Ftext-to-speech)\n- [Speech-to-Text](https:\u002F\u002Fdocs.together.ai\u002Fdocs\u002Fspeech-to-text)\n- [TTS REST API](https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-speech)\n- [TTS WebSocket API](https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-speech-websocket)\n- [Audio Transcriptions API](https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-transcriptions)\n- [Audio Translations API](https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-translations)\n- [Realtime Audio Transcriptions API](https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-transcriptions-realtime)\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,50,57,63,93,99,122,128,177,183,316,322,351,357,515,521,629,635],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","Together Audio",{"type":43,"tag":51,"props":52,"children":54},"h2",{"id":53},"overview",[55],{"type":48,"value":56},"Overview",{"type":43,"tag":58,"props":59,"children":60},"p",{},[61],{"type":48,"value":62},"Use Together AI audio APIs for:",{"type":43,"tag":64,"props":65,"children":66},"ul",{},[67,73,78,83,88],{"type":43,"tag":68,"props":69,"children":70},"li",{},[71],{"type":48,"value":72},"text-to-speech generation",{"type":43,"tag":68,"props":74,"children":75},{},[76],{"type":48,"value":77},"streaming or realtime voice output",{"type":43,"tag":68,"props":79,"children":80},{},[81],{"type":48,"value":82},"speech-to-text transcription",{"type":43,"tag":68,"props":84,"children":85},{},[86],{"type":48,"value":87},"translation, diarization, and timestamps",{"type":43,"tag":68,"props":89,"children":90},{},[91],{"type":48,"value":92},"live captioning and realtime transcription",{"type":43,"tag":51,"props":94,"children":96},{"id":95},"when-this-skill-wins",[97],{"type":48,"value":98},"When This Skill Wins",{"type":43,"tag":64,"props":100,"children":101},{},[102,107,112,117],{"type":43,"tag":68,"props":103,"children":104},{},[105],{"type":48,"value":106},"Generate spoken audio from text",{"type":43,"tag":68,"props":108,"children":109},{},[110],{"type":48,"value":111},"Transcribe uploaded audio files or URLs",{"type":43,"tag":68,"props":113,"children":114},{},[115],{"type":48,"value":116},"Add realtime voice or captioning to an app",{"type":43,"tag":68,"props":118,"children":119},{},[120],{"type":48,"value":121},"Extract speaker segments or word timings",{"type":43,"tag":51,"props":123,"children":125},{"id":124},"hand-off-to-another-skill",[126],{"type":48,"value":127},"Hand Off To Another Skill",{"type":43,"tag":64,"props":129,"children":130},{},[131,145,165],{"type":43,"tag":68,"props":132,"children":133},{},[134,136,143],{"type":48,"value":135},"Use ",{"type":43,"tag":137,"props":138,"children":140},"code",{"className":139},[],[141],{"type":48,"value":142},"together-chat-completions",{"type":48,"value":144}," for text-only generation",{"type":43,"tag":68,"props":146,"children":147},{},[148,149,155,157,163],{"type":48,"value":135},{"type":43,"tag":137,"props":150,"children":152},{"className":151},[],[153],{"type":48,"value":154},"together-video",{"type":48,"value":156}," or ",{"type":43,"tag":137,"props":158,"children":160},{"className":159},[],[161],{"type":48,"value":162},"together-images",{"type":48,"value":164}," for visual generation workflows",{"type":43,"tag":68,"props":166,"children":167},{},[168,169,175],{"type":48,"value":135},{"type":43,"tag":137,"props":170,"children":172},{"className":171},[],[173],{"type":48,"value":174},"together-dedicated-model-inference",{"type":48,"value":176}," only when the audio model itself must be hosted on dedicated infrastructure",{"type":43,"tag":51,"props":178,"children":180},{"id":179},"quick-routing",[181],{"type":48,"value":182},"Quick Routing",{"type":43,"tag":64,"props":184,"children":185},{},[186,225,253,288],{"type":43,"tag":68,"props":187,"children":188},{},[189,195],{"type":43,"tag":190,"props":191,"children":192},"strong",{},[193],{"type":48,"value":194},"REST TTS or streaming TTS",{"type":43,"tag":64,"props":196,"children":197},{},[198,209],{"type":43,"tag":68,"props":199,"children":200},{},[201,203],{"type":48,"value":202},"Read ",{"type":43,"tag":204,"props":205,"children":207},"a",{"href":206},"references\u002Ftts-models.md",[208],{"type":48,"value":206},{"type":43,"tag":68,"props":210,"children":211},{},[212,214,219,220],{"type":48,"value":213},"Start with ",{"type":43,"tag":204,"props":215,"children":217},{"href":216},"scripts\u002Ftts_generate.py",[218],{"type":48,"value":216},{"type":48,"value":156},{"type":43,"tag":204,"props":221,"children":223},{"href":222},"scripts\u002Ftts_generate.ts",[224],{"type":48,"value":222},{"type":43,"tag":68,"props":226,"children":227},{},[228,233],{"type":43,"tag":190,"props":229,"children":230},{},[231],{"type":48,"value":232},"Realtime TTS over WebSocket",{"type":43,"tag":64,"props":234,"children":235},{},[236,244],{"type":43,"tag":68,"props":237,"children":238},{},[239,240],{"type":48,"value":202},{"type":43,"tag":204,"props":241,"children":242},{"href":206},[243],{"type":48,"value":206},{"type":43,"tag":68,"props":245,"children":246},{},[247,248],{"type":48,"value":213},{"type":43,"tag":204,"props":249,"children":251},{"href":250},"scripts\u002Ftts_websocket.py",[252],{"type":48,"value":250},{"type":43,"tag":68,"props":254,"children":255},{},[256,261],{"type":43,"tag":190,"props":257,"children":258},{},[259],{"type":48,"value":260},"File transcription, translation, diarization, or timestamps",{"type":43,"tag":64,"props":262,"children":263},{},[264,273],{"type":43,"tag":68,"props":265,"children":266},{},[267,268],{"type":48,"value":202},{"type":43,"tag":204,"props":269,"children":271},{"href":270},"references\u002Fstt-models.md",[272],{"type":48,"value":270},{"type":43,"tag":68,"props":274,"children":275},{},[276,277,282,283],{"type":48,"value":213},{"type":43,"tag":204,"props":278,"children":280},{"href":279},"scripts\u002Fstt_transcribe.py",[281],{"type":48,"value":279},{"type":48,"value":156},{"type":43,"tag":204,"props":284,"children":286},{"href":285},"scripts\u002Fstt_transcribe.ts",[287],{"type":48,"value":285},{"type":43,"tag":68,"props":289,"children":290},{},[291,296],{"type":43,"tag":190,"props":292,"children":293},{},[294],{"type":48,"value":295},"Realtime STT",{"type":43,"tag":64,"props":297,"children":298},{},[299,307],{"type":43,"tag":68,"props":300,"children":301},{},[302,303],{"type":48,"value":202},{"type":43,"tag":204,"props":304,"children":305},{"href":270},[306],{"type":48,"value":270},{"type":43,"tag":68,"props":308,"children":309},{},[310,311],{"type":48,"value":213},{"type":43,"tag":204,"props":312,"children":314},{"href":313},"scripts\u002Fstt_realtime.py",[315],{"type":48,"value":313},{"type":43,"tag":51,"props":317,"children":319},{"id":318},"workflow",[320],{"type":48,"value":321},"Workflow",{"type":43,"tag":323,"props":324,"children":325},"ol",{},[326,331,336,341,346],{"type":43,"tag":68,"props":327,"children":328},{},[329],{"type":48,"value":330},"Confirm whether the task is TTS or STT.",{"type":43,"tag":68,"props":332,"children":333},{},[334],{"type":48,"value":335},"Choose REST, streaming, or realtime transport based on latency and interaction needs.",{"type":43,"tag":68,"props":337,"children":338},{},[339],{"type":48,"value":340},"Pick the model and response format from the relevant reference file.",{"type":43,"tag":68,"props":342,"children":343},{},[344],{"type":48,"value":345},"Start from the matching script instead of rebuilding the request contract from memory.",{"type":43,"tag":68,"props":347,"children":348},{},[349],{"type":48,"value":350},"For Python STT uploads, open audio files in binary mode and pass the file handle rather than a bare path string.",{"type":43,"tag":51,"props":352,"children":354},{"id":353},"high-signal-rules",[355],{"type":48,"value":356},"High-Signal Rules",{"type":43,"tag":64,"props":358,"children":359},{},[360,381,393,422,467,487,505,510],{"type":43,"tag":68,"props":361,"children":362},{},[363,365,371,373,379],{"type":48,"value":364},"Python scripts require the Together v2 SDK (",{"type":43,"tag":137,"props":366,"children":368},{"className":367},[],[369],{"type":48,"value":370},"together>=2.0.0",{"type":48,"value":372},"). If the user is on an older version, they must upgrade first: ",{"type":43,"tag":137,"props":374,"children":376},{"className":375},[],[377],{"type":48,"value":378},"uv pip install --upgrade \"together>=2.0.0\"",{"type":48,"value":380},".",{"type":43,"tag":68,"props":382,"children":383},{},[384,385,391],{"type":48,"value":135},{"type":43,"tag":137,"props":386,"children":388},{"className":387},[],[389],{"type":48,"value":390},"client.audio.speech.create()",{"type":48,"value":392}," for TTS.",{"type":43,"tag":68,"props":394,"children":395},{},[396,398,404,406,412,414,420],{"type":48,"value":397},"REST TTS returns a ",{"type":43,"tag":137,"props":399,"children":401},{"className":400},[],[402],{"type":48,"value":403},"BinaryAPIResponse",{"type":48,"value":405},"; call ",{"type":43,"tag":137,"props":407,"children":409},{"className":408},[],[410],{"type":48,"value":411},"response.write_to_file(path)",{"type":48,"value":413}," to save it. Do NOT use ",{"type":43,"tag":137,"props":415,"children":417},{"className":416},[],[418],{"type":48,"value":419},"stream_to_file",{"type":48,"value":421}," (it does not exist on this object).",{"type":43,"tag":68,"props":423,"children":424},{},[425,427,433,435,441,443,449,451,457,459,465],{"type":48,"value":426},"Streaming TTS (",{"type":43,"tag":137,"props":428,"children":430},{"className":429},[],[431],{"type":48,"value":432},"stream=True",{"type":48,"value":434},") returns a ",{"type":43,"tag":137,"props":436,"children":438},{"className":437},[],[439],{"type":48,"value":440},"Stream",{"type":48,"value":442}," of ",{"type":43,"tag":137,"props":444,"children":446},{"className":445},[],[447],{"type":48,"value":448},"AudioSpeechStreamChunk",{"type":48,"value":450}," objects. Iterate chunks, check ",{"type":43,"tag":137,"props":452,"children":454},{"className":453},[],[455],{"type":48,"value":456},"chunk.type",{"type":48,"value":458},", and decode ",{"type":43,"tag":137,"props":460,"children":462},{"className":461},[],[463],{"type":48,"value":464},"base64.b64decode(chunk.delta)",{"type":48,"value":466}," for audio data. There is no file-writing helper on the stream object.",{"type":43,"tag":68,"props":468,"children":469},{},[470,471,477,479,485],{"type":48,"value":135},{"type":43,"tag":137,"props":472,"children":474},{"className":473},[],[475],{"type":48,"value":476},"client.audio.transcriptions.create()",{"type":48,"value":478}," for transcription and ",{"type":43,"tag":137,"props":480,"children":482},{"className":481},[],[483],{"type":48,"value":484},"client.audio.translations.create()",{"type":48,"value":486}," for translation.",{"type":43,"tag":68,"props":488,"children":489},{},[490,492,498,500,504],{"type":48,"value":491},"Batch transcription and translation share hard limits: 500 MB direct upload, 1 GB URL-fetch, 4 hours of audio per request. For larger payloads, pass a public HTTPS URL on ",{"type":43,"tag":137,"props":493,"children":495},{"className":494},[],[496],{"type":48,"value":497},"file=",{"type":48,"value":499},"; for longer audio, split into ≤ 4 h chunks. See the Limits section of ",{"type":43,"tag":204,"props":501,"children":502},{"href":270},[503],{"type":48,"value":270},{"type":48,"value":380},{"type":43,"tag":68,"props":506,"children":507},{},[508],{"type":48,"value":509},"Realtime APIs require audio-format discipline; confirm PCM expectations before streaming bytes.",{"type":43,"tag":68,"props":511,"children":512},{},[513],{"type":48,"value":514},"Diarization and word timestamps change response shape; code for the richer verbose output explicitly.",{"type":43,"tag":51,"props":516,"children":518},{"id":517},"resource-map",[519],{"type":48,"value":520},"Resource Map",{"type":43,"tag":64,"props":522,"children":523},{},[524,538,551,564,577,590,603,616],{"type":43,"tag":68,"props":525,"children":526},{},[527,532,534],{"type":43,"tag":190,"props":528,"children":529},{},[530],{"type":48,"value":531},"TTS reference",{"type":48,"value":533},": ",{"type":43,"tag":204,"props":535,"children":536},{"href":206},[537],{"type":48,"value":206},{"type":43,"tag":68,"props":539,"children":540},{},[541,546,547],{"type":43,"tag":190,"props":542,"children":543},{},[544],{"type":48,"value":545},"STT reference",{"type":48,"value":533},{"type":43,"tag":204,"props":548,"children":549},{"href":270},[550],{"type":48,"value":270},{"type":43,"tag":68,"props":552,"children":553},{},[554,559,560],{"type":43,"tag":190,"props":555,"children":556},{},[557],{"type":48,"value":558},"Python TTS workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":561,"children":562},{"href":216},[563],{"type":48,"value":216},{"type":43,"tag":68,"props":565,"children":566},{},[567,572,573],{"type":43,"tag":190,"props":568,"children":569},{},[570],{"type":48,"value":571},"TypeScript TTS workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":574,"children":575},{"href":222},[576],{"type":48,"value":222},{"type":43,"tag":68,"props":578,"children":579},{},[580,585,586],{"type":43,"tag":190,"props":581,"children":582},{},[583],{"type":48,"value":584},"Python realtime TTS workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":587,"children":588},{"href":250},[589],{"type":48,"value":250},{"type":43,"tag":68,"props":591,"children":592},{},[593,598,599],{"type":43,"tag":190,"props":594,"children":595},{},[596],{"type":48,"value":597},"Python STT workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":600,"children":601},{"href":279},[602],{"type":48,"value":279},{"type":43,"tag":68,"props":604,"children":605},{},[606,611,612],{"type":43,"tag":190,"props":607,"children":608},{},[609],{"type":48,"value":610},"TypeScript STT workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":613,"children":614},{"href":285},[615],{"type":48,"value":285},{"type":43,"tag":68,"props":617,"children":618},{},[619,624,625],{"type":43,"tag":190,"props":620,"children":621},{},[622],{"type":48,"value":623},"Python realtime STT workflow",{"type":48,"value":533},{"type":43,"tag":204,"props":626,"children":627},{"href":313},[628],{"type":48,"value":313},{"type":43,"tag":51,"props":630,"children":632},{"id":631},"official-docs",[633],{"type":48,"value":634},"Official Docs",{"type":43,"tag":64,"props":636,"children":637},{},[638,648,658,668,678,688,698],{"type":43,"tag":68,"props":639,"children":640},{},[641],{"type":43,"tag":204,"props":642,"children":646},{"href":643,"rel":644},"https:\u002F\u002Fdocs.together.ai\u002Fdocs\u002Ftext-to-speech",[645],"nofollow",[647],{"type":48,"value":14},{"type":43,"tag":68,"props":649,"children":650},{},[651],{"type":43,"tag":204,"props":652,"children":655},{"href":653,"rel":654},"https:\u002F\u002Fdocs.together.ai\u002Fdocs\u002Fspeech-to-text",[645],[656],{"type":48,"value":657},"Speech-to-Text",{"type":43,"tag":68,"props":659,"children":660},{},[661],{"type":43,"tag":204,"props":662,"children":665},{"href":663,"rel":664},"https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-speech",[645],[666],{"type":48,"value":667},"TTS REST API",{"type":43,"tag":68,"props":669,"children":670},{},[671],{"type":43,"tag":204,"props":672,"children":675},{"href":673,"rel":674},"https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-speech-websocket",[645],[676],{"type":48,"value":677},"TTS WebSocket API",{"type":43,"tag":68,"props":679,"children":680},{},[681],{"type":43,"tag":204,"props":682,"children":685},{"href":683,"rel":684},"https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-transcriptions",[645],[686],{"type":48,"value":687},"Audio Transcriptions API",{"type":43,"tag":68,"props":689,"children":690},{},[691],{"type":43,"tag":204,"props":692,"children":695},{"href":693,"rel":694},"https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-translations",[645],[696],{"type":48,"value":697},"Audio Translations API",{"type":43,"tag":68,"props":699,"children":700},{},[701],{"type":43,"tag":204,"props":702,"children":705},{"href":703,"rel":704},"https:\u002F\u002Fdocs.together.ai\u002Freference\u002Faudio-transcriptions-realtime",[645],[706],{"type":48,"value":707},"Realtime Audio Transcriptions API",{"items":709,"total":803},[710,717,733,746,765,774,789],{"slug":4,"name":4,"fn":5,"description":6,"org":711,"tags":712,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[713,714,715,716],{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":718,"name":718,"fn":719,"description":720,"org":721,"tags":722,"stars":26,"repoUrl":27,"updatedAt":732},"together-batch-inference","run asynchronous batch inference jobs","High-volume, asynchronous offline inference at up to 50% lower cost via Together AI's Batch API. Prepare JSONL inputs, upload files, create jobs, poll status, and download outputs. Reach for it whenever the user needs non-interactive bulk inference rather than real-time chat or evaluation jobs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[723,726,729],{"name":724,"slug":725,"type":16},"Automation","automation",{"name":727,"slug":728,"type":16},"LLM","llm",{"name":730,"slug":731,"type":16},"Performance","performance","2026-07-17T06:08:23.919602",{"slug":142,"name":142,"fn":734,"description":735,"org":736,"tags":737,"stars":26,"repoUrl":27,"updatedAt":745},"generate text with Together AI","Real-time and streaming text generation via Together AI's OpenAI-compatible chat\u002Fcompletions API, including multi-turn conversations, tool and function calling, structured JSON outputs, and reasoning models. Reach for it whenever the user wants to build or debug text generation on Together AI, unless they specifically need batch jobs, embeddings, fine-tuning, dedicated endpoints, dedicated containers, or GPU clusters.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[738,741,744],{"name":739,"slug":740,"type":16},"AI","ai",{"name":742,"slug":743,"type":16},"API Development","api-development",{"name":727,"slug":728,"type":16},"2026-07-26T05:49:11.244104",{"slug":747,"name":747,"fn":748,"description":749,"org":750,"tags":751,"stars":26,"repoUrl":27,"updatedAt":764},"together-dedicated-containers","deploy custom inference containers on Together AI","Custom Dockerized inference workers on Together AI's managed GPU infrastructure. Build with Sprocket SDK, configure with Jig CLI, submit async queue jobs, and poll results. Reach for it whenever the user needs container-level control rather than a standard model endpoint or raw cluster.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[752,755,758,761],{"name":753,"slug":754,"type":16},"AI Infrastructure","ai-infrastructure",{"name":756,"slug":757,"type":16},"Deployment","deployment",{"name":759,"slug":760,"type":16},"Docker","docker",{"name":762,"slug":763,"type":16},"Machine Learning","machine-learning","2026-07-26T05:49:09.267892",{"slug":174,"name":174,"fn":766,"description":767,"org":768,"tags":769,"stars":26,"repoUrl":27,"updatedAt":773},"deploy and operate Together AI models","Deploy and operate models on dedicated GPUs with Together AI's Dedicated Model Inference (DMI, the v2 dedicated endpoints API): beta endpoints, deployments, deployment profiles and hardware configs, autoscaling, traffic splitting, A\u002FB tests, shadow experiments, Prometheus metrics, and custom model or LoRA adapter uploads. Reach for it whenever the user mentions together beta endpoints or tg beta commands, client.beta.endpoints, DMI resources like ep_\u002Fdep_\u002Fcr_\u002Fml_ IDs, or wants production model serving with traffic management on Together AI. This is the current dedicated-hosting API and also covers migrating off the retired legacy v1 endpoints API (non-beta client.endpoints \u002F together endpoints), whose create and restart now return HTTP 403.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[770,771,772],{"name":753,"slug":754,"type":16},{"name":756,"slug":757,"type":16},{"name":727,"slug":728,"type":16},"2026-07-26T06:08:44.044039",{"slug":775,"name":775,"fn":776,"description":777,"org":778,"tags":779,"stars":26,"repoUrl":27,"updatedAt":788},"together-embeddings","generate embeddings and build RAG pipelines","Dense vector embeddings, semantic search, RAG pipelines, and reranking via Together AI. Generate embeddings with open-source models and rerank results behind dedicated endpoints. Reach for it whenever the user needs vector representations or retrieval quality improvements rather than direct text generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[780,781,782,785],{"name":739,"slug":740,"type":16},{"name":727,"slug":728,"type":16},{"name":783,"slug":784,"type":16},"RAG","rag",{"name":786,"slug":787,"type":16},"Search","search","2026-07-26T05:49:06.247906",{"slug":790,"name":790,"fn":791,"description":792,"org":793,"tags":794,"stars":26,"repoUrl":27,"updatedAt":802},"together-evaluations","evaluate LLM outputs with Together AI","LLM-as-a-judge evaluation framework on Together AI. Classify, score, and compare model outputs, select judge models, use external-provider judges or targets, poll results and download reports. Reach for it whenever the user wants to benchmark outputs, grade responses, compare A\u002FB variants, or operationalize automated evaluations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[795,798,801],{"name":796,"slug":797,"type":16},"Benchmarking","benchmarking",{"name":799,"slug":800,"type":16},"Evals","evals",{"name":727,"slug":728,"type":16},"2026-07-26T05:49:07.241553",14,{"items":805,"total":927},[806,827,839,846,852,858,865,871,878,884,894,909],{"slug":807,"name":807,"fn":808,"description":809,"org":810,"tags":811,"stars":824,"repoUrl":825,"updatedAt":826},"blog-post","write structured blog posts","Write structured long-form blog posts with a consistent structure and SEO optimization.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[812,815,818,821],{"name":813,"slug":814,"type":16},"Content Creation","content-creation",{"name":816,"slug":817,"type":16},"Marketing","marketing",{"name":819,"slug":820,"type":16},"SEO","seo",{"name":822,"slug":823,"type":16},"Writing","writing",1151,"https:\u002F\u002Fgithub.com\u002Ftogethercomputer\u002Ftogether-cookbook","2026-07-17T06:07:39.475433",{"slug":828,"name":828,"fn":829,"description":830,"org":831,"tags":832,"stars":824,"repoUrl":825,"updatedAt":838},"social-media","create social media content","Create social media content including Twitter\u002FX threads, LinkedIn posts, and short-form updates.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[833,834,835,837],{"name":813,"slug":814,"type":16},{"name":816,"slug":817,"type":16},{"name":836,"slug":828,"type":16},"Social Media",{"name":822,"slug":823,"type":16},"2026-07-17T06:07:38.455058",{"slug":4,"name":4,"fn":5,"description":6,"org":840,"tags":841,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[842,843,844,845],{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":718,"name":718,"fn":719,"description":720,"org":847,"tags":848,"stars":26,"repoUrl":27,"updatedAt":732},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[849,850,851],{"name":724,"slug":725,"type":16},{"name":727,"slug":728,"type":16},{"name":730,"slug":731,"type":16},{"slug":142,"name":142,"fn":734,"description":735,"org":853,"tags":854,"stars":26,"repoUrl":27,"updatedAt":745},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[855,856,857],{"name":739,"slug":740,"type":16},{"name":742,"slug":743,"type":16},{"name":727,"slug":728,"type":16},{"slug":747,"name":747,"fn":748,"description":749,"org":859,"tags":860,"stars":26,"repoUrl":27,"updatedAt":764},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[861,862,863,864],{"name":753,"slug":754,"type":16},{"name":756,"slug":757,"type":16},{"name":759,"slug":760,"type":16},{"name":762,"slug":763,"type":16},{"slug":174,"name":174,"fn":766,"description":767,"org":866,"tags":867,"stars":26,"repoUrl":27,"updatedAt":773},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[868,869,870],{"name":753,"slug":754,"type":16},{"name":756,"slug":757,"type":16},{"name":727,"slug":728,"type":16},{"slug":775,"name":775,"fn":776,"description":777,"org":872,"tags":873,"stars":26,"repoUrl":27,"updatedAt":788},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[874,875,876,877],{"name":739,"slug":740,"type":16},{"name":727,"slug":728,"type":16},{"name":783,"slug":784,"type":16},{"name":786,"slug":787,"type":16},{"slug":790,"name":790,"fn":791,"description":792,"org":879,"tags":880,"stars":26,"repoUrl":27,"updatedAt":802},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[881,882,883],{"name":796,"slug":797,"type":16},{"name":799,"slug":800,"type":16},{"name":727,"slug":728,"type":16},{"slug":885,"name":885,"fn":886,"description":887,"org":888,"tags":889,"stars":26,"repoUrl":27,"updatedAt":893},"together-fine-tuning","fine-tune and adapt models on Together AI","LoRA, full fine-tuning, DPO preference tuning, VLM training, function-calling tuning, reasoning tuning, and BYOM uploads on Together AI. Reach for it whenever the user wants to adapt a model on custom data rather than only run inference, evaluate outputs, or host an existing model.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[890,891,892],{"name":739,"slug":740,"type":16},{"name":727,"slug":728,"type":16},{"name":762,"slug":763,"type":16},"2026-07-26T05:49:10.243114",{"slug":895,"name":895,"fn":896,"description":897,"org":898,"tags":899,"stars":26,"repoUrl":27,"updatedAt":908},"together-gpu-clusters","orchestrate GPU clusters on Together AI","On-demand and reserved GPU clusters (H100, H200, B200) on Together AI with Kubernetes or Slurm orchestration, shared storage, credential management, and cluster scaling for ML and HPC jobs. Reach for it when the user needs multi-node compute or infrastructure control rather than a managed model endpoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[900,901,904,907],{"name":753,"slug":754,"type":16},{"name":902,"slug":903,"type":16},"Cloud","cloud",{"name":905,"slug":906,"type":16},"Kubernetes","kubernetes",{"name":762,"slug":763,"type":16},"2026-07-26T05:49:05.252646",{"slug":162,"name":162,"fn":910,"description":911,"org":912,"tags":913,"stars":26,"repoUrl":27,"updatedAt":926},"generate and edit images with Together AI","Text-to-image generation and image editing via Together AI, including FLUX and Kontext models, LoRA-based styling, reference-image guidance, and local image downloads. Reach for it whenever the user wants to generate or edit images on Together AI rather than create videos or build text-only chat applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[914,917,920,923],{"name":915,"slug":916,"type":16},"Creative","creative",{"name":918,"slug":919,"type":16},"Design","design",{"name":921,"slug":922,"type":16},"Image Generation","image-generation",{"name":924,"slug":925,"type":16},"Multimodal","multimodal","2026-07-17T06:04:23.067755",16]