feat: initial code for fal.ai integration
This commit is contained in:
35
fal_app.py
Normal file
35
fal_app.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import io
|
||||
import fal
|
||||
import torch
|
||||
from fal.toolkit import File
|
||||
|
||||
from prompts import PROMPTS
|
||||
|
||||
|
||||
class InfinifiFalApp(fal.App, keep_alive=300):
|
||||
machine_type = "GPU-A6000"
|
||||
requirements = [
|
||||
"torch==2.1.0",
|
||||
"audiocraft==1.3.0",
|
||||
"torchaudio==2.1.0",
|
||||
"websockets==11.0.3",
|
||||
]
|
||||
|
||||
def setup(self):
|
||||
import torchaudio
|
||||
from audiocraft.models.musicgen import MusicGen
|
||||
|
||||
self.model = MusicGen.get_pretrained("facebook/musicgen-large")
|
||||
self.model.set_generation_params(duration=60)
|
||||
|
||||
@fal.endpoint("/generate")
|
||||
def run(self):
|
||||
wav = self.model.generate(PROMPTS)
|
||||
|
||||
serialized = []
|
||||
for one_wav in wav:
|
||||
buf = io.BytesIO()
|
||||
torch.save(one_wav.cpu(), buf)
|
||||
serialized.append(buf.getvalue())
|
||||
|
||||
return serialized
|
Reference in New Issue
Block a user