Aviso
Em forte desenvolvimento. Precisa de ajuda!
Ambientes docker prontos para usar para desenvolvimento rápido em pipelines text2img, img2img, text2video img2video usando imagens Docker Ollama + ComfyUI + ffmpeg
./config/ollama/entrypoint.sh
para baixar modelos e servir via API./config/ollama/modelfiles
para definir modelos personalizados./config/comfyui/provisioning.sh
para provisionar comfyui e sua API./config/comfyui/models.csv
é usado acima para baixar/atualizar modelos personalizados. Modelos SDXL e AnimateDiff incluídos, renomeie para models.csv para uso../config/comfyui/nodes.csv
é usado acima para baixar/atualizar nós personalizados. Nós SDXL e AnimateDiff incluídos, renomeie para nodes.csv para uso. Renomeie template.env para .env e inicie os contêineres um por um (recomendado)
docker-compose up ollama-api -d
docker-compose up comfyui-api -d
docker-compose up ffmpeg-api -d
Quando eles estiverem funcionando, você pode derrubar todos eles
docker compose down
E traga tudo à tona quando necessário
docker compose up -d
Testado em Python 3.10/Pytorch 2.0.1, NVIDIA CUDA (WSL)
Descrição da atualização TODO
Confira todos os modelos disponíveis
curl http://localhost:11434/api/tags
Use o modelo de gerador de prompt no meio da jornada
curl -X POST http://localhost:11434/api/generate -d ' {
"model": "mj:latest",
"prompt": "a sports car in the mountains.",
"stream": false} '
Ver informações do modelo
http://localhost:11434/api/show -d ' {
"name": "mj:latest"
} '
Aviso
Executa como root.
A GUI está visível na porta 8188. Normalmente arrasto e solto meus fluxos de trabalho diretamente no navegador. Se o espaço na unidade for escasso, altere o ponto de montagem do volume.
Aviso
Executa como root.
Descrição da atualização TODO
Converter mp4 para png
docker exec -it ffmpeg-api ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -resize 576x1024 -i /output/Dancing.mp4 -vf " scale_npp=format=yuv420p,hwdownload,format=yuv420p " -pix_fmt yuvj420p -color_range 2 /output/frame_%03d.jpg
Converter png em jpg
docker exec -it ffmpeg-api /bin/bash -c ' for image in /output/*.png; do ffmpeg -i "$image" "${image%.png}.jpg"; rm "$image"; echo "image $image converted to ${image%.png}.jpg "; done '
Converta imagens em vídeo mp4
docker exec -it ffmpeg-api ffmpeg -y -loglevel error -i ' /output/frame_%03d.jpg ' -r 30 -c:v hevc_nvenc -pix_fmt yuv420p -preset fast /output/final.mp4
Algumas portas precisam ser expostas para que os serviços sejam executados ou para que determinados recursos do software fornecido funcionem
Portas abertas | Serviço / Descrição |
---|---|
11434 | Servidor web Ollama |
8188 | Interface ComfyUI |