Skip to main content
Core.Today
|
Billing note Billing is per second of audio. 630 credits (the 1-hour maximum) are reserved when the job starts - or the file's actual length when it is a WAV/MP3/MP4/M4A whose header can be read - and the difference is refunded once OpenAI reports the measured duration.
OpenAIFastHigh

GPT Transcribe (OpenAI API)

OpenAI's gpt-transcribe speech recognition, the successor to whisper-1 - plain transcript text with detected languages, optional language hints and keyword spelling. No timestamps. Billed per second of audio (0.174375 credits/s, about 10.5 credits per minute), up to 1 hour / 25MB per request.

630 credits
per minute of audio (0.174375/s, settled on measured length)
OpenAI's current transcription model - the replacement for whisper-1 (shut down 2027-02-26)
Cheaper than whisper-1: about 10.5 credits per audio minute
Language hints with languages[] (ISO 639-1, regional zh-cn / zh-tw / zh-hk)
keywords[] to spell names, acronyms and domain terms correctly
Accepts mp3, mp4, mpeg, mpga, m4a, wav and webm up to 25MB

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-transcribe",
  "input": {
    "audio": "https://replicate.delivery/mgxm/e5159b1b-508a-4be4-b892-e1eb47850bdc/OSR_uk_000_0050_8k.wav",
    "languages": [
      "en"
    ]
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
audiostringYes-Audio file URL (mp3, mp4, mpeg, mpga, m4a, wav, webm). Sent to OpenAI as the `file` part. Max 25MB and 1 hour.
response_formatstringNo-json only - {text, languages, usage}. verbose_json, text, srt and vtt are not available for this model (no timestamps).
json
languagesarrayNo-Language codes spoken in the audio (ISO 639-1 such as ko, en, ja; regional zh-cn / zh-tw / zh-hk). Omit for automatic detection.
keywordsarrayNo-Names, acronyms and domain terms to spell correctly, one per entry (no line breaks or angle brackets).
promptstringNo-Free-form context about the audio (topic, speakers, style).

How to Provide File Input

There are 3 ways to provide files for the audio parameter:

Recommended

Image URL

Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.

{
  "model": "openai/gpt-transcribe",
  "input": {
    "prompt": "your prompt here",
    "audio": "https://example.com/image.jpg"
  }
}

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=openai/gpt-transcribe" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:audio=@your_file.png"
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Transcribe with a language hint

Returns {text, languages, usage} - usage.seconds is the billed length.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-transcribe",
  "input": {
    "audio": "https://replicate.delivery/mgxm/e5159b1b-508a-4be4-b892-e1eb47850bdc/OSR_uk_000_0050_8k.wav",
    "languages": [
      "en"
    ]
  }
}'

Korean meeting with keywords

keywords keeps product and company names spelled the way you write them.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-transcribe",
  "input": {
    "audio": "https://example.com/meeting.m4a",
    "languages": [
      "ko"
    ],
    "keywords": [
      "์ฝ”์–ด๋‹ทํˆฌ๋ฐ์ด",
      "Core.Today"
    ]
  }
}'

Tips & Best Practices

1The result is OpenAI's response body as-is: text, the detected languages, and usage.seconds (the billed length)
2Need segment or word timestamps? gpt-transcribe returns none - use openai/whisper (Replicate, segments with start/end), or openai/whisper-1 until it shuts down on 2027-02-26
3Split files over 25MB or 1 hour before submitting - longer or larger files are rejected
4OpenAI SDK: point the client at base_url https://api.core.today/llm/openai/v1 with your cdt_ API key and call client.audio.transcriptions.create(model="gpt-transcribe", file=...) - the file is uploaded directly (no URL), json only (no streaming, no translations), billed per second at the LLM rate (0.13935 credits/s, about 8.4 per minute) on the length OpenAI reports

Use Cases

Meeting, lecture and interview transcripts
Voice memos and call recordings to searchable text
Moving a whisper-1 integration off the retiring model