File size: 2,954 Bytes
c7f05a9
 
 
 
 
 
 
 
46d55e6
 
 
 
 
3cd6712
 
 
 
ef91664
 
16f9505
 
 
 
 
64e1ec4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c7f05a9
 
 
46d55e6
 
 
 
 
 
c7f05a9
42682ca
dce30ce
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# O Space ZeroGPU. `gradio` vem do SDK do Space (o front-matter do README o
# declara); `spaces` é injetado pelo próprio Hugging Face em hardware ZeroGPU.
# O torch NÃO se fixa aqui: no ZeroGPU a versão de torch/CUDA compatível é a
# do ambiente deles, e fixar a nossa por cima é como se quebra a alocação.
#
# O resto é a MESMA camada de inferência do worker CUDA
# (services/gpu-worker/requirements.txt) — mesmos modelos, mesmas versões,
# de propósito: dois pares de versões seriam dois comportamentos.
# `>=0.38` é MEDIDO: é a versão em que o AceStepPipeline entrou no diffusers
# — a música daqui carrega o checkpoint oficial em formato diffusers
# (acestep-v15-xl-turbo-diffusers), sem o pacote do projeto. Fixe a versão
# exata que o primeiro build verde escolher.
diffusers>=0.38
# `>=4.51` é MEDIDO, não gosto: o Z-Image usa encoder Qwen3, e a classe
# Qwen3Model só existe do 4.51 em diante — com 4.50 a primeira geração real
# caiu com "module transformers has no attribute Qwen3Model".
transformers>=4.51
accelerate>=1.2
safetensors>=0.5
# A voz vem pelo pacote OFICIAL do projeto (Qwen3TTSModel + os checkpoints
# 12Hz) — a primeira validação real provou que AutoModel não serve: o id
# antigo nem existia no Hub. Ele pina transformers==4.57.3, que satisfaz o
# >=4.51 do Z-Image — os dois convivem.
qwen-tts>=0.1.1
# A IMAGEM QUANTIZADA PRECISA DOS DOIS MOTORES, e cada um abre uma porta.
# Nenhuma variante do Qwen-Image cabe nos 50 GB de disco de um Space sem
# quantização (o modelo cheio pesa 57,7 GB, medido no Hub), então o padrão é
# quantizado — e sem o motor dele instalado o `from_pretrained` levanta na
# hora de montar os pesos e a imagem degrada para o gerador gratuito, EM
# SILÊNCIO, que é o pior desfecho possível aqui.
#
#   torchao       -> o padrão de hoje: Ilus-AI/Qwen-Image-2512-FP8 (30,1 GB),
#                    `Float8WeightOnlyConfig` no transformer e no text_encoder.
#   bitsandbytes  -> as voltas de 4 bits: diffusers/qwen-image-nf4 (27,8 GB) e
#                    unsloth/Qwen-Image-2512-unsloth-bnb-4bit (18,7 GB).
#
# Os dois ficam porque a volta é uma VARIÁVEL sem deploy (`IMAGE_MODEL`):
# instalar só o motor do padrão faria a volta falhar justamente no dia em que
# ela fosse necessária — e esse é o dia em que ninguém tem tempo de publicar.
torchao>=0.9
bitsandbytes>=0.45
Pillow==11.1.0
imageio==2.36.1
imageio-ffmpeg==0.6.0
# O PACOTE `acestep` NÃO ENTRA AQUI, E NÃO FOI ESQUECIMENTO. Ele crava
# transformers==4.50.0, e o Z-Image/Qwen3-TTS exigem >=4.51: no MESMO
# processo os dois não se resolvem (pip cai em ResolutionImpossible). A
# música usa o checkpoint OFICIAL em formato diffusers, pelo AceStepPipeline
# do próprio diffusers >=0.38 — mesmo stack dos outros modelos, zero
# dependência extra.
boto3==1.35.90
requests>=2.32

# A voz do Live (Rápido TTS): números, datas e dinheiro por extenso em pt-BR.
num2words
pydantic