Crea un objeto templates que puedas reutilizar más tarde.
Declara un parámetro Request en la path operation que devolverá una plantilla.
Usa los templates que creaste para renderizar y devolver un TemplateResponse, pasa el nombre de la plantilla, el objeto de request, y un diccionario "context" con pares clave-valor que se usarán dentro de la plantilla Jinja2.
Antes de FastAPI 0.108.0, Starlette 0.29.0, el name era el primer parámetro.
Además, antes de eso, en versiones anteriores, el objeto request se pasaba como parte de los pares clave-valor en el contexto para Jinja2.
Consejo
Al declarar response_class=HTMLResponse, la interfaz de usuario de la documentación podrá saber que el response será HTML.
Nota Técnica
También podrías usar from starlette.templating import Jinja2Templates.
FastAPI proporciona el mismo starlette.templating como fastapi.templating, solo como una conveniencia para ti, el desarrollador. Pero la mayoría de los responses disponibles vienen directamente de Starlette. Lo mismo con Request y StaticFiles.