# GPT Transcribe (OpenAI API) - Core.Today AI 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. - **Provider**: OpenAI - **Model ID**: openai/gpt-transcribe - **Category**: Audio & TTS - **Credits**: 11 per minute of audio (0.174375/s, settled on measured length) - **Speed**: Fast - **Quality**: High ## Features - 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 ## Use Cases - Meeting, lecture and interview transcripts - Voice memos and call recordings to searchable text - Moving a whisper-1 integration off the retiring model ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Required - **audio**: string - Audio file URL (mp3, mp4, mpeg, mpga, m4a, wav, webm). Sent to OpenAI as the `file` part. Max 25MB and 1 hour. ### Optional - **response_format**: string - json only - {text, languages, usage}. verbose_json, text, srt and vtt are not available for this model (no timestamps). Options: json - **languages**: array - 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. - **keywords**: array - Names, acronyms and domain terms to spell correctly, one per entry (no line breaks or angle brackets). - **prompt**: string - Free-form context about the audio (topic, speakers, style). ## Examples ### Transcribe with a language hint Returns {text, languages, usage} - usage.seconds is the billed length. ```json { "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. ```json { "model": "openai/gpt-transcribe", "input": { "audio": "https://example.com/meeting.m4a", "languages": [ "ko" ], "keywords": [ "코어닷투데이", "Core.Today" ] } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - The result is OpenAI's response body as-is: text, the detected languages, and usage.seconds (the billed length) - Need 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 - Split files over 25MB or 1 hour before submitting - longer or larger files are rejected - OpenAI 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 ## Documentation https://developers.openai.com/api/docs/models/gpt-transcribe