# tinker_cookbook.renderers.get_renderer

### [**tinker_cookbook.renderers.get_renderer**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L119)( _name_, _tokenizer_, _image_processor_, _model_name_)

Factory function to create renderers by name.

**Parameters:**

- **name** ( _str_) – Renderer name. Supported values:
    - "role_colon": Simple role:content format
    - "llama3": Llama 3 chat format
    - "qwen3": Qwen3 with thinking enabled
    - "qwen3_vl": Qwen3 vision-language with thinking
    - "qwen3_vl_instruct": Qwen3 vision-language instruct (no thinking)
    - "qwen3_disable_thinking": Qwen3 with thinking disabled
    - "qwen3_instruct": Qwen3 instruct 2507 (no thinking)
    - "qwen3_5": Qwen3.5 VL with thinking
    - "qwen3_5_disable_thinking": Qwen3.5 VL with thinking disabled
    - "deepseekv3": DeepSeek V3 (defaults to non-thinking mode)
    - "deepseekv3_disable_thinking": DeepSeek V3 non-thinking (alias)
    - "deepseekv3_thinking": DeepSeek V3 thinking mode
    - "kimi_k2": Kimi K2 Thinking format
    - "kimi_k25": Kimi K2.5 with thinking enabled
    - "kimi_k25_disable_thinking": Kimi K2.5 with thinking disabled
    - "kimi_k26": Kimi K2.6 with thinking enabled (HF default — same token output as `kimi_k25`)
    - "kimi_k26_disable_thinking": Kimi K2.6 with thinking disabled
    - "kimi_k26_preserve_thinking": Kimi K2.6 with thinking enabled and historical `<think>...</think>` blocks preserved (HF `preserve_thinking=true`); use for long-horizon agents / multi-turn RL
    - "nemotron3": Nemotron-3 with full reasoning
    - "nemotron3_low_thinking": Nemotron-3 with low-effort reasoning (Super only)
    - "nemotron3_disable_thinking": Nemotron-3 with reasoning off
    - "nemotron3_ultra": Nemotron-3 Ultra with full reasoning
    - "nemotron3_ultra_disable_thinking": Nemotron-3 Ultra with reasoning off
    - "nemotron3_ultra_medium_thinking": Nemotron-3 Ultra with medium-effort reasoning
    - "gpt_oss_no_sysprompt": GPT-OSS without system prompt
    - "gpt_oss_low_reasoning": GPT-OSS with low reasoning
    - "gpt_oss_medium_reasoning": GPT-OSS with medium reasoning
    - "gpt_oss_high_reasoning": GPT-OSS with high reasoning
    - Custom renderers registered via `register_renderer()`
- **tokenizer** ( _Tokenizer_) – The tokenizer to use.
- **image_processor** ( _ImageProcessor | None_) – Required for VL renderers.
- **model_name** ( _str | None_) – Model name for pickle metadata. If None, falls back to `tokenizer.name_or_path`. Provide this explicitly when the tokenizer was loaded with a remapped name (e.g., Llama 3 models).

**Returns:** _[Renderer](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/renderer/)_ – A Renderer instance configured for the specified format.

**Raises:**

- RendererError: If the renderer name is unknown or if a VL renderer is requested without an image_processor.

```
from tinker_cookbook import renderers
from tinker_cookbook.tokenizer_utils import get_tokenizer
tokenizer = get_tokenizer("Qwen/Qwen3-8B")
renderer = renderers.get_renderer("qwen3", tokenizer)
prompt = renderer.build_generation_prompt([
    {"role": "user", "content": "Hello!"}
])
```
