Endpointy
Muzyka i audio
Generuj muzykę i mówiony dźwięk modelami z wyjściem audio przez chat completions z parametrem modalities, a wynik w base64 zapisz jako plik audio.
Wypróbuj w playgroundModele muzyki i modele z wyjściem audio (Lyria 3, GPT Audio i inne) nie mają dedykowanego endpointu: wywołujesz je przez Chat completions i prosisz o wyjście audio za pomocą modalities. Wygenerowany dźwięk wraca zakodowany w base64 w wiadomości asystenta.
POST https://api14.com/api/v1/chat/completions
Żądanie
Obowiązują wszystkie parametry chat completions. Parametry specyficzne dla audio:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
model | string | tak | Identyfikator modelu audio, np. google/lyria-3 lub openai/gpt-audio. |
messages | array | tak | Opisz muzykę lub mowę, której chcesz. |
modalities | string[] | tak | ["text", "audio"], aby otrzymać dźwięk. |
audio | object | nie | Opcje wyjścia dla modeli mowy: { "voice": "alloy", "format": "wav" }. |
stream | boolean | nie | Strumieniuje fragmenty dźwięku jako zdarzenia server-sent events, jeśli jest to obsługiwane. |
Przykład
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "google/lyria-3",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
Surowe żądanie:
{
"model": "google/lyria-3",
"modalities": ["text", "audio"],
"messages": [
{ "role": "user", "content": "A 30-second lo-fi hip hop loop with soft piano and vinyl crackle." }
]
}
Odpowiedź
{
"id": "gen-1791100000-xyz",
"object": "chat.completion",
"model": "google/lyria-3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Here is your loop.",
"audio": { "id": "audio_01", "data": "UklGRiQAAABXQVZFZm10...", "format": "wav" }
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 24, "completion_tokens": 1500, "total_tokens": 1524, "cost": 0.06 }
}
Zdekoduj choices[0].message.audio.data z base64 i zapisz z rozszerzeniem odpowiadającym podanemu format.
Dźwięk na wejściu
Aby wysłać dźwięk do modelu (np. "podsumuj to nagranie"), użyj części treści input_audio, zobacz Obrazy i pliki w wejściu. Do zwykłej zamiany mowy na tekst prostsza i tańsza jest Transkrypcja; do zamiany tekstu na mowę użyj Mowy.
Lista modeli audio
curl "https://api14.com/api/v1/models?category=audio"
Cennik
Modele audio są rozliczane według ceny podanej przy modelu (za token audio, za sekundę lub za żądanie, zależnie od modelu). Dokładny koszt jest w usage.cost.
Błędy
| Status | Kod | Kiedy |
|---|---|---|
| 402 | insufficient_balance | Twoje saldo w USD wynosi 0 USD. |
| 403 | plan_required | Twój plan nie obejmuje modeli audio. |
| 404 | model_not_found | Nieznany lub wyłączony identyfikator modelu. |
Zobacz Błędy.