API Reference

Integrate SteadyShot into your app. All endpoints return JSON. Images are hosted on Supabase Storage.

GET
/api/characters

List all characters

Response

Character[]
POST
/api/characters

Create a character (multipart form: name, description, style_notes, image)

Response

Character
GET
/api/characters/:id

Get character with references

Response

Character & { references }
DELETE
/api/characters/:id

Delete character and all data

Response

{ deleted: true }
POST
/api/characters/:id/references

Generate reference sheets for angles and expressions

Request Body

{ labels?: string[], model?: "gpt-image-1" | "flux" }

Response

{ generated, references }
POST
/api/generate

Generate a scene with consistency checking and auto-retry

Request Body

{ character_id, prompt, art_style?, model?, max_retries?, min_score?, no_cache? }

Response

{ image_url, consistency_score, attempts, passed }
POST
/api/generate-multi

Generate a scene with 2-4 characters (illustrated or PuLID). Includes spatial control and character count verification.

Request Body

{ character_ids, prompt, art_style?, model?, max_retries?, min_score? }

Response

{ image_url, characters[], average_score, mode }
POST
/api/storybook

Generate a multi-page storybook with consistency checking, style continuity, and PDF export

Request Body

{ character_id | character_ids, pages[], art_style?, consistency_check?, export_pdf? }

Response

{ pages[], pdf_url? }

Claude Desktop Integration

SteadyShot includes an MCP server for Claude Desktop. Add mcp-server.mjs to your Claude Desktop config to use all tools directly in chat.