Spaces:
Sleeping
Sleeping
import os | |
import tempfile | |
import gradio as gr | |
from huggingface_hub import HfApi | |
import logging | |
# λ‘κΉ μ€μ | |
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') | |
# νκ²½ λ³μμμ Hugging Face ν ν° μ½κΈ° | |
hf_token = os.getenv("TOKEN") | |
if not hf_token: | |
logging.error("Hugging Face token is not set. Please set the HF_TOKEN environment variable.") | |
exit() | |
# 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=True, suffix='.mp4') as tmp_file: | |
try: | |
tmp_file.write(uploaded_file) | |
tmp_file.flush() | |
file_path = tmp_file.name | |
logging.info(f"Uploading {file_path} to Hugging Face Spaces") | |
# 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, | |
) | |
uploaded_file_url = f"https://huggingface.co/spaces/{repo_id}/blob/main/{os.path.basename(file_path)}" | |
logging.info(f"File uploaded successfully: {uploaded_file_url}") | |
return uploaded_file_url | |
except Exception as e: | |
logging.error(f"Failed to upload file: {e}") | |
return "Failed to upload file." | |
# 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(debug=True) | |