SkyReels V3 · Web UI · vídeo em batch

Produza episódios de vídeo em fila, sem CLI

Fork do SkyReels V3 com uma Web UI completa: filas nomeadas, personagens falantes, import de episódio via JSON e finalização automática.

# clone, venv e dependências
git clone https://github.com/inematds/aisf
cd aisf
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# sobe a Web UI
python webui/app.py   # http://localhost:7860
O que é

SkyReels V3 com interface para produzir em escala

aisf é um fork do modelo de geração de vídeo SkyReels V3 com uma Web UI construída por cima, pensada para produzir vídeos em escala — especialmente séries animadas com vários personagens e cenas. Os modelos são baixados automaticamente do HuggingFace na primeira execução.

🎬 Filas nomeadas (batch)

Monte filas com dezenas de cenas, controle por cena, pule erros e retome de onde parou. Ideal para episódios inteiros.

🎬 Personagens falantes

Task `talking_avatar`: imagem de retrato + áudio MP3 → vídeo do personagem falando, com o áudio mixado automaticamente.

🎬 Episódio via JSON

Importe um `.json` com um array de cenas (tipos mistos) e gere a fila inteira. Edite prompt, seed e resolução em runtime.

Como funciona

Da imagem/áudio ao vídeo final

Você prepara assets, monta a fila (na UI ou via JSON), executa as cenas e finaliza concatenando os vídeos prontos.

Assets (imagens / áudios) Fila nomeada Geração por cena Finalizar (ffmpeg)

Tasks suportadas

`reference_to_video` (14B), `single_shot_extension` e `shot_switching_extension` (14B) e `talking_avatar` (19B).

Modos de memória

Completo (multi-GPU), `--offload` (~20 GB) e `--low_vram` (FP8, GPU única < 24 GB; obrigatório para talking_avatar).

Pré-requisitos

Ambiente e hardware

É um modelo de difusão de vídeo: precisa de GPU. O ambiente é Python com venv; alguns pacotes são opcionais mas recomendados.

Python 3.12 + venv

Crie e ative o ambiente virtual antes de instalar as dependências.

# ambiente
python3.12 -m venv .venv
source .venv/bin/activate

Dependências

Instale o requirements e, se o hardware permitir, os extras de performance.

pip install -r requirements.txt
# opcionais recomendados
pip install flash-attn --no-build-isolation
pip install xfuser torchao

GPU e Low VRAM

Para GPU única < 24 GB, ative o modo Low VRAM e o flag de alocação do CUDA.

export PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True"
Guia de uso · passo a passo

Da instalação à fila de episódio

Comece pela Web UI; quando precisar de automação, use a CLI ou a API REST.

1

Instale e suba a Web UI

Depois de criar a venv e instalar as dependências, suba a interface. Acesse de qualquer dispositivo na rede local.

source .venv/bin/activate
python webui/app.py   # http://localhost:7860
2

Organize os assets

Coloque cenários, retratos de personagens (reutilizados entre cenas) e áudios em `uploads/<projeto>/<episodio>/`.

# exemplo de estrutura
uploads/projeto/ep01/cena01.png
uploads/projeto/ep01/personagem_a.png
uploads/projeto/ep01/c01_a_linha1.mp3
3

Importe o episódio via JSON

Na aba Fila, use ↑ Importar para carregar um `.json` com um array de cenas. Tipos de task podem ser misturados no mesmo arquivo.

# cada objeto = 1 cena
[{ "label": "C01-A · Corredor",
   "task_type": "reference_to_video",
   "prompt": "A school hallway...",
   "resolution": "540P", "duration": 4,
   "ref_imgs": ["uploads/projeto/ep01/cena01.png"] }]
4

Execute e edite em runtime

▶ Continuar roda as cenas em sequência e pula erros. Clique em ✏️ para editar prompt, seed ou resolução de uma cena `idle`/`error` sem reiniciar o servidor — ou via API REST.

curl -X PATCH http://localhost:7860/nqueues/<fila>/jobs/<job> \
  -H "Content-Type: application/json" \
  -d '{"resolution":"720P","seed":9999}'
5

Finalize o vídeo

Com as cenas `done`, use 🎬 Finalizar para concatenar tudo num `.mp4` final via ffmpeg. Pela CLI, a saída sai em `result/<task>/`.

python3 generate_video.py \
  --task_type talking_avatar \
  --input_image personagem.png \
  --input_audio fala.mp3 \
  --resolution 480P --low_vram
Exemplos

O que dá pra montar

Casos de uso comuns para produção de séries animadas.

🎬 Episódio com dezenas de cenas

Um JSON com cenas de estabelecimento (`reference_to_video`) e falas (`talking_avatar`) misturadas vira uma fila inteira. O repo traz um exemplo com 59 cenas.

🗣️ Personagem falando

Retrato + MP3 de até 200s gera o avatar falante, com `__with_audio.mp4` já com o áudio mixado.

🔁 Retomar após erro

↩ Repetir do erro reseta só as cenas com falha e retoma daquele ponto — sem refazer o que já ficou pronto.

🖼️ Galeria de vídeos

Todos os vídeos gerados aparecem numa galeria com player e privacidade por card, para revisar a produção.

Roadmap

Para onde o fork evolui

Direções a partir das funcionalidades já adicionadas neste fork.

Agora
Web UI + filas nomeadasGeração individual e em fila, talking_avatar na UI, import JSON, edição em runtime e finalização via ffmpeg.
Próximo
Mais controle de produçãoRefino da galeria, status por cena e fluxo de retomada para episódios longos.
Depois
Acompanhar o upstreamIncorporar melhorias do SkyReels V3 original (Skywork AI) mantendo a camada de UI.