Live OpenAI monthly cost data unavailable — showing local estimates.
OPENAI_ADMIN_API_KEY is not set. Configure an admin key with the api.usage.read scope to display real OpenAI costs.
The admin API key was rejected by OpenAI (401). It is invalid or has been revoked. Re-issue an admin key and update OPENAI_ADMIN_API_KEY.
The admin API key lacks the api.usage.read scope (403). Re-issue with the right scope.
Could not reach OpenAI's costs API (network error). Retried automatically on the next refresh.
OpenAI's costs API returned an unexpected response. Costs below are estimates derived from the local job log.
Jobs today
Cost today
· DB estimateDaily auto-suspend cap left
Self-imposed cap (DAILY_PLATFORM_BUDGET_USD)
Monthly auto-suspend cap left
Live OpenAI ~ EstimateJob history
-
API UI
About this build
Loading…
- Version
- Git commit
- Build date
- Python
- Uptime
Transcription backend
Active backend for new transcription jobs. Vintage mode is an override that forces
local large-v3 + vocal separation regardless of the provider —
tuned for old / low-quality recordings (cassette transfers, AM radio, music with strong instrumentals).
See local_transcription.md for the sizing matrix.
openai calls Whisper API (cloud, fast, good on speech).
faster-whisper runs Whisper locally (no API call, slower on CPU).
Extracts the vocal stem from the mix before transcription. Strongly recommended for music — without it Whisper hallucinates random languages on instrumental-heavy tracks. First use downloads ~3 GB of model weights (one-time).
htdemucs (v4 hybrid transformer) is the speed/quality default.
When off (default), the vintage toggle is hidden in the UI and any
vintage=true sent via the API is silently ignored.
Enable only on instances with a local faster-whisper + Demucs stack powerful enough to run it.
Forces local large-v3 + vocal separation regardless of the provider.
~6× realtime on CPU — best run as a one-off via --vintage on the CLI for individual jobs,
not as a default.
When the first pass returns a degraded transcript (Whisper covered < 30 % of the audio — the textbook hallucination on instrumental-heavy music), automatically re-run the same audio with Demucs forced on. The user pays credits exactly once regardless of the retry. Off → leaves the user with a degraded transcript and a warning banner instead. Adds wall-clock time only when the first pass actually fell over.
When a job is submitted with Audio type = Music track, automatically run Demucs vocal separation even if the global "Vocal separation" toggle is off. Recommended on — guitar and instrument hallucinations are the #1 cause of poor music transcription. Only disable if Demucs is not installed or on very resource-limited servers.
When a music job is processed, override the configured transcription model to whisper-1 regardless of the global model setting. Recommended on — whisper-1 is the only OpenAI model that returns per-segment timestamps. Without timestamps, LRC and SRT files cannot be time-synced. Disable only if you intentionally want gpt-4o-transcribe on music jobs.
Fraction of audio that must be covered by transcript segments before the result is considered
acceptable. Below this ratio the auto-retry safety net fires.
Default 0.30 (30 %) is speech-optimised. Raise to
0.50 on music-first deployments to catch more hallucinations
(complementary to the blip-pattern detector which works regardless of this value).
faster-whisper settings (used by the local provider and by vintage mode).
Leave blank to use the default HuggingFace cache. On first use, the chosen model is downloaded (~150 MB to ~3 GB depending on size).
OpenAI
Optional. Admin key with api.usage.read scope — enables live billing data on the dashboard.
Create one at platform.openai.com/api-keys.
whisper-1 is whisper-large-v2 under the hood — fine for clean speech but hallucinates random languages on music with strong instrumentals (the "Take On Me as Russian" failure mode). gpt-4o-mini-transcribe is the cost/quality sweet spot. gpt-4o-transcribe is best on accents and difficult audio. Pricing changes — check openai.com/api/pricing.
Optional secondary model used if the primary fails (transient API errors, model outage). Pick a different model from the primary so a model-specific outage doesn't take both down.
OpenAI Whisper hard limit. Do not raise above 25 unless the API limit changes.
MBBudget guardrails
Costs shown on the dashboard are pulled live from the OpenAI API when the key has
api.usage.read (admin) permissions. Otherwise they fall back to local estimates
based on the rate below.
OpenAI Whisper is $0.006/min. Update here if pricing changes.
Auto-transcoding
Convert oversized files to MP3 via ffmpeg before sending to OpenAI.
128 kbps mono is sufficient for Whisper.
Audio limits
Files longer than this are rejected before transcription.
Application
Transactional email
Disabled (no-op logger)Empty disables real email — messages are only logged. Save applies immediately.
Leave blank to keep the current value (currently: ).
Used to build verify / reset links inside emails. Production must be the public HTTPS URL.
Audio Recognition / AudD
Privacy notice: AudD sends a short audio sample (default 12 s) to an external provider. Enable this only if your privacy policy and terms disclose external processing. The full uploaded file is never sent.
Current:
AudD auto-disabled
Monthly request limit reached — no new AudD calls will be made.
High failure rate detected — in cooldown until .
AudD usage
Today
This month
Success rate
Avg latency
Status this month
- No recognitions this month.
Recent failures
- None.
Last 100 events
| Time | Event | Job | Latency | Detail |
|---|---|---|---|---|
Job Debugger
Search any job by UUID to view full details: model used, timestamps_mode, transcription attempts, audit logs, etc.
Job Details
Job ID
Status
User
Filename
Created
Runtime
Timeline
Transcription
Model
Has Timestamps
Timestamps Mode
Language
Segments
Degraded
Audio
Duration
File Size
SHA256
Processing
Vocal Separation
Attempts
Retry Reason
Transcription Attempts
Provider
Model
Language
Audio duration
Segments
Coverage
Est. cost
Vintage mode
Started
Completed
Step profiling
Audit Log
Audit log
| Timestamp | Action | Job ID | User ID | Details |
|---|---|---|---|---|
| — | — |
User:
Balance
Reserved
Available
Recent transactions
| Date | Type | Amount | Note |
|---|---|---|---|
Users
| Role | Status | Credits | Trials used | Joined | Last login | ||
|---|---|---|---|---|---|---|---|
Dev Tools
Simulate password reset without email service. Only available when
ENABLE_EMAIL_VERIFICATION=false.
Free Trial Controls
Free trials paused
When paused, no new free trial jobs will be accepted platform-wide.
Status:
Block an IP
Blocked IPs ()
| IP | Reason | Blocked at | Actions |
|---|---|---|---|
Sent today
Failed today
Sent this month
Failed this month
By category — last 30 days
| Category | Sent | Failed |
|---|---|---|
Recent failures
Email log
| When | Category | Recipient | Status | Latency | Detail |
|---|---|---|---|---|---|
- • Use
API Callsfilter to see all v1 API requests (POST, GET /segments, etc) - • Use
Transcriptionsfilter to debug job processing (_run_job START/SUCCESS/FAILED) - • Use
Timestampsfilter to verify model selection (whisper-1 vs gpt-4o-*) - • Search bar also supports regex: try
has_timestamps=to find timestamp metadata in responses
Application logs
.
Run a request to generate the first lines, then refresh.