# 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**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L120) (*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 - `"qwen3_8_xhigh_reasoning"`: Qwen3.8 with thinking (reasoning effort xhigh, the HF default) - `"qwen3_8_medium_reasoning"`: Qwen3.8 with thinking, reasoning effort medium - `"qwen3_8_low_reasoning"`: Qwen3.8 with thinking, reasoning effort low - `"qwen3_8_disable_thinking"`: Qwen3.8 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 `...` 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_preserve_thinking"`: Nemotron-3 (Nano/Super) with full reasoning and historical `...` blocks preserved (HF `truncate_history_thinking=false`); use for multi-turn RL / long-horizon agents - `"nemotron3_ultra"`: Nemotron-3 Ultra / 3.5 Lightning with full reasoning - `"nemotron3_ultra_disable_thinking"`: Nemotron-3 Ultra / 3.5 Lightning with reasoning off - `"nemotron3_ultra_medium_thinking"`: Nemotron-3 Ultra with medium-effort reasoning - `"nemotron3_ultra_preserve_thinking"`: Nemotron-3 Ultra / 3.5 Lightning with full reasoning and historical `...` blocks preserved (HF `truncate_history_thinking=false`) - `"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**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L121) (*Tokenizer*) – The tokenizer to use.
- [**image_processor**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L122) (*ImageProcessor | None*) – Required for VL renderers.
- [**model_name**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L123) (*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/index.md)* – 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.
```python
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!"}
])
```