Fork do SkyReels V3 com interface web para produzir séries animadas em escala: filas nomeadas com dezenas de cenas, talking avatar, import via JSON e finalização automática.
# clona, cria o venv e sobe a Web UI git clone https://github.com/inematds/skyreelsv3 python3.12 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python webui/app.py # http://localhost:7860
Fork do modelo de geração de vídeo SkyReels V3 (Skywork AI) com uma Web UI construída para produção em escala — especialmente séries com múltiplos personagens e cenas. A interface continua 100% utilizável standalone e também é consumida pela plataforma imkt4 como worker de geração por roteiro.
reference_to_video (14B), single_shot_extension e shot_switching_extension (14B) e talking_avatar (19B) — imagem de personagem + áudio MP3 vira vídeo falante.
Named Queues com dezenas de cenas, controle por cena, retomada após erro e edição de prompt / seed / resolução em runtime.
Importe um episódio inteiro (uma cena por objeto, tipos mistos) e ao final concatene as cenas concluídas num MP4 via ffmpeg.
Você importa um array de cenas como fila nomeada, executa as cenas idle em sequência (pulando erros), repete a partir do erro se preciso e finaliza concatenando tudo.
Cenários, retratos de personagens e áudios ficam em uploads/<projeto>/<episodio>/ — personagens são reusados entre cenas.
Completo (multi-GPU), --offload (GPU única ≥ 20 GB) e --low_vram (FP8 + block offload, GPU < 24 GB). talking_avatar exige low_vram em GPUs pequenas.
Altere parâmetros de uma cena específica via PATCH /nqueues/<fila>/jobs/<job> sem reiniciar o servidor.
Python 3.12 e uma GPU compatível. Os modelos do SkyReels V3 são baixados automaticamente do HuggingFace na primeira execução.
Crie e ative o ambiente virtual antes de instalar.
python3.12 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
flash-attn (atenção), xfuser (multi-GPU) e torchao (FP8 / Low VRAM).
pip install flash-attn --no-build-isolation pip install xfuser torchao
Para GPUs < 24 GB, exporte a alocação expansível antes de rodar.
export PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True"
Suba a Web UI, organize os assets, importe o JSON do episódio e finalize. Também dá para gerar uma cena avulsa pela CLI.
Os modelos baixam sozinhos na primeira execução.
git clone https://github.com/inematds/skyreelsv3 && cd skyreelsv3 python3.12 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python webui/app.py # http://localhost:7860
Cenários, retratos e áudios por projeto e episódio. Atenção: caminhos em ref_imgs não podem conter vírgulas (a CLI usa vírgula como separador).
# uploads/<projeto>/<episodio>/
cena01.png personagem_a.png c01_a_linha1.mp3
Um array de cenas vira uma fila nomeada. Tipos de task podem ser misturados no mesmo arquivo.
# na aba Fila → ↑ Importar [{"label":"C01-A · Corredor","task_type":"reference_to_video", "prompt":"...","resolution":"540P","duration":4, "ref_imgs":["uploads/proj/cena01.png"]}]
▶ Continuar executa as cenas idle em sequência; ↩ Repetir do erro retoma daquele ponto; ✏️ edita prompt / seed / resolução em runtime.
# ações por fila
▶ Continuar ↩ Repetir do erro ↺ Reiniciar 🎬 Finalizar
🎬 Finalizar concatena todas as cenas done num único MP4 via ffmpeg.
# saída final na galeria de vídeos
🎬 Finalizar → episodio_final.mp4
Útil para testes pontuais; a saída vai para result/<task_type>/.
python3 generate_video.py \
--task_type talking_avatar \
--input_image personagem.png --input_audio fala.mp3 \
--resolution 480P --seed 42 --low_vram
Pensado para séries animadas com muitos personagens e falas, mas também serve geração avulsa.
O exemplo em doc/ traz um episódio com 59 cenas (21 reference_to_video + 38 talking_avatar) num único JSON.
Imagem de retrato + áudio MP3 (até 200 s) gera o vídeo falante; em GPU pequena, sempre com --low_vram e resolução 480P ou 720P.
single_shot_extension e shot_switching_extension estendem um vídeo de entrada mantendo continuidade.
Desde a v3.49, a Web UI expõe /health e webhook callback em /nqueues/<id>/run?callback_url=... para orquestração multi-tenant.
O fork foca em transformar o SkyReels V3 numa ferramenta de produção de episódios, mantendo compatibilidade standalone e integração com o imkt4.
/health, webhook callback e resume-from-error para uso como worker macro de geração por roteiro.