42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ pkgs }:
|
|
|
|
let
|
|
pythonEnv = pkgs.python3.withPackages (ps: let
|
|
torch = ps.torchWithCuda;
|
|
accelerate = ps.accelerate.override { inherit torch; };
|
|
in [
|
|
accelerate
|
|
ps.diffusers
|
|
ps.fastapi
|
|
ps.imageio
|
|
ps.imageio-ffmpeg
|
|
ps.pillow
|
|
ps.python-multipart
|
|
ps.safetensors
|
|
torch
|
|
ps.transformers
|
|
ps.uvicorn
|
|
]);
|
|
in
|
|
|
|
pkgs.stdenv.mkDerivation {
|
|
pname = "stable-video-diffusion-api";
|
|
version = "0.1.0";
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/libexec/stable-video-diffusion-api
|
|
cp $src/app.py $out/libexec/stable-video-diffusion-api/app.py
|
|
chmod +x $out/libexec/stable-video-diffusion-api/app.py
|
|
|
|
makeWrapper ${pythonEnv}/bin/python3 $out/bin/stable-video-diffusion-api \
|
|
--add-flags $out/libexec/stable-video-diffusion-api/app.py \
|
|
--set-default SVD_API_HOST 127.0.0.1 \
|
|
--set-default SVD_API_PORT 8000 \
|
|
--set-default SVD_MODEL_ID stabilityai/stable-video-diffusion-img2vid-xt \
|
|
--set-default SVD_OUTPUT_DIR /var/lib/stable-video-diffusion-api/outputs
|
|
'';
|
|
}
|