Instructions to use Trendyol/Trendyol-Vision-Master with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Trendyol/Trendyol-Vision-Master with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Trendyol/Trendyol-Vision-Master") 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, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Trendyol/Trendyol-Vision-Master") model = AutoModelForMultimodalLM.from_pretrained("Trendyol/Trendyol-Vision-Master", device_map="auto") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Trendyol/Trendyol-Vision-Master with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Trendyol/Trendyol-Vision-Master" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Trendyol/Trendyol-Vision-Master", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Trendyol/Trendyol-Vision-Master
- SGLang
How to use Trendyol/Trendyol-Vision-Master with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Trendyol/Trendyol-Vision-Master" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Trendyol/Trendyol-Vision-Master", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Trendyol/Trendyol-Vision-Master" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Trendyol/Trendyol-Vision-Master", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Trendyol/Trendyol-Vision-Master with Docker Model Runner:
docker model run hf.co/Trendyol/Trendyol-Vision-Master
Trendyol-Vision-Master
Trendyol-Vision-Master is a fine-tuned vision-language model (VLM) built on Qwen/Qwen3.5-27B for Trendyol catalog quality and moderation workflows. It understands product images, titles, and metadata, and produces structured decisions or text outputs for e-commerce catalog operations โ including category detection, brand verification, product similarity, attribute extraction, title generation, content moderation, and other catalog enrichment tasks.
Trendyol-Vision-Master vs Flash: Master is the larger expert VLM for critical or harder cases (especially category detection) and retains stronger general capabilities. For day-to-day, high-traffic catalog workloads on a single GPU, use Trendyol/Trendyol-Vision-Flash.
Model Details
- Architecture: Qwen3.5-27B vision-language model (VLM; 27B parameters)
- Base model: Qwen/Qwen3.5-27B
- Training: Full SFT on Trendyol catalog multimodal data
- Languages: Turkish (primary), English (secondary)
- Modalities: Image + text (multi-image supported)
- Thinking mode: Disabled at inference (
enable_thinking: False)
Intended Use
- Automate catalog moderation and enrichment tasks on Trendyol product listings.
- Classify products into categories from image + title by selecting from the category options provided in the prompt.
- Detect whether two product listings represent the same SKU.
- Extract structured attributes, brands, titles, and captions from product images.
- Moderate unsafe or policy-violating product content.
- Support research and evaluation use cases.
Not intended for general open-domain chat, medical/legal advice, surveillance, or any use described under Ethical Considerations. For low-latency single-GPU catalog enrichment without Master-tier category detection, use Trendyol/Trendyol-Vision-Flash.
Supported Use Cases
Specialized for e-commerce catalog operations (moderation and enrichment). The tasks below are the primary, production-validated workloads; related catalog workflows can be prompted similarly, with best results on these patterns.
- Category detection โ Choose the best matching category from the candidate list supplied in the prompt (image + title); the model returns the selected option index, not a free-form category name.
- Product similarity โ Decide whether two listings (images and titles) refer to the same product.
- Brand detection โ Infer the brand from product images with optional category context.
- Attribute extraction โ Extract structured product attributes from image and title/description.
- Title generation โ Produce a clean catalog title from the product image and a reference title.
- Product caption โ Generate a grounded product description from the image and optional metadata.
- Content safety classification โ Classify product image and title for catalog content safety (
0= Forbidden,1= Fantasy,2= Safe). Fantasy means content that may be published but should be treated as adult (+18). - Per-pack quantity extraction โ Extract pack quantity and unit from image and long title.
See Task Prompts below for per-task prompt templates. All served requests use the same vLLM OpenAI chat payload shape; only the question text and image URLs change.
Serving (vLLM)
Trendyol-Vision-Master can be served with vLLM as an OpenAI-compatible API. Multi-GPU serving is recommended for the 27B model (e.g. --tensor-parallel-size 2).
Validated with:
pip install "vllm==0.19.1"
vllm serve Trendyol/Trendyol-Vision-Master \
--trust-remote-code \
--max-model-len 16384 \
--structured-outputs-config.backend xgrammar \
--served-model-name Trendyol-Vision-Master \
--interleave-mm-strings \
--tensor-parallel-size 2
Every use case uses the same chat-completions payload template. Only the messages content (question text and image_url blocks) changes. Always disable thinking mode.
When calling the vLLM OpenAI API, use image_url content blocks:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer EMPTY" \
-d '{
"model": "Trendyol-Vision-Master",
"temperature": 0.0,
"max_tokens": 16,
"chat_template_kwargs": {"enable_thinking": false},
"messages": [
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty103/product/media/images/20210412/17/79531657/163017575/1/1_org_thumb.jpg"}},
{"type": "text", "text": "รrรผn baลlฤฑฤฤฑ: 2'\''li Saten Robe Gecelik Sabahlฤฑk ลeftali Kฤฑsa รeyiz Takฤฑmฤฑ 1013\n\nGรถrseli ve baลlฤฑฤฤฑ inceleyerek doฤru kategori numarasฤฑnฤฑ seรง.\n0. Diฤer\n1. Kรผlot\n2. ฤฐรง รamaลฤฑrฤฑ Takฤฑmฤฑ\n3. Boxer\n4. Fantezi Kรผlot\n5. Fantezi Sabahlฤฑk\n6. Fantezi Aksesuar\n7. Fantezi Sรผtyen\n8. Fantezi Jartiyer\n9. Fantezi Boxer\n10. Fantezi Kombinezon\n11. Fantezi Gecelik\n12. Spor Sรผtyeni\n13. Elbise\n14. Fantezi Slip\n15. Tunik\n16. Fantezi Atlet\n17. Bรผyรผk Beden Elbise\n18. Bรผyรผk Beden Fantezi Gecelik\n19. String\n20. Fantezi ฤฐรง รamaลฤฑr Takฤฑmฤฑ\n21. Gecelik\n22. Fantezi รrรผnleri\n23. Alt - รst Takฤฑm\n24. Fantezi Kostรผm\n25. Pijama Takฤฑmฤฑ\n26. Bรผyรผk Beden Pijama Takฤฑmฤฑ\n27. Fantezi String\n28. Fantezi Babydoll\n29. Pijama รstรผ\n30. Fantezi รorap\n31. Sรผtyen\n32. Sabahlฤฑk\n33. Tesettรผr Elbise\n34. Bรผyรผk Beden Abiye Elbise\n35. Pijama Altฤฑ\n36. Bikini รstรผ\n\nCevap olarak yalnฤฑzca numarayฤฑ yaz."}
]
}
]
}'
Task Prompts
Pass any prompt below through the same vLLM payload template shown above. Replace {placeholders} with your data. Use {"type": "image_url", "image_url": {"url": "..."}} for each image (public HTTP(S) URL or data URL).
1. Category Detection
Images: 1 product image
Output: category option index only (e.g. 21)
รrรผn baลlฤฑฤฤฑ: {title}
Gรถrseli ve baลlฤฑฤฤฑ inceleyerek doฤru kategori numarasฤฑnฤฑ seรง.
0. {option_0}
1. {option_1}
...
N. {option_n}
Cevap olarak yalnฤฑzca numarayฤฑ yaz.
2. Product Similarity
Images: before listing images, then after listing images
Output: 1 (same SKU) or 0 (different)
E-ticaret kataloฤundaki รผrรผn benzerliฤi konusunda uzmansฤฑnฤฑz.
ฤฐki รผrรผnรผn รถnceki ve sonraki baลlฤฑk/gรถrsellerini karลฤฑlaลtฤฑrarak aynฤฑ รผrรผn olup olmadฤฑฤฤฑnฤฑ belirle.
Ambalaj, arka plan veya model farklarฤฑ tek baลฤฑna fark sayฤฑlmaz; renk, boyut, miktar veya varyant farklarฤฑ fark sayฤฑlฤฑr.
Sadece "1" veya "0" dรถndรผr.
รnceki รrรผn Baลlฤฑฤฤฑ:
{before_title}
รnceki รrรผn Resimleri:
[image_url...]
Sonraki รrรผn Baลlฤฑฤฤฑ:
{after_title}
Sonraki รrรผn Resimleri:
[image_url...]
Example payload fragment:
content = [
{"type": "text", "text": "E-ticaret kataloฤundaki รผrรผn benzerliฤi konusunda uzmansฤฑnฤฑz.\nฤฐki รผrรผnรผn รถnceki ve sonraki baลlฤฑk/gรถrsellerini karลฤฑlaลtฤฑrarak aynฤฑ รผrรผn olup olmadฤฑฤฤฑnฤฑ belirle.\nAmbalaj, arka plan veya model farklarฤฑ tek baลฤฑna fark sayฤฑlmaz; renk, boyut, miktar veya varyant farklarฤฑ fark sayฤฑlฤฑr.\nSadece \"1\" veya \"0\" dรถndรผr.\n\nรnceki รrรผn Baลlฤฑฤฤฑ:\nBambu Kapaklฤฑ Vakumlu Borosilikat Yaฤdanlฤฑk | 3 Parรงa - 2lt\nรnceki รrรผn Resimleri:"},
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1757/prod/QC_ENRICHMENT/20250918/02/8683e8bc-61b1-3589-be35-3627320b56e9/1_org_thumb.jpg"}},
{"type": "text", "text": "Sonraki รrรผn Baลlฤฑฤฤฑ:\nBambu Kapaklฤฑ Vakumlu Borosilikat Yaฤdanlฤฑk Seti\nSonraki รrรผn Resimleri:"},
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1804/prod/QC_ENRICHMENT/20251224/22/1e392dbd-51ab-3513-833a-87817b6b61b4/1_org_thumb.jpg"}},
{"type": "text", "text": "รฤฑktฤฑ sadece \"1\" veya \"0\" olmalฤฑ. Aรงฤฑklamayฤฑ pas geรงin."},
]
# Expected output: "0"
3. Brand Detection
Images: product photos (1โ16)
Output: brand name or Unknown
Gรถrsellerden, {category} kategorisinde yer alan รผrรผnรผn markasฤฑnฤฑ รงฤฑkar.
Sadece verilen gรถrsellerde doฤrulanabilen bilgilere dayan.
Emin olmadฤฑฤฤฑnda "Unknown" ลeklinde cevap ver.
Sadece marka adฤฑnฤฑ dรถndรผr.
Example:
content = [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/a77c7933-c626-3753-9cad-fbb7388bff45/1_org_zoom.jpg"}},
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1569/prod/QC/20240924/23/356395c3-c71c-37c5-88c4-5ef97899b3d8/1_org_zoom.jpg"}},
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/112305b3-ba5d-3a28-8fd3-b1857749afca/1_org_zoom.jpg"}},
{"type": "text", "text": "Gรถrsellerden, Eldiven kategorisinde yer alan รผrรผnรผn markasฤฑnฤฑ รงฤฑkar.\nSadece verilen gรถrsellerde doฤrulanabilen bilgilere dayan.\nEmin olmadฤฑฤฤฑnda \"Unknown\" ลeklinde cevap ver.\nSadece marka adฤฑnฤฑ dรถndรผr."},
]
# Expected output: "Adidas"
4. Attribute Extraction
Images: 1 product image
Output: JSON object
Bu gรถrseldeki, baลlฤฑฤฤฑ '{title}' ve aรงฤฑklamasฤฑ '{description}' olan รผrรผnรผn {attribute_list} bilgilerini json formatฤฑnda รงฤฑkarฤฑr mฤฑsฤฑn?
Example:
content = [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1325/product/media/images/prod/QC/20240522/17/f63a7316-5998-3c7d-b45f-93ff8e9c34a2/1_org_zoom.jpg"}},
{"type": "text", "text": "Bu gรถrseldeki, baลlฤฑฤฤฑ 'Helen Bar Sandalyesi-mavi-9519q0119' ve aรงฤฑklamasฤฑ 'Maksimum kargolanma sรผresi: Sipariล tarihinden sonraki 7. gรผn Ortalama montaj sรผresi: 1 dakika Geniลlik: 62cm Derinlik: 52cm Yรผkseklik: 96cm Oturak Yรผksekliฤi: 44cm รrรผn Aฤฤฑrlฤฑฤฤฑ: 10kg Kullanฤฑlan malzeme: Metal Kullanฤฑlan sรผnger: Yรผksek yoฤunluklu gri sรผnger Kullanฤฑlan kol: Metal Kollu Kullanฤฑlan ayak: Metal Ayaklฤฑ + Kromajlฤฑ Garanti sรผresi - Menลei: 24 Ay - Yerli Sipariล bazlฤฑ รผretim-tedarik yapฤฑldฤฑฤฤฑndan sipariล iptali yapฤฑlamamaktadฤฑr Anlaลmalฤฑ olunan ambar ve kargolarla bina kapฤฑsฤฑnda teslimat yapฤฑlmaktadฤฑr' olan รผrรผnรผn Garanti Sรผresi, Materyal, Model, Sandalye Kumaลฤฑ, Sandalye Sayฤฑsฤฑ, Tema / Stil bilgilerini json formatฤฑnda รงฤฑkarฤฑr mฤฑsฤฑn?"},
]
# Expected output:
# {
# "Garanti Sรผresi": "2 Yฤฑl",
# "Materyal": "Metal",
# "Model": "Bar Sandalyesi",
# "Sandalye Kumaลฤฑ": "รงฤฑkarฤฑlamadฤฑ",
# "Sandalye Sayฤฑsฤฑ": "1",
# "Tema / Stil": "Modern"
# }
5. Title Generation
Images: 1 product image
Output: plain-text title
รrรผn fotoฤrafฤฑ ile '{reference_title}' bilgisini karลฤฑlaลtฤฑrฤฑp, Trendyol katalog moderasyon kurallarฤฑna gรถre yanฤฑltฤฑcฤฑ ifadelerden kaรงฤฑnarak net bir baลlฤฑk รผret; รงฤฑktฤฑyฤฑ dรผz metin ver.
Example:
content = [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1684/prod/QC/20250528/12/51036511-2e99-3a97-a594-e783d8c7bb8e/1_org_zoom.jpg"}},
{"type": "text", "text": "รrรผn fotoฤrafฤฑ ile '%100 Polarize UV400 Korumalฤฑ Fรผme Renk Orijinal Oval Erkek Gรผneล Gรถzlรผฤรผ DKG6273C3' bilgisini karลฤฑlaลtฤฑrฤฑp, Trendyol katalog moderasyon kurallarฤฑna gรถre yanฤฑltฤฑcฤฑ ifadelerden kaรงฤฑnarak net bir baลlฤฑk รผret; รงฤฑktฤฑyฤฑ dรผz metin ver."},
]
# Expected output: Polarize UV 400 korumalฤฑ fรผme lensli siyah dikdรถrtgen gรผneล gรถzlรผฤรผ
6. Product Caption
Images: 1 product image
Output: English product description
Without speculating about details you cannot see, describe this product based on the image and the information provided.
Product title: {title}
Brand: {brand}
First decide which object is the product, review OCR for brand/model/title clues, then analyze colors, shape, material, pattern, and other grounded details.
Example:
content = [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1742/prod/QC_PREP/20250831/14/e1be2979-cfe6-3a32-b7d8-6e5152722b20/1_org_zoom.jpg"}},
{"type": "text", "text": "Without speculating about details you cannot see, describe this product based on the image and the information provided.\nProduct title: รงok renkli รงiรงek desenli anne elbisesi\nBrand: mihvera\nFirst decide which object is the product, review OCR for brand/model/title clues, then analyze colors, shape, material, pattern, and other grounded details."},
]
# Expected output: viscose floral print maxi dress, gathered round neckline, long sleeves, relaxed loose fit, floor length hem, multicolor design on dark base
7. Content Safety Classification
Images: 1 product image
Labels: 0 (Forbidden) = not publishable, 1 (Fantasy) = publishable but adult (+18) content, 2 (Safe) = publishable without restriction.
รrรผn Baลlฤฑฤฤฑ: {title}
Bu รผrรผn gรถrselini ve baลlฤฑฤฤฑnฤฑ inceleyerek moderasyon sฤฑnฤฑflandฤฑrmasฤฑ yap. Sonucu 0 (Forbidden), 1 (Fantasy) veya 2 (Safe) olarak ver.
Example:
content = [
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1624/prod/QC/20250117/10/46b6e784-4674-3ae6-a4c0-55a19b83353a/1_org_zoom.jpg"}},
{"type": "text", "text": "รrรผn Baลlฤฑฤฤฑ: 8. SINIF LGS - MEB BรYLE SORAR SARMAL BRANล DENEME SETฤฐ ฤฐKฤฐNCฤฐ DOZ (2025-LGS)\n\nBu รผrรผn gรถrselini ve baลlฤฑฤฤฑnฤฑ inceleyerek moderasyon sฤฑnฤฑflandฤฑrmasฤฑ yap. Sonucu 0 (Forbidden), 1 (Fantasy) veya 2 (Safe) olarak ver."},
]
# Expected output: "2"
8. Per-Pack Quantity Extraction
Images: 1 product image
Output: {"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}
Extract total product quantity from the title and image. Title is the primary source; use the image only when the title is missing or ambiguous.
Return only JSON: {"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}
Convert gโKG, ml/ccโL, countsโPIECE. Ignore model numbers, storage, wattage, and dimensions. If unclear, return {"amount": null, "unit": null}.
Product Title: {title}
Example:
content = [
{"type": "text", "text": "Extract total product quantity from the title and image. Title is the primary source; use the image only when the title is missing or ambiguous.\nReturn only JSON: {\"amount\": <number|null>, \"unit\": \"KG\"|\"L\"|\"PIECE\"|null}\nConvert gโKG, ml/ccโL, countsโPIECE. Ignore model numbers, storage, wattage, and dimensions. If unclear, return {\"amount\": null, \"unit\": null}.\n\nProduct Title: Seda 6'lฤฑ รay Bardaฤฤฑ"},
{"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1791/prod/QC_ENRICHMENT/20251121/11/be96b90c-9373-33be-bdc2-22c0e794c0f6/1_org_zoom.jpg"}},
]
# Expected output: {"amount": 6, "unit": "PIECE"}
Limitations
- Domain specificity: Optimized for Trendyol e-commerce product images and Turkish catalog text; may not generalize to other domains.
- Category scope: Category options are provided in the prompt; out-of-scope products should be mapped to an option such as
"Diฤer"in that list. - GPU requirements: 27B model requires multi-GPU serving or high-VRAM hardware.
- Language bias: Turkish prompts and outputs are primary; English performance varies by task.
- Not a general assistant: Fine-tuned for structured catalog tasks, not open-ended conversation.
Ethical Considerations
- Designed for catalog quality and moderation workflows.
- Ensure compliance with data protection regulations when processing product and user-generated content.
- Monitor for biased decisions across product categories and brands.
- Not intended for surveillance, misinformation, or harmful content generation.
- Safety and moderation labels reflect training for catalog workflows and may not match every jurisdiction or platform policy; human review is recommended for high-impact decisions.
Citation
@misc{trendyol-vision-master,
title={Trendyol-Vision-Master: Catalog Quality Vision-Language Model (VLM)},
author={Trendyol Data Science Team},
year={2026},
howpublished={\url{https://huggingface.co/Trendyol/Trendyol-Vision-Master}}
}
@misc{qwen3.5,
title={{Qwen3.5}: Towards Native Multimodal Agents},
author={{Qwen Team}},
month={February},
year={2026},
url={https://huggingface.co/Qwen/Qwen3.5-27B}
}
Model Card Authors
- Trendyol Data Science Team
License
This model is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
You are free to share and adapt the model for any purpose, even commercially, as long as you give appropriate credit and indicate if changes were made.
This release is a fine-tune of Qwen/Qwen3.5-27B, which is licensed under Apache License 2.0. Redistribution of this derivative continues to satisfy Apache-2.0 notice and attribution requirements for the base model; retain the Apache-2.0 license text and any NOTICE attributions shipped with Qwen3.5-27B when redistributing.
For the full CC BY 4.0 license text, see: https://creativecommons.org/licenses/by/4.0/legalcode
Released by the Trendyol Data Science Team.
- Downloads last month
- 144
Model tree for Trendyol/Trendyol-Vision-Master
Base model
Qwen/Qwen3.5-27B