Diffusers documentation
Anima
Anima
Anima é um modelo de texto para imagem que reutiliza o CosmosTransformer3DModel com um codificador de texto Qwen3, um condicionador de texto T5-token e o VAE AutoencoderKLQwenImage.
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("circlestone-labs/Anima-Base-v1.0-Diffusers")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(prompt="masterpiece, best quality, 1girl, solo, city lights").images[0]AnimaModularPipeline
classe diffusers.AnimaModularPipeline
< source >( blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = Nonepretrained_model_name_or_path: str | os.PathLike | None = Nonecomponents_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = Nonecollection: str | None = Noneworkflow: str | None = Nonemodular_config_dict: dict[str, typing.Any] | None = Noneconfig_dict: dict[str, typing.Any] | None = None**kwargs )
Uma ModularPipeline para Anima.
AnimaAutoBlocks
Pipeline Modular Auto para geração de texto para imagem e imagem para imagem usando Anima.
Fluxos de trabalho suportados:
text2image: requerpromptimg2img: requerimage,prompt
Componentes:
text_encoder (Qwen3Model) tokenizer (Qwen2Tokenizer) t5_tokenizer (T5Tokenizer) guider
(ClassifierFreeGuidance) vae (AutoencoderKLQwenImage) image_processor (VaeImageProcessor)
text_conditioner (AnimaTextConditioner) transformer (CosmosTransformer3DModel) scheduler
(FlowMatchEulerDiscreteScheduler)
Entradas:
prompt (str):
O prompt ou prompts para orientar a geração de imagem.
negative_prompt (str, opcional):
O prompt ou prompts que não devem orientar a geração de imagem.
max_sequence_length (int, opcional, padrão 512):
Comprimento máximo da sequência para a codificação do prompt.
image (Image | list, opcional):
Imagem(ns) de referência para o desruidamento. Pode ser uma única imagem ou uma lista de imagens.
height (int, opcional):
A altura em pixels da imagem gerada.
width (int, opcional):
A largura em pixels da imagem gerada.
generator (Generator, opcional):
Gerador do Torch para geração determinística.
num_images_per_prompt (int, opcional, padrão 1):
O número de imagens a serem geradas por prompt.
image_latents (Tensor, opcional):
Latentes de imagem usados para orientar a geração de imagem. Podem ser gerados a partir da etapa vae_encoder.
num_inference_steps (int):
O número de etapas de desruidamento.
sigmas (list, opcional):
Sigmas personalizados para o processo de desruidamento.
strength (float, opcional, padrão 0.9):
Força para img2img/inpainting.
latents (Tensor):
Latentes ruidosos pré-gerados para a geração de imagem.
*denoiser_input_fields (None,opcional):
Entradas do modelo condicional para o desruidador Anima.
output_type (str,opcional*, padrão pil):
Formato de saída: ‘pil’, ‘np’, ‘pt’.
Saídas:
imagens (list):
Imagens geradas.
AnimaTextConditioner
classe diffusers.AnimaTextConditioner
< source >( source_dim: int = 1024target_dim: int = 1024model_dim: int = 1024num_layers: int = 6num_attention_heads: int = 16mlp_ratio: float = 4.0target_vocab_size: int = 32128use_self_attention: bool = Trueuse_layer_norm: bool = Falsemin_sequence_length: int = 512 )
Condicionador de texto usado pelo Anima para mapear os estados ocultos do Qwen3 e os ids de tokens do T5 para embeddings de texto do Cosmos.
Anima reutiliza o Cosmos Predict2 DiT. O único módulo de condicionamento específico do modelo é este adaptador de LLM, que realiza atenção cruzada dos embeddings de tokens T5 aprendidos para os estados ocultos do codificador de texto Qwen3 antes do loop de difusão. target_dim é a dimensão de saída do condicionador e deve corresponder à text_embed_dim do transformer.
forward
< source >( source_hidden_states: Tensortarget_input_ids: Tensortarget_attention_mask: typing.Optional[torch.Tensor] = Nonesource_attention_mask: typing.Optional[torch.Tensor] = None ) → torch.Tensor
Parâmetros
- source_hidden_states (
torch.Tensorde forma(batch_size, source_sequence_length, source_dim)) — Estados ocultos do codificador de texto Qwen3 para condicionar. - target_input_ids (
torch.Tensorde forma(batch_size, target_sequence_length)) — ids de tokens T5 usados como tokens de consulta aprendidos. - target_attention_mask (
torch.Tensor, opcional) — Máscara de atenção para os ids de tokens T5 do alvo. - source_attention_mask (
torch.Tensor, opcional) — Máscara de atenção para os estados ocultos de origem do Qwen3.
Retorna
torch.Tensor
Embeddings de condicionamento de texto para o transformer Cosmos.