How to use from the
Use from the
Transformers library
# 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)
# 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:

  1. bbox + whole-caption prediction
  2. 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
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for SynLayers/Bbox-caption-8b

Quantizations
1 model

Space using SynLayers/Bbox-caption-8b 1