---
title: "Generate a muscle diagram (full schema)"
method: POST
path: "/generateImage"
tags: ["Image Generation"]
---

# Generate a muscle diagram (full schema)

`POST /generateImage`

## Request

- Base URL: `https://api.anatome.dev`
- URL: `https://api.anatome.dev/generateImage`
- Auth: none declared

## Request body

- object
  - `gender` 'male' | 'female'
  - `view` 'front' | 'back' | 'dual'
  - `layers` object[]
    - `color` string, required: Hex, rgb(), or url(#gradientId)
    - `muscles` string[], required
    - `opacity` number
    - `stroke` string
    - `strokeWidth` number
  - `defs` object[]: SVG gradient/pattern definitions
  - `width` integer
  - `height` integer
  - `background` string
  - `body_color` string
  - `border_color` string
  - `border_width` number
  - `contour` 'on' | 'stroke' | 'off': Body silhouette behind the muscles: on (filled, default), stroke (outline only, fill none), off (skip)
  - `contour_color` string: Contour fill; defaults to body_color
  - `contour_stroke` string: Contour stroke; defaults to border_color
  - `contour_width` number: Contour stroke width; defaults to border_width
  - `per_muscle` object: Per-muscle style override (highest priority)
  - `side_filter` object: Highlight only one side: { biceps: 'left' }
  - `format` 'svg' | 'png'
  - `output` 'json' | 'raw'

## Response `200`

Rendered SVG

- object
  - `ok` boolean
  - `svg` string
  - `format` string
  - `gender` string
  - `view` string
  - `muscles_rendered` string[]
  - `available_muscles_count` integer
  - `attribution` string
  - `attribution_source` string
  - `license` string
  - `duration_ms` integer

## Other responses

- `500`: Server error

---

[API](https://skmtc.dev/anatome/apis/anatome-muscle-group-image-generator-api.md) · [All operations](https://skmtc.dev/anatome/apis/anatome-muscle-group-image-generator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anatome/apis/anatome-muscle-group-image-generator-api/revisions/87cc81795f65?raw)
