```python
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
import helpers
import asyncio
from typing import Any, Dict

app = FastAPI()


@app.post("/reports")
async def create_report(request: Request):
    # Parse JSON body safely (no pydantic models needed for this simple structure)
    data: Dict[str, Any] = await request.json()
    rows = data.get("rows", [])

    # Run blocking render_report in a thread to avoid blocking event loop
    rendered: str = await asyncio.to_thread(helpers.render_report, rows)
    return JSONResponse({"length": len(rendered)}, status_code=200)
```