dubbit.ai Docs
What Is dubbit.ai
Section titled “What Is dubbit.ai”dubbit.ai to pipeline dubbingowy oparty o Cloudflare Workers. Worker orkiestruje etapy, ale nie uruchamia lokalnego ML i nie renderuje ciężkiego audio/video.
Core Constraints
Section titled “Core Constraints”- Brak lokalnego ML/GPU.
- Brak własnego mix/export w Worker.
- Każdy etap ML idzie przez zewnętrzne API providerów.
- D1 trzyma metadane, R2 trzyma pliki.
- Brak fallbacku typu
noop: błąd providera kończy job jakofailed.
Main Flows
Section titled “Main Flows”- Import assetu:
- domyślnie upload własnego wideo (
/api/assets/init-upload->/api/assets/complete-upload), - alternatywnie import z YouTube (
youtubeImportCreate).
- domyślnie upload własnego wideo (
- Utworzenie parent joba
dubbingi uruchomienie workflow. - Workflow tworzy child kroki:
transcribe->diarize->voice-clone->translate->tts->export. - Webhook providera aktualizuje status i wznawia pipeline.
- Finalny export trafia do
dubbit-exports(R2).
Oprócz pełnego pipeline (dubbing), poszczególne kroki mogą być uruchomione indywidualnie (typy jobów: transcribe, diarize, voice-clone, translate, tts, export). Standalone joby łączą się z danymi z poprzedniego kroku przez sourceJobId w metadanych.
Billing
Section titled “Billing”- Integracja płatności opiera się o
@dodopayments/better-auth. - Endpointy billingowe są pod
/api/auth/dodopayments/*(checkout, portal, subscriptions, payments, webhook). - Referencja docs: Dodo Payments llms-full.
- Better Auth (social login, passkeys, 2FA, phone OTP): guide.
UI Highlights
Section titled “UI Highlights”- Realtime progress przez SSE (
/api/jobs/:jobId/events). - Podgląd media z R2 (video + audio) na widoku projektu.
- Transcript insights: liczba segmentów, słów, rozpoznanych speakerów, status tłumaczenia.
- Dubbing full pipeline — jeden przycisk uruchamiający cały pipeline (STT → diarize → translate → TTS → export).
- Workflow runs + timeline — parent
dubbingjest pokazywany jako karta uruchomienia, a child kroki jako timeline wybranego runa. - Individual step controls — 6 osobnych przycisków (Transcribe, Diarize, Voice Clone, Translate, TTS, Export) z automatycznym blokowaniem gdy brak danych z poprzednich kroków.
- Active job lock — podczas
running/waiting_webhookprzyciski tworzenia nowych jobów są zablokowane. - Akcje na jobach:
Canceldlaqueued/running/waiting_webhook(oznacza job jakofailed, aby był możliwyRetry),Retrydla child workflow tylko na ostatnim kroku danego runa (UI + backend),Retryparentadubbingoznacza resume tego samegojobId(bez tworzenia nowego parent joba),Deletedlafailed.
- Usage dashboard (
/usage) z podziałem na projekty i typy użycia. - Frontend UI standard (
Tailwind + daisyUI): guide.
OpenAPI Reference
Section titled “OpenAPI Reference”Sekcja API generuje się ze specyfikacji backendu (/api/openapi.json) przez plugin starlight-openapi.