{output_format}: Generate diagram with type and format in URL

API: kroki.io:kroki
Endpoint: /{diagram_type}/{output_format}
Response format: text/plain
Auth: unknown
Method: POST
Last Status: 400
Latency: 173ms

Description

Returns a rendered diagram in the specified format (svg, png, pdf, etc.) by combining URL parameters with the source code sent in the request body. Use this endpoint when you need explicit control over the output format via URL rather than relying on defaults or headers.

From spec: Create a diagram by sending diagram source as plain text or JSON. Output format is specified in the URL.

Usage Tips

- Full control via URL: /{diagram_type}/{output_format} - Supported formats: svg, png, pdf, jpeg, eps, txt ( PlantUML only), and others - Send diagram source as raw text in request body - Most explicit and predictable endpoint for production use

Parameters (2)

diagram_type (string, path, required)

The type of diagram to generate

Constraints: {'enum': ['actdiag', 'blockdiag', 'bpmn', 'bytefield', 'c4plantuml', 'd2', 'dbml', 'diagramsnet', 'ditaa', 'dot', 'erd', 'excalidraw', 'graphviz', 'mermaid', 'nomnoml', 'nwdiag', 'packetdiag', 'pikchr', 'plantuml', 'rackdiag', 'seqdiag', 'structurizr', 'svgbob', 'symbolator', 'tikz', 'umlet', 'vega', 'vegalite', 'wavedrom', 'wireviz']}

output_format (string, path, required)

The output format for the generated diagram

Constraints: {'enum': ['svg', 'png', 'jpeg', 'pdf', 'txt', 'base64']}

Examples (2)

Generate Graphviz diagram as PNG probe-gate

Demonstrates requesting a specific output format (PNG) via URL path parameters

curl 'https://kroki.io/graphviz/png' \
  -X POST
import requests

resp = requests.post("https://kroki.io/graphviz/png")
data = resp.json()
import zingu_apis

api = zingu_apis.api("kroki")
result = api.get("{diagram_type}/{output_format}")

for item in result:
    print(item)
const resp = await fetch("https://kroki.io/graphviz/png", {
  method: "POST",
});
const data = await resp.json();
Generate PlantUML sequence diagram as SVG probe-gate

Demonstrates generating a PlantUML sequence diagram with explicit SVG format

curl 'https://kroki.io/plantuml/svg' \
  -X POST
import requests

resp = requests.post("https://kroki.io/plantuml/svg")
data = resp.json()
import zingu_apis

api = zingu_apis.api("kroki")
result = api.get("{diagram_type}/{output_format}")

for item in result:
    print(item)
const resp = await fetch("https://kroki.io/plantuml/svg", {
  method: "POST",
});
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 02:24:59.015031 400 173ms
2026-04-16 00:45:13.068826 400 178ms
2026-04-15 04:09:13.203151 400 192ms
2026-04-15 01:22:51.290824 400 192ms
2026-04-14 03:33:33.691653 400 137ms
2026-04-14 03:31:49.947889 400 160ms
2026-04-12 16:45:48.962884 400 148ms
2026-04-12 14:21:03.586217 400 167ms
2026-04-10 01:55:42.954717 400 119ms
2026-04-10 01:33:22.378328 400 434ms
2026-04-09 02:21:37.218562 400 155ms
2026-04-09 00:11:44.843035 400 180ms