Flexible parameters
Configure 8 documented parameters, including file, keywords, language, languages, prompt.
Multilingual speech-to-text with keyword and language hints
curl -X POST https://runapi.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $RUNAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-transcribe",
"audio_url": "https://cdn.runapi.ai/public/samples/voice.mp3"
}'
import { OpenaiTranscriptionClient } from "@runapi.ai/openai-transcription";
const client = new OpenaiTranscriptionClient();
const result = await client.speechToText.run({
model: "gpt-transcribe",
audio_url: "https://cdn.runapi.ai/public/samples/voice.mp3",
});
import os
import requests
response = requests.post(
"https://runapi.ai/v1/audio/transcriptions",
headers={"Authorization": f"Bearer {os.environ['RUNAPI_API_KEY']}"},
json={"model":"gpt-transcribe","audio_url":"https://cdn.runapi.ai/public/samples/voice.mp3"}
)
response.raise_for_status()
<?php
$client = curl_init("https://runapi.ai/v1/audio/transcriptions");
curl_setopt_array($client, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("RUNAPI_API_KEY"), "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-transcribe',
'audio_url' => 'https://cdn.runapi.ai/public/samples/voice.mp3',
])
]);
$response = curl_exec($client);
RunApi client = new RunApi(System.getenv("RUNAPI_API_KEY"));
Task task = client.speechToText().run({"model":"gpt-transcribe","audio_url":"https://cdn.runapi.ai/public/samples/voice.mp3"});
task.waitForResult();
require "runapi/openai_transcription"
client = RunApi::OpenaiTranscription::Client.new
result = client.speech_to_text.run(
model: "gpt-transcribe",
audio_url: "https://cdn.runapi.ai/public/samples/voice.mp3"
)
client := runapi.NewClient(os.Getenv("RUNAPI_API_KEY"))
task, err := client.speechToText.Run({"model":"gpt-transcribe","audio_url":"https://cdn.runapi.ai/public/samples/voice.mp3"})
if err != nil { log.Fatal(err) }
task.Wait()
$ runapi generate \
--model gpt-transcribe \
--endpoint speech_to_text \
--wait
2 versions available
Pick any model and generate in seconds.
| Provider | OpenAI |
| Model ID | gpt-transcribe |
| Modality | Audio & Music |
| Task types | Synchronous |
| API endpoint | /v1/audio/transcriptions |
| Billing unit | minute |
| Input parameters | file, keywords, language, languages, model, prompt, response_format, stream, temperature |
| Catalog status | Operational |
Sign up for free and create an API key for gpt-transcribe from the dashboard.
POST to /v1/audio/transcriptions with the gpt-transcribe model slug and your parameters.
Read the completed gpt-transcribe response directly from the endpoint.
Configure 8 documented parameters, including file, keywords, language, languages, prompt.
Exposes 1 public endpoint(s): speech_to_text.
Metered by minute with no subscription requirement.
fileAudio file upload, up to 25 MB.
promptOptional text that guides transcription style and vocabulary.
streamWhether to request a streamed response when supported.
keywordsTerms that should receive additional recognition guidance.
languageAudio language as an ISO-639-1 code.
languagesCandidate audio languages as ISO-639-1 codes.
temperatureSampling temperature from 0 to 1.
response_formatResponse body format. (json, text)
Generate royalty-free background music matched to episode mood without licensing fees.
Generate adaptive ambient soundscapes and effects for procedurally generated levels.
Generate custom voiceovers and sound effects for client spots without a recording studio.
Pass the model ID shown in the quickstart.
Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.
Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.
Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.
Open an issue on the public GitHub repo or email support at [email protected]. Include the task ID and model ID so the team can investigate the specific generation.
No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.
We're here to help with enterprise setup, integrations, and technical questions.
Contact Us