# tinker_cookbook.renderers.register_renderer

### [**tinker_cookbook.renderers.register_renderer**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L52)( _name_, _factory_)

Register a custom renderer factory in the global registry.

Once registered, the renderer can be created by passing its name to `get_renderer()`. This is useful for adding support for custom model formats without modifying the built-in renderer registry.

**Parameters:**

- [**name**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L53) ( _str_) – The renderer name. Use a namespaced format (e.g., "Org/model_renderer") to avoid collisions with built-in renderers.
- [**factory**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/renderers/__init__.py#L54) ( _Callable[[Tokenizer, Any], [Renderer](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/renderer/)]_) – A callable that takes `(tokenizer, image_processor)` and returns a Renderer instance. `image_processor` may be None for text-only models.

**Returns:** _None_

```
def my_renderer_factory(tokenizer, image_processor=None):
    return MyCustomRenderer(tokenizer)
register_renderer("Foo/foo_renderer", my_renderer_factory)
renderer = get_renderer("Foo/foo_renderer", tokenizer)
```

Back to top
