---
title: "Create Mermaid Diagram From Image"
method: POST
path: "/api/generate-mermaid-from-image"
tags: ["Mermaid"]
---

# Create Mermaid Diagram From Image

`POST /api/generate-mermaid-from-image`

Generate a Mermaid flowchart from an uploaded image and auto-save it.

**AUTHENTICATION REQUIRED** - Must include valid JWT token in Authorization header.

Args:
    request: FastAPI Request object (required for rate limiting)
    image: Uploaded image file (PNG, JPG, JPEG)
    description: Optional text description to supplement image analysis
    current_user: Authenticated user (injected by Auth0 middleware)
    db: Database session

Returns:
    MermaidResponse with Mermaid syntax code and saved diagram ID

Rate limit: Configurable via RATE_LIMIT_IMAGE_PER_MINUTE env var (default: 5/minute)
Note: Lower rate limit than text generation due to higher processing costs.

## Response `200`

Successful Response

- MermaidResponse — Response model for Mermaid diagram generation.
  - `mermaidCode` string, required — Generated Mermaid diagram syntax
  - `title` string, required — Diagram title extracted from description
  - `diagram_type` 'flowchart' | 'sequence' | 'mindmap' — Type of diagram generated
  - `savedDiagramId` integer, nullable — ID of the auto-saved diagram (if save was successful)
  - `diagram_json` object, nullable — Current diagram state from database (for edit operations, used in visual diff)

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/makeaviz/apis/text-to-diagram-api.md) · [All operations](https://skmtc.net/makeaviz/apis/text-to-diagram-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/makeaviz/text-to-diagram-api/versions/b7c00f8d19a5/schema)
