Spaces:
Build error
Build error
| import gradio as gr | |
| import requests | |
| from googletrans import Translator | |
| import tempfile | |
| translator = Translator() | |
| # ⚠️ free public whisper API (demo) | |
| WHISPER_API = "https://api-inference.huggingface.co/models/openai/whisper-small" | |
| def format_time(i): | |
| start = i * 3 | |
| end = start + 3 | |
| return f"00:00:{start:02},000 --> 00:00:{end:02},000" | |
| def process(video): | |
| # Read video file | |
| with open(video, "rb") as f: | |
| data = f.read() | |
| # Call HF API | |
| response = requests.post(WHISPER_API, data=data) | |
| if response.status_code != 200: | |
| return "API Error", None | |
| result = response.json() | |
| text = result.get("text", "") | |
| # Translate | |
| burmese = translator.translate(text, dest="my").text | |
| # Simple SRT | |
| sentences = burmese.split("။") | |
| srt = "" | |
| for i, s in enumerate(sentences): | |
| if s.strip(): | |
| srt += f"{i+1}\n{format_time(i)}\n{s.strip()}။\n\n" | |
| # Save SRT | |
| tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".srt") | |
| tmp.write(srt.encode("utf-8")) | |
| tmp.close() | |
| return burmese, tmp.name | |
| demo = gr.Interface( | |
| fn=process, | |
| inputs=gr.Video(label="Upload Video"), | |
| outputs=[ | |
| gr.Textbox(label="🇲🇲 Burmese Script"), | |
| gr.File(label="⬇️ Download SRT") | |
| ], | |
| title="🔥 Burmese Video AI (ULTRA SAFE BUILD)" | |
| ) | |
| demo.launch(server_name="0.0.0.0", server_port=7860) |