CLIPSTAR1305's picture
Upload 2 files
0bd1bf1 verified
import whisper
import gradio as gr
import srt
import datetime
model = whisper.load_model("base")
def transcribe_audio(video_file):
result = model.transcribe(video_file.name)
segments = result["segments"]
subtitles = []
for i, seg in enumerate(segments):
start = datetime.timedelta(seconds=seg["start"])
end = datetime.timedelta(seconds=seg["end"])
content = seg["text"]
subtitles.append(srt.Subtitle(index=i+1, start=start, end=end, content=content))
srt_string = srt.compose(subtitles)
with open("subtitles.srt", "w", encoding="utf-8") as f:
f.write(srt_string)
return result["text"], "subtitles.srt"
gr.Interface(
fn=transcribe_audio,
inputs=gr.File(label="Sube tu video o audio"),
outputs=[
gr.Textbox(label="Transcripción"),
gr.File(label="Descargar subtítulos .srt")
],
title="MagikClip - Generador de Subtítulos IA",
description="Sube un video o audio y genera subtítulos automáticamente estilo TikTok."
).launch()