Spaces:
Runtime error
Runtime error
File size: 2,000 Bytes
6c226f9 083fb9e 5ded1e8 6c226f9 083fb9e 94f1c39 083fb9e 94f1c39 6c226f9 083fb9e a4cd8a5 6c226f9 083fb9e 5ded1e8 d959af8 083fb9e d959af8 3c0cd8e 083fb9e 6c226f9 083fb9e 7097513 88ca9aa 083fb9e 7097513 083fb9e 6c226f9 de63ea3 083fb9e 6c226f9 b95b5ca 6c226f9 d63ae8a 6c226f9 083fb9e a495c2a 083fb9e 5ded1e8 083fb9e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import gradio as gr
import os
from gradio_client import Client
def transcribe_audio(youtube_url: str, task: str = "transcribe", return_timestamps: bool = False, api_name: str = "/predict_2") -> dict:
"""
Transcribe audio from a given YouTube URL using a specified model.
Parameters:
- youtube_url (str): The YouTube URL to transcribe.
- task (str, optional): The task to perform. Default is "transcribe".
- return_timestamps (bool, optional): Whether to return timestamps. Default is True.
- api_name (str, optional): The API endpoint to use. Default is "/predict_2".
Returns:
- dict: The transcription result.
"""
client = Client("https://sanchit-gandhi-whisper-jax.hf.space/")
result = client.predict(youtube_url, task, return_timestamps, fn_index=7)
return result
MODEL_NAME = "openai/whisper-large-v3"
demo = gr.Blocks()
EXAMPLES = [
["https://www.youtube.com/watch?v=H1YoNlz2LxA", "translate",False],
]
yt_transcribe = gr.Interface(
fn=transcribe_audio,
inputs=[
gr.inputs.Textbox(lines=1, placeholder="Paste the URL to a YouTube video here", label="YouTube URL"),
gr.inputs.Radio(["transcribe", "translate"], label="Task", default="transcribe"),
gr.inputs.Checkbox(label="Return timestamps")
],
outputs=[gr.outputs.HTML(label="Video"),
gr.outputs.Textbox(label="Transcription").style(show_copy_button=True)],
layout="horizontal",
theme=gr.themes.Base(),
title="Whisper Large V2: Transcribe YouTube",
description=(
"Transcribe long-form YouTube videos with the click of a button! Demo uses the checkpoint"
f" [{MODEL_NAME}](https://huggingface.co/{MODEL_NAME}) and 🤗 Transformers to transcribe video files of"
" arbitrary length."
),
allow_flagging="never",
examples=EXAMPLES,
cache_examples=False
)
with demo:
gr.DuplicateButton()
gr.TabbedInterface([yt_transcribe], [ "YouTube"])
demo.launch(enable_queue=True) |