Ana içeriğe geç
openai avatarı

Whisper Large v3 API

openai/whisper

Konuşma kayıtlarını 99 dilde metne dökün ya da çevirin — segment ya da kelime düzeyinde zaman damgaları ve isteğe bağlı diarization ile konuşmacı ayrımı.

0.01

Model girdisi

Input

URL of the audio file to transcribe. Supported formats: mp3, mp4, mpeg, mpga, m4a, wav or webm.

Additional Settings

Customize your input with more control.

Whether to transcribe the audio in its spoken language or translate it into English text.

ISO code of the spoken language. Leave unset to auto-detect.

Annotate which speaker said each chunk. Adds processing time (and therefore cost).

Timestamp granularity: none, segment (default), or word.

Min: 1 - Max: 64

Internal batch size for inference.

Optional text hint to bias transcription toward specific terms or spelling.

Expected number of speakers. Only used when diarize is true; leave unset to auto-detect.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

In today's episode, we explore how small daily habits repeated with patience and consistency compound into remarkable results over the course of a single year.

Generated in 1.366 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Whisper Large v3 API

Whisper Large v3 is a speech-to-text AI model by openai. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.01 per response.

POST https://queue.modelrunner.run/openai/whisper

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/openai/whisper \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "transcribe",
    "prompt": "",
    "diarize": false,
    "language": null,
    "audio_url": "https://media.modelrunner.ai/iuneUX0YY4AtcsceV9HHp.mp3",
    "batch_size": 64,
    "chunk_level": "segment",
    "num_speakers": null,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/openai/whisper/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/openai/whisper/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("openai/whisper", {
  input: {
    "task": "transcribe",
    "prompt": "",
    "diarize": false,
    "language": null,
    "audio_url": "https://media.modelrunner.ai/iuneUX0YY4AtcsceV9HHp.mp3",
    "batch_size": 64,
    "chunk_level": "segment",
    "num_speakers": null
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/openai/whisper",
    headers=headers,
    json={
      "task": "transcribe",
      "prompt": "",
      "diarize": false,
      "language": null,
      "audio_url": "https://media.modelrunner.ai/iuneUX0YY4AtcsceV9HHp.mp3",
      "batch_size": 64,
      "chunk_level": "segment",
      "num_speakers": null
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of Whisper Large v3
NameTypeRequiredDescription
audio_urlstring (uri)yesURL of the audio file to transcribe. Supported formats: mp3, mp4, mpeg, mpga, m4a, wav or webm.
taskenumnoWhether to transcribe the audio in its spoken language or translate it into English text. One of: transcribe, translate. Default: "transcribe".
languageenumnoISO code of the spoken language. Leave unset to auto-detect. One of: af, am, ar, as, az, ba, be, bg, bn, bo, br, bs, ca, cs, cy, da, de, el, en, es, et, eu, fa, fi, fo, fr, gl, gu, ha, haw, he, hi, hr, ht, hu, hy, id, is, it, ja, jw, ka, kk, km, kn, ko, la, lb, ln, lo, lt, lv, mg, mi, mk, ml, mn, mr, ms, mt, my, ne, nl, nn, no, oc, pa, pl, ps, pt, ro, ru, sa, sd, si, sk, sl, sn, so, sq, sr, su, sv, sw, ta, te, tg, th, tk, tl, tr, tt, uk, ur, uz, vi, yi, yo, zh. Default: null.
diarizebooleannoAnnotate which speaker said each chunk. Adds processing time (and therefore cost). Default: false.
chunk_levelenumnoTimestamp granularity: none, segment (default), or word. One of: none, segment, word. Default: "segment".
batch_sizeintegernoInternal batch size for inference. Default: 64.
promptstringnoOptional text hint to bias transcription toward specific terms or spelling. Default: "".
num_speakersintegernoExpected number of speakers. Only used when diarize is true; leave unset to auto-detect. Default: null.

Machine-readable: OpenAPI schema · llms.txt

Use Whisper Large v3 from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Whisper Large v3 becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint openai/whisper.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run openai/whisper on ModelRunner to generate text”. MCP setup guide.

Model Detayları

Model Detayları

Whisper Large v3, OpenAI’ın open source, çok dilli konuşma tanıma modelidir. Bir ses dosyasının URL’sini verin (mp3, mp4, mpeg, mpga, m4a, wav ya da webm); model tam transkripti düz metin olarak döndürür. Otomatik dil algılamayla 99 dili işler, konuşulan herhangi bir dili İngilizce metne çevirebilir ve segment ya da kelime düzeyinde zaman damgalarının yanı sıra isteğe bağlı diarization (konuşmacı ayrımı) sunar. Kayıtları aranabilir, kullanılabilir metne dönüştürmek için sağlam, genel amaçlı bir varsayılan tercihtir.

## En uygun olduğu işler - Toplantıları, röportajları, podcast’leri, dersleri ve sesli notları yazıya dökmek - Konuşulan dilin bilinmediği ya da karışık olduğu çok dilli transkripsiyon (99 dil, otomatik algılanır) - İngilizce olmayan sesleri tek çağrıda doğrudan İngilizce metne çevirmek (`task: "translate"`) - Altyazı ve kapalı altyazı için zaman damgalı segmentler ya da kelime düzeyinde parçalar üretmek - Diarization ile çok kişili kayıtların konuşmacıya atfedilmiş transkriptleri

## Şu durumlarda başka bir model seçin - Yazıya dökmek yerine metinden konuşma üretmek istiyorsanız — bir text-to-speech modeli kullanın - Devam eden bir görüşmenin canlı, streaming transkripsiyonu gerekiyorsa — bu model yüklenmiş tam bir dosyayı işler ve bitmiş bir transkript döndürür - Yerleşik ses olayı etiketlemesiyle (kahkaha, alkış) en yüksek doğrulukta İngilizce transkripsiyon istiyorsanız — `elevenlabs/scribe-v1` modelini değerlendirin

## İpuçları - Konuşulan dilin otomatik algılanması için `language` alanını boş bırakın; bir ISO kodunu (ör. `en`, `es`, `fr`, `de`, `ja`) yalnızca dil biliniyorsa, algılamayı atlamak için verin. - Kaynak dil ne olursa olsun İngilizce çıktı almak için `task` değerini `translate` yapın; konuşulan dilde çıktı için `transcribe` (varsayılan) olarak bırakın. - Zaman damgalarının ayrıntı düzeyini `chunk_level` ile belirleyin: `segment` (varsayılan) cümle düzeyinde parçalar, `word` kelime başına zaman damgaları döndürür; `none` ise zaman damgası token’larını atlayarak küçük bir hız kazancı sağlar. - `diarize` seçeneğini yalnızca çok konuşmacılı seslerde açın; her parçayı kimin söylediğini etiketler ama işlem süresini uzatır (faturalandırma işlem süresini izlediği için maliyeti de artırır).

## Gelişmiş Yapılandırma - `task` (varsayılan `transcribe`): `transcribe` konuşulan dili korur; `translate` İngilizce çıktı verir. - `chunk_level` (varsayılan `segment`): zaman damgası ayrıntı düzeyi — `none`, `segment` ya da `word`. - `diarize` (boolean, varsayılan `false`): her parçayı hangi konuşmacının söylediğini işaretler. Daha fazla işlem süresi gerektirir. - `num_speakers` (varsayılan: otomatik): beklenen konuşmacı sayısı için bir ipucu; yalnızca `diarize` `true` olduğunda kullanılır. - `prompt` (varsayılan: boş): transkripsiyonu belirli terimlere ya da yazımlara yönlendirmek için bir metin ipucu. - `batch_size` (varsayılan 64): dahili batch işleme; throughput’u ince ayarlamıyorsanız varsayılanda bırakın.

Maliyet notu: bu model transkripsiyon isteği başına faturalandırılır. Fiyat, ses uzunluğundan bağımsız olarak çıktı başına sabittir.

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("openai/whisper", { input: { audio_url: "https://media.modelrunner.ai/iuneUX0YY4AtcsceV9HHp.mp3", task: "transcribe", chunk_level: "segment", }, }); ```