Example brief
Create a milestone-axis timeline titled 'Six months to go-live, two gates on the way': months Jan-Jun, milestones Design freeze (Feb - scope locked), Vendor cutover (Apr - legacy contracts end, highlighted), Go-live (Jun - all regions on the new stack); tasks Discovery & design (Jan-Feb), Build & integrate (Feb-Apr, highlighted), Data migration (Mar-May), Testing & training (Apr-Jun); today marker at Mar.
Render it
Structured intent — create_slide payload
Copy-paste-ready. Renders deterministically (verbatim, no LLM). Add a theme_id for any of the built-in themes — the layout stays identical.
{
"form": "gantt_plan",
"variant": "milestone_axis_gantt",
"headline": "Six months to go-live, two gates on the way",
"data": {
"periods": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun"
],
"tasks": [
{
"label": "Discovery & design",
"start": "Jan",
"end": "Feb"
},
{
"label": "Build & integrate",
"start": "Feb",
"end": "Apr",
"emphasis": "primary"
},
{
"label": "Data migration",
"start": "Mar",
"end": "May"
},
{
"label": "Testing & training",
"start": "Apr",
"end": "Jun"
}
],
"milestones": [
{
"label": "Design freeze",
"period": "Feb",
"detail": "Scope locked, change control on"
},
{
"label": "Vendor cutover",
"period": "Apr",
"emphasis": "primary",
"detail": "Legacy contracts end"
},
{
"label": "Go-live",
"period": "Jun",
"detail": "All regions on the new stack"
}
],
"today": "Mar"
}
}cURL (REST)
curl -X POST https://dev-api.slideforge.dev/v1/render/intent \
-H "Authorization: Bearer sf_live_..." \
-H "Content-Type: application/json" \
-d '{"form":"gantt_plan","variant":"milestone_axis_gantt","headline":"Six months to go-live, two gates on the way","data":{"periods":["Jan","Feb","Mar","Apr","May","Jun"],"tasks":[{"label":"Discovery & design","start":"Jan","end":"Feb"},{"label":"Build & integrate","start":"Feb","end":"Apr","emphasis":"primary"},{"label":"Data migration","start":"Mar","end":"May"},{"label":"Testing & training","start":"Apr","end":"Jun"}],"milestones":[{"label":"Design freeze","period":"Feb","detail":"Scope locked, change control on"},{"label":"Vendor cutover","period":"Apr","emphasis":"primary","detail":"Legacy contracts end"},{"label":"Go-live","period":"Jun","detail":"All regions on the new stack"}],"today":"Mar"}}'Related templates
Bars vs target marker
Margin recovery is visible but three units are below target
Diverging variance bars
Cloud hosting and contractor spend offset hiring delay savings
Ranked magnitude bars
Three offer families drive 68% of FY25 growth
Stacked composition bars
Compare media mix for FY25 and FY26
Frequently asked questions
How do I render the Milestone axis gantt template?
Send a POST to /v1/render/auto with a brief, or call create_slide via MCP with the structured intent shown below. The response includes an editable .pptx, a PDF, and a PNG. $0.05 per slide.
Does an AI write the slide?
No. SlideForge renders deterministically from a structured intent — no LLM draws the slide, so text is never mangled or fabricated. The optional brief path uses a router to pick the pattern, then renders deterministically.
Can I customize the colors and fonts?
Yes. Pass a theme_id to apply a built-in or custom brand theme; the layout stays the same.
Try this template
Render Milestone axis gantt deterministically — editable PowerPoint in under a second.