Áudio (voz)
Dois endpoints de voz, compatíveis com o padrão OpenAI Audio:
- Transcrição (STT) —
POST /v1/audio/transcriptions(modelowhisper-large-v3) - Síntese de voz (TTS) —
POST /v1/audio/speech(modeloqwen3-tts)
https://api.norlen.io/v1/audio/transcriptionshttps://api.norlen.io/v1/audio/speechAuthorization: Bearer SUA_API_KEYTranscrição — fala → texto
Seção intitulada “Transcrição — fala → texto”Envie um arquivo de áudio (wav, mp3, m4a, ogg, webm, flac — até 25MB) e receba o texto. multipart/form-data.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file | arquivo | sim | O áudio a transcrever |
model | string | sim | whisper-large-v3 |
language | string | não | Código ISO (ex.: pt, en) — acelera e melhora a precisão |
curl https://api.norlen.io/v1/audio/transcriptions \ -H "Authorization: Bearer $NORLEN_API_KEY" \ -F file="@audio.mp3" \ -F model="whisper-large-v3" \ -F language="pt"from openai import OpenAI
client = OpenAI(base_url="https://api.norlen.io/v1", api_key="seu-token")
with open("audio.mp3", "rb") as f: resp = client.audio.transcriptions.create( model="whisper-large-v3", file=f, language="pt", )print(resp.text)import OpenAI from "openai";import fs from "fs";
const client = new OpenAI({ baseURL: "https://api.norlen.io/v1", apiKey: process.env.NORLEN_API_KEY,});
const resp = await client.audio.transcriptions.create({ model: "whisper-large-v3", file: fs.createReadStream("audio.mp3"), language: "pt",});console.log(resp.text);Resposta
Seção intitulada “Resposta”{ "text": "O texto transcrito do áudio." }Síntese de voz — texto → fala
Seção intitulada “Síntese de voz — texto → fala”Converte texto em áudio (wav). application/json.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | sim | qwen3-tts |
input | string | sim | O texto a falar (até 2000 caracteres) |
voice | string | não | Uma das vozes abaixo (padrão ryan) |
Vozes: ryan, aiden, eric, dylan, uncle_fu (masculinas) · serena, vivian, sohee, ono_anna (femininas). Suporta português e mais 9 idiomas; a voz se adapta ao idioma do texto.
curl https://api.norlen.io/v1/audio/speech \ -H "Authorization: Bearer $NORLEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3-tts", "input": "Olá! Esta é a voz da Norlen.", "voice": "ryan" }' \ --output fala.wavfrom openai import OpenAI
client = OpenAI(base_url="https://api.norlen.io/v1", api_key="seu-token")
resp = client.audio.speech.create( model="qwen3-tts", voice="ryan", input="Olá! Esta é a voz da Norlen.",)resp.stream_to_file("fala.wav")import OpenAI from "openai";import fs from "fs";
const client = new OpenAI({ baseURL: "https://api.norlen.io/v1", apiKey: process.env.NORLEN_API_KEY,});
const resp = await client.audio.speech.create({ model: "qwen3-tts", voice: "ryan", input: "Olá! Esta é a voz da Norlen.",});fs.writeFileSync("fala.wav", Buffer.from(await resp.arrayBuffer()));Resposta
Seção intitulada “Resposta”Os bytes do áudio (audio/wav) — salve em arquivo ou toque diretamente.