InstantX/SD3.5-Large-IP-Adapter

InstantX
Texto a imagen

Adaptador IP para Stable Diffusion 3.5 Large desarrollado por InstantX Team. Permite usar una imagen de referencia como condición dentro del modelo, de forma similar a un prompt de texto, para guiar la generación de imágenes. Es un IP-Adapter regular integrado en los 38 bloques del transformador de SD3.5 Large.

Como usar

El código todavía no está integrado en diffusers; la tarjeta del modelo indica usar los archivos locales del repositorio.

import torch
from PIL import Image
from models.transformer_sd3 import SD3Transformer2DModel
from pipeline_stable_diffusion_3_ipa import StableDiffusion3Pipeline

model_path = 'stabilityai/stable-diffusion-3.5-large'
ip_adapter_path = './ip-adapter.bin'
image_encoder_path = "google/siglip-so400m-patch14-384"

transformer = SD3Transformer2DModel.from_pretrained(
    model_path,
    subfolder="transformer",
    torch_dtype=torch.bfloat16
)

pipe = StableDiffusion3Pipeline.from_pretrained(
    model_path,
    transformer=transformer,
    torch_dtype=torch.bfloat16
).to("cuda")

pipe.init_ipadapter(
    ip_adapter_path=ip_adapter_path,
    image_encoder_path=image_encoder_path,
    nb_token=64,
)

ref_img = Image.open('./assets/1.jpg').convert('RGB')

# please note that SD3.5 Large is sensitive to highres generation like 1536x1536
image = pipe(
    width=1024,
    height=1024,
    prompt='a cat',
    negative_prompt="lowres, low quality, worst quality",
    num_inference_steps=24,
    guidance_scale=5.0,
    generator=torch.Generator("cuda").manual_seed(42),
    clip_image=ref_img,
    ipadapter_scale=0.5,
).images[0]

image.save('./result.jpg')

Funcionalidades

Generación de imagen a partir de texto con condicionamiento por imagen de referencia.
Añade nuevas capas en los 38 bloques de Stable Diffusion 3.5 Large.
Usa google/siglip-so400m-patch14-384 como codificador de imagen por su rendimiento superior.
Emplea TimeResampler para proyectar las representaciones visuales.
Configura 64 tokens de imagen para el adaptador IP.
Compatible con flujos locales y con soporte comunitario para ComfyUI mediante Slickytail/ComfyUI-InstantX-IPAdapter-SD3.

Casos de uso

Generar imágenes con Stable Diffusion 3.5 Large manteniendo rasgos visuales de una imagen de referencia.
Crear variaciones visuales guiadas por una referencia y un prompt textual.
Integrar condicionamiento por imagen en pipelines locales de SD3.5 Large.
Experimentar con IP-Adapter en ComfyUI mediante el nodo comunitario compatible.