video / app.py
seawolf2357's picture
Update app.py
743e080 verified
raw
history blame
1.46 kB
import os
import tempfile
import gradio as gr
from huggingface_hub import HfApi
# ν™˜κ²½ λ³€μˆ˜μ—μ„œ Hugging Face 토큰 읽기
hf_token = os.getenv("HF_TOKEN")
# Hugging Face API μ΄ˆκΈ°ν™”
api = HfApi()
def upload_file_to_hf_space(uploaded_file):
user_id = "seawolf2357"
space_name = "video"
repo_id = f"{user_id}/{space_name}"
# μž„μ‹œ 파일 생성 및 μ—…λ‘œλ“œλœ 파일 데이터 μ“°κΈ°
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as tmp_file:
# Gradio 2.0 μ΄μƒμ—μ„œλŠ” uploaded_file이 파일의 λ°”μ΄λ„ˆλ¦¬ 데이터λ₯Ό 직접 제곡
tmp_file.write(uploaded_file)
file_path = tmp_file.name
# Hugging Face Spaces에 파일 μ—…λ‘œλ“œ
api.upload_file(
path_or_fileobj=file_path,
path_in_repo=os.path.basename(file_path),
repo_id=repo_id,
token=hf_token,
)
# μ—…λ‘œλ“œλœ 파일의 URL λ°˜ν™˜
uploaded_file_url = f"https://huggingface.co/spaces/{repo_id}/blob/main/{os.path.basename(file_path)}"
os.unlink(file_path) # μž„μ‹œ 파일 μ‚­μ œ
return uploaded_file_url
# Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ • 및 μ‹€ν–‰
iface = gr.Interface(
fn=upload_file_to_hf_space,
inputs=gr.File(label="Upload your MP4 file"),
outputs="text",
title="MP4 File Upload to Hugging Face Spaces",
description="Upload an MP4 file and get its URL in Hugging Face Spaces. Please ensure the file is an MP4 format."
)
iface.launch()