briaai/Fibo-lite

briaai
Texto a imagen

Fibo-lite es una variante destilada en dos etapas del modelo de texto a imagen FIBO de Bria AI. Combina destilación de classifier-free guidance con Shortcutting Flow Matching para generar imágenes de buena calidad en pocos pasos, usando guidance_scale=1.0 y reduciendo el coste de inferencia frente al FIBO base con CFG=5. Sus pesos están disponibles para uso no comercial bajo licencia CC-BY-NC-4.0.

Como usar

Instalación básica con Diffusers:

pip install -U diffusers transformers accelerate

Ejemplo con DiffusionPipeline y LoRA:

import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("briaai/FIBO", dtype=torch.bfloat16, device_map="cuda")
pipe.load_lora_weights("briaai/Fibo-lite")

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Requisitos indicados en la tarjeta del modelo:

pip install git+https://github.com/huggingface/diffusers torch torchvision boltons ujson sentencepiece accelerate transformers

Para usar la API de Gemini también se requiere google-genai.

Ejemplo completo con BriaFiboPipeline:

import os
import json
import torch
from diffusers import BriaFiboPipeline
from diffusers.modular_pipelines import ModularPipeline

# -------------------------------
# Load the VLM pipeline
# -------------------------------
torch.set_grad_enabled(False)

# Using local VLM
vlm_pipe = ModularPipeline.from_pretrained("briaai/FIBO-VLM-prompt-to-JSON", trust_remote_code=True)

# Using Gemini API, requires GOOGLE_API_KEY environment variable
# assert os.getenv("GOOGLE_API_KEY") is not None, "GOOGLE_API_KEY environment variable is not set"
# vlm_pipe = ModularPipeline.from_pretrained("briaai/FIBO-gemini-prompt-to-JSON", trust_remote_code=True)

# Load the FIBO pipeline
pipe = BriaFiboPipeline.from_pretrained(
    "briaai/Fibo-lite",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")

# Generate with guidance_scale=1.0 (2x faster!)
output = vlm_pipe(
    prompt="A hyper-detailed, ultra-fluffy owl sitting in the trees at night, looking directly at the camera with wide, adorable, expressive eyes. Its feathers are soft and voluminous, catching the cool moonlight with subtle silver highlights. The owl's gaze is curious and full of charm, giving it a whimsical, storybook-like personality."
)
json_prompt_generate = output.values["json_prompt"]

results_generate = pipe(
    prompt=json_prompt_generate,
    num_inference_steps=8,
    guidance_scale=1
)

results_generate.images[0].save("image_generate.png")
with open("image_generate_json_prompt.json", "w") as f:
    f.write(json_prompt_generate)

Parámetros clave: usar guidance_scale=1.0, normalmente num_inference_steps=8, y no incluir prompt negativo porque la destilación lo incorpora internamente.

Funcionalidades

Generación de imágenes a partir de texto con arquitectura basada en FIBO.
Destilación CFG para evitar la doble pasada condicional e incondicional por paso.
Shortcutting Flow Matching para muestreo eficiente en pocos pasos.
Inferencia recomendada con guidance_scale=1.0 y num_inference_steps=8.
Aproximadamente 10 veces más rápido que el FIBO base según la tarjeta del modelo, con ligera degradación de calidad.
Funciona como reemplazo en flujos FIBO existentes mediante LoRA o BriaFiboPipeline.
Optimizado para iteración rápida y flujos de producción no comerciales.

Casos de uso

Generación rápida de imágenes durante exploración creativa o prototipado.
Flujos de texto a imagen que ya usan FIBO y necesitan reducir latencia.
Producción no comercial de imágenes cuando se acepta una pequeña pérdida de calidad a cambio de mayor velocidad.
Pruebas de prompts estructurados mediante FIBO VLM prompt-to-JSON.
Investigación sobre destilación CFG, LoRA y Shortcutting Flow Matching en modelos de difusión.