Image-Text-to-Text
Transformers
Diffusers
Safetensors
qwen3_vl
vision-language-model
image-decomposition
conversational
# Load model directly
from transformers import AutoProcessor, AutoModelForImageTextToText
processor = AutoProcessor.from_pretrained("SynLayers/Bbox-caption-8b")
model = AutoModelForImageTextToText.from_pretrained("SynLayers/Bbox-caption-8b")
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
{"type": "text", "text": "What animal is on the candy?"}
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))Quick Links
SynLayers
This repository contains the assets behind SynLayers, our two-stage image decomposition system.
At the root is the bbox-caption model. Given one image, it predicts:
- a whole-image caption
- bounding boxes for visible objects or layers
The same repo also includes the Stage 2 SynLayers pipeline to do layer decomposition.
If you want the easiest way to try the full system, please use our public demo: SynLayers/synlayers
This repo is not meant to be used as a single generic DiffusionPipeline(prompt) model.
The full SynLayers pipeline is:
- bbox + whole-caption prediction
- layer decomposition into transparent RGBA outputs
If you only want the Stage 1 model at the repo root, you can load it with transformers.
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
model = Qwen3VLForConditionalGeneration.from_pretrained(
"SynLayers/Bbox-caption-8b",
torch_dtype="auto",
device_map="auto",
)
processor = AutoProcessor.from_pretrained("SynLayers/Bbox-caption-8b")
Thanks for trying SynLayers.
- Downloads last month
- 486
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="SynLayers/Bbox-caption-8b") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)