Files
hearth/package/stable-video-diffusion-api/default.nix
T

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
'';
}