Spaces:
Sleeping
Sleeping
Hjgugugjhuhjggg
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -4,7 +4,6 @@ from fastapi import FastAPI, HTTPException
|
|
4 |
from fastapi.responses import StreamingResponse
|
5 |
from pydantic import BaseModel
|
6 |
from transformers import (
|
7 |
-
AutoConfig,
|
8 |
AutoModelForCausalLM,
|
9 |
AutoTokenizer,
|
10 |
GenerationConfig,
|
@@ -59,7 +58,7 @@ class S3ModelLoader:
|
|
59 |
)
|
60 |
|
61 |
def _get_s3_uri(self, model_name):
|
62 |
-
return f"s3://{self.bucket_name}/{model_name}"
|
63 |
|
64 |
def load_model_and_tokenizer(self, model_name):
|
65 |
if model_name in token_dict:
|
@@ -224,7 +223,7 @@ async def generate_text_to_speech(request: GenerateRequest):
|
|
224 |
audio = audio_generator(validated_body.input_text)[0]
|
225 |
|
226 |
audio_byte_arr = BytesIO()
|
227 |
-
audio.save(audio_byte_arr)
|
228 |
audio_byte_arr.seek(0)
|
229 |
|
230 |
return StreamingResponse(audio_byte_arr, media_type="audio/wav")
|
@@ -232,24 +231,6 @@ async def generate_text_to_speech(request: GenerateRequest):
|
|
232 |
except Exception as e:
|
233 |
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
234 |
|
235 |
-
# Endpoint para generar video
|
236 |
-
@app.post("/generate-video")
|
237 |
-
async def generate_video(request: GenerateRequest):
|
238 |
-
try:
|
239 |
-
validated_body = request
|
240 |
-
device = "cuda" if torch.cuda.is_available() else "cpu"
|
241 |
-
video_generator = pipeline("text-to-video", model=validated_body.model_name, device=device)
|
242 |
-
video = video_generator(validated_body.input_text)[0]
|
243 |
-
|
244 |
-
video_byte_arr = BytesIO()
|
245 |
-
video.save(video_byte_arr, format="MP4")
|
246 |
-
video_byte_arr.seek(0)
|
247 |
-
|
248 |
-
return StreamingResponse(video_byte_arr, media_type="video/mp4")
|
249 |
-
|
250 |
-
except Exception as e:
|
251 |
-
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
252 |
-
|
253 |
# Ejecutar el servidor FastAPI con Uvicorn
|
254 |
if __name__ == "__main__":
|
255 |
import uvicorn
|
|
|
4 |
from fastapi.responses import StreamingResponse
|
5 |
from pydantic import BaseModel
|
6 |
from transformers import (
|
|
|
7 |
AutoModelForCausalLM,
|
8 |
AutoTokenizer,
|
9 |
GenerationConfig,
|
|
|
58 |
)
|
59 |
|
60 |
def _get_s3_uri(self, model_name):
|
61 |
+
return f"s3://{self.bucket_name}/{model_name.replace('/', '-')}"
|
62 |
|
63 |
def load_model_and_tokenizer(self, model_name):
|
64 |
if model_name in token_dict:
|
|
|
223 |
audio = audio_generator(validated_body.input_text)[0]
|
224 |
|
225 |
audio_byte_arr = BytesIO()
|
226 |
+
audio.save(audio_byte_arr, format="WAV")
|
227 |
audio_byte_arr.seek(0)
|
228 |
|
229 |
return StreamingResponse(audio_byte_arr, media_type="audio/wav")
|
|
|
231 |
except Exception as e:
|
232 |
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
# Ejecutar el servidor FastAPI con Uvicorn
|
235 |
if __name__ == "__main__":
|
236 |
import uvicorn
|