Endpoints
ट्रांसक्रिप्शन (STT)
POST /audio/transcriptions से ऑडियो को टेक्स्ट में बदलें। multipart और JSON अनुरोध, भाषा और फ़ॉर्मेट विकल्प, कीमत और त्रुटियाँ यहाँ हैं।
playground में आज़माएंWhisper, GPT-4o Transcribe, Deepgram, Voxtral और अन्य ट्रांसक्रिप्शन मॉडल से बोली हुई आवाज़ को टेक्स्ट में बदलें (speech-to-text, STT)। एंडपॉइंट OpenAI के POST /audio/transcriptions का पालन करता है, इसलिए client.audio.transcriptions.create(...) बिना बदलाव के काम करता है।
POST https://api14.com/api/v1/audio/transcriptions
अनुरोध
ऑडियो फ़ाइल के साथ multipart/form-data भेजें (OpenAI SDK यही करते हैं), या JSON बॉडी।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
file | file | हाँ | ऑडियो फ़ाइल: mp3, mp4, m4a, wav, webm, ogg, flac। |
model | string | हाँ | ट्रांसक्रिप्शन मॉडल id, जैसे openai/whisper-1। |
language | string | नहीं | ISO-639-1 कोड (en, de), सटीकता और गति बढ़ाता है। |
prompt | string | नहीं | शब्दावली संकेत या पिछले खंड का टेक्स्ट। |
response_format | string | नहीं | json (डिफ़ॉल्ट), text, srt, vtt, verbose_json, जहाँ समर्थित हो। |
temperature | number | नहीं | सैंपलिंग तापमान, 0-1। |
अनुरोध बॉडी की डिफ़ॉल्ट सीमा 25 MB है। बड़ी फ़ाइलें 413 payload_too_large लौटाती हैं, लंबी रिकॉर्डिंग को टुकड़ों में बाँटें।
cURL के साथ Multipart
curl https://api14.com/api/v1/audio/transcriptions \
-H "Authorization: Bearer sk-api14-..." \
-F model=openai/whisper-1 \
-F file=@meeting.mp3 \
-F language=en
JSON बॉडी
उन मॉडल के लिए JSON भी स्वीकार है जो इसे सपोर्ट करते हैं, ऑडियो base64 के रूप में:
{
"model": "openai/whisper-1",
"input_audio": { "data": "<base64>", "format": "mp3" },
"language": "en"
}
उदाहरण
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.audio.transcriptions.create({
model: "openai/whisper-1",
file: fs.createReadStream("audio.mp3"),
});
console.log(result.text);
प्रतिक्रिया
{
"text": "Thanks everyone for joining. Let's start with the roadmap.",
"usage": { "type": "duration", "seconds": 42, "cost": 0.0042 }
}
response_format: "text", srt या vtt के साथ बॉडी JSON के बजाय सादा टेक्स्ट होती है।
कीमत
ट्रांसक्रिप्शन का बिल मॉडल की सूचीबद्ध कीमत पर बनता है, जो "$ / minute" (या टोकन-मूल्य वाले मॉडल के लिए प्रति टोकन) के रूप में दिखती है। शुल्क usage.cost में लौटाया जाता है और आपके USD बैलेंस से कटता है।
त्रुटियाँ
| स्टेटस | कोड | कब |
|---|---|---|
| 400 | invalid_body | multipart बॉडी पार्स नहीं हो सकी। |
| 400 | model_required | model फ़ील्ड गायब है। |
| 402 | insufficient_balance | आपका USD बैलेंस $0 है। |
| 404 | model_not_found | अज्ञात या अक्षम मॉडल id। |
| 413 | payload_too_large | फ़ाइल बॉडी आकार सीमा से अधिक है। |
देखें त्रुटियाँ।