Developers
Generate images, video and audio from your own product.
A REST API with scoped API keys, idempotent requests, job status and asset retrieval. Credits are shared with your workspace.
- 1Create an API key in Settings → API (Pro plan and above).
- 2POST /api/v1/generations with a model and settings.
- 3Poll GET /api/v1/generations/{id} until it completes, then download the outputs.
curl -X POST https://aftermatter.online/api/v1/generations \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 4f1c…" \
-d '{"modelId":"kling-3-pro","tool":"api","prompt":"A paper boat drifting down a stream","params":{"duration":5}}'Full API reference →Webhooks guide →API reference (OpenAPI)
Endpoints
| get | /workspace | Current workspace |
| post | /uploads | Start an upload (returns signed URL(s)) |
| post | /uploads/{id}/complete | Finish an upload and start processing |
| get | /assets | List and search assets |
| get | /assets/{id} | Get an asset |
| patch | /assets/{id} | Rename, tag, favorite, move or change visibility |
| post | /assets/delete | Delete assets |
| post | /assets/{id}/duplicate | Duplicate an asset |
| get | /assets/{id}/download | Short-lived download URL |
| get | /assets/{id}/versions | Original and derived versions |
| get | /collections | Collections |
| post | /collections | Create a collection |
| delete | /collections/{id} | Delete a collection (assets are kept) |
| post | /collections/{id}/items | Add/remove assets in a collection |
| get | /projects | List projects |
| post | /projects | Create a project |
| get | /projects/{id} | Get a project |
| patch | /projects/{id} | Rename, describe, set cover, archive/restore |
| delete | /projects/{id} | Delete a project |
| post | /projects/{id}/duplicate | Duplicate a project |
| post | /projects/{id}/assets | Add assets to a project |
| post | /projects/{id}/assets/remove | Remove assets from a project |
| get | /credits | Credit balance |
| get | /credits/ledger | Credit transactions |
| get | /voices/elevenlabs | Voices of the connected ElevenLabs account (premade, cloned, designed) |
| post | /generations/estimate | Validate a request and get its credit cost (no charge) |
| post | /generations | Start a generation (credits are reserved, charged only on success) |
| get | /generations | Generation history and queue |
| get | /generations/{id} | Get a generation with its outputs |
| post | /generations/{id}/cancel | Cancel a generation |
| post | /generations/{id}/retry | Run a failed generation again |
| post | /prompt/assist | Improve, shorten, translate, vary or describe prompts |
| get | /characters/presets | Starter and saved builder presets |
| post | /characters/presets | Save builder selections as a preset |
| delete | /characters/presets/{id} | Delete a preset |
| get | /characters/series/{id} | A content series with its ideas and drafts |
| delete | /characters/series/{id} | Delete a series (generated files stay in the library) |
| post | /characters/series/{id}/ideas | Plan more ideas for a series |
| patch | /characters/series-items/{id} | Edit an idea |
| delete | /characters/series-items/{id} | Delete an idea |
| post | /characters/series-items/{id}/generate | Generate the draft for an idea |
| get | /characters | Saved characters (AI influencers) |
| post | /characters | Create a character |
| get | /characters/{id} | One character with references and projects |
| patch | /characters/{id} | Update a character (the identity prompt is recompiled) |
| delete | /characters/{id} | Delete a character (its files stay in the library) |
| post | /characters/{id}/duplicate | Duplicate a character |
| post | /characters/{id}/references | Add a reference image (uploads require a likeness rights confirmation) |
| delete | /characters/{id}/references/{assetId} | Remove a reference |
| post | /characters/{id}/looks | Generate candidate looks to choose the identity from |
| post | /characters/{id}/reference-set/estimate | Cost of a reference set |
| post | /characters/{id}/reference-set | Generate full body, turnaround, expressions and sheet from the main look |
| post | /characters/{id}/estimate | Cost and conditioning of a generation with this character |
| post | /characters/{id}/generate | Generate with this character (references are attached automatically) |
| post | /characters/{id}/formats/{formatId}/estimate | Cost of putting this character into a viral format |
| post | /characters/{id}/formats/{formatId} | Put this character into a viral format |
| get | /characters/{id}/generations | Everything generated with this character |
| get | /characters/{id}/series | Content series for this character |
| post | /characters/{id}/series | Plan a content series (ideas and drafts written by Claude) |
| get | /brands | Brand kits |
| post | /brands | Create a brand kit |
| get | /brands/{id} | One brand kit |
| patch | /brands/{id} | Update a brand kit |
| delete | /brands/{id} | Delete a brand kit |
| post | /brands/{id}/assets | Add or remove a logo, reference or guideline file |
| post | /products/import | Read public product data from a URL into an editable draft (robots.txt respected) |
| post | /products/describe | Draft product details from a product photo |
| get | /products | Products |
| post | /products | Save a product |
| get | /products/{id} | One product |
| patch | /products/{id} | Update a product |
| delete | /products/{id} | Delete a product |
| get | /ads | Ad projects |
| post | /ads | Start an ad project |
| patch | /ads/copy/{id} | Edit or (de)select a copy item |
| delete | /ads/copy/{id} | Delete a copy item |
| post | /ads/variants/{id}/winner | Mark or unmark a winning creative |
| get | /ads/{id} | One ad project with its copy |
| patch | /ads/{id} | Save wizard progress |
| delete | /ads/{id} | Delete an ad project (files stay in the library) |
| post | /ads/{id}/copy/generate | Write hooks, scripts, texts, headlines, CTAs, captions and storyboards with Claude |
| post | /ads/{id}/copy | Add copy manually |
| post | /ads/{id}/matrix/preview | Expand the creative matrix and price every combination |
| post | /ads/{id}/matrix/run | Generate the selected combinations as one batch |
| get | /ads/{id}/variants | Review board: every variation with its dimensions and result |
| post | /ads/{id}/export | ZIP of the selected creatives with a copy sheet |
| post | /marketing/templates/{id}/estimate | Cost of running a template |
| post | /marketing/templates/{id}/run | Run a template for a product and brand |
| get | /edits | Edit projects |
| post | /edits | Open an image or video in the editor (the original is never modified) |
| get | /edits/{id} | One edit with its assets, exports and AI tasks |
| put | /edits/{id} | Save the timeline (optimistic concurrency via version) |
| delete | /edits/{id} | Delete an edit (exports stay in the library) |
| post | /edits/{id}/duplicate | Create a variation of this edit |
| post | /edits/{id}/render | Export with a preset (validated for codec, size, frame rate and duration) |
| post | /edits/{id}/thumbnail | Save the frame under the playhead as a thumbnail |
| post | /edits/{id}/smart-crop | Saliency-based crop rectangles for another aspect ratio |
| post | /edits/{id}/captions/estimate | Cost of auto captions for this edit |
| post | /edits/{id}/captions | Auto captions: transcribe the edit’s audio with timestamps |
| post | /edits/{id}/captions/translate | Translate captions (timing kept) |
| post | /edits/{id}/cleanup | Clean the edit’s audio (noise removal, speech leveling) |
| post | /edits/{id}/highlights | Extract highlight clips from the transcript as new variations |
| post | /edits/{id}/analyze | Analyze the edit's video (metadata, silences, scenes, waveform, frames; optional transcript) |
| get | /edits/{id}/analysis | Latest analysis of the edit's video |
| post | /edits/{id}/ai/estimate | Credits for the next AI edit instruction (planning, plus transcription the first time) |
| post | /edits/{id}/ai | Ask the AI editor to edit the video in natural language |
| get | /edits/{id}/ai | The conversation with the AI editor |
| get | /edits/{id}/versions | Saved versions of the edit |
| post | /edits/{id}/versions/{number}/restore | Make a saved version current again |
| post | /edits/{id}/dub | Dub the edit into another language with ElevenLabs (charged; the result is a new variation) |
| get | /effects/collections | Effect collections |
| post | /effects/collections | New collection |
| delete | /effects/collections/{id} | Delete a collection |
| post | /effects/collections/{id}/items | Add or remove an effect |
| post | /effects/{id}/estimate | Credit estimate for an effect run |
| post | /effects/{id}/run | Apply an effect |
| get | /audio/mixes | Audio mixes |
| post | /audio/mixes | New mix |
| get | /audio/mixes/{id} | One mix |
| put | /audio/mixes/{id} | Save tracks (optimistic version) |
| delete | /audio/mixes/{id} | Delete a mix |
| post | /audio/mixes/{id}/export | Render the mix into a new audio file |
| get | /generations/{id}/subtitles | SRT or VTT subtitles from a transcription |
| get | /cinema | Cinema projects |
| post | /cinema | New cinema project |
| patch | /cinema/scenes/{id} | Edit a scene |
| delete | /cinema/scenes/{id} | Delete a scene |
| post | /cinema/scenes/{id}/shots | Add a shot |
| patch | /cinema/shots/{id} | Edit a shot |
| delete | /cinema/shots/{id} | Delete a shot |
| post | /cinema/shots/{id}/move | Reorder or move a shot |
| post | /cinema/shots/{id}/frame | Use an image as the storyboard frame |
| get | /cinema/{id} | Project with scenes, shots and continuity |
| patch | /cinema/{id} | Edit project, models and continuity library |
| delete | /cinema/{id} | Delete a cinema project |
| post | /cinema/{id}/scenes | Add a scene |
| post | /cinema/{id}/estimate | Credits for storyboard frames or shot videos |
| post | /cinema/{id}/generate | Generate storyboard frames or shot videos (one job per shot) |
| post | /cinema/{id}/director | AI Director: propose scenes, shots, camera, lighting and models (nothing is generated) |
| delete | /cinema/{id}/director | Discard the proposal |
| post | /cinema/{id}/director/apply | Apply the approved proposal |
| post | /cinema/{id}/export/sequence | Combine shot clips into an editor project |
| post | /cinema/{id}/export/storyboard | Storyboard contact sheet (PNG) |
| get | /cinema/{id}/export/metadata | Project metadata (JSON) |
| get | /canvas/templates | Workflow templates |
| post | /canvas/import | Import a shared workflow as a copy |
| get | /canvas/runs/{runId} | Run with per-node status and outputs |
| post | /canvas/runs/{runId}/cancel | Cancel a run |
| post | /canvas/runs/{runId}/retry | Retry failed and skipped steps (succeeded generations are kept) |
| get | /canvas | Workflows |
| post | /canvas | New workflow (blank or from a template) |
| get | /canvas/{id} | Workflow with graph and validation |
| patch | /canvas/{id} | Save a workflow (graph saves need the current version) |
| delete | /canvas/{id} | Delete a workflow |
| post | /canvas/{id}/duplicate | Duplicate a workflow |
| post | /canvas/{id}/share | Turn the public share link on or off |
| post | /canvas/{id}/estimate | Validate the graph and estimate credits per node |
| get | /canvas/{id}/runs | Run history |
| post | /canvas/{id}/runs | Run the workflow after confirming the estimate |
| post | /3d/ai/scene | AI scene assistant: prompt → validated, editable objects (nothing is saved) |
| get | /3d/scenes | 3D scenes |
| post | /3d/scenes | New 3D scene |
| get | /3d/scenes/{id} | Scene with referenced files |
| put | /3d/scenes/{id} | Save the scene (needs the current version) |
| patch | /3d/scenes/{id} | Rename or move to a project |
| delete | /3d/scenes/{id} | Delete a scene |
| post | /3d/scenes/{id}/duplicate | Duplicate a scene |
| post | /3d/scenes/{id}/renders | Register an uploaded render (image/animation) or GLB export of this scene |
| get | /agent/status | Whether the agent is configured, and its tools |
| get | /agent/sessions | Your agent conversations |
| post | /agent/sessions | New conversation |
| get | /agent/sessions/{id} | Conversation with actions |
| delete | /agent/sessions/{id} | Archive a conversation |
| post | /agent/sessions/{id}/messages | Send a message; the agent plans, runs free tools and proposes paid ones |
| post | /agent/actions/{id}/reject | Reject a proposed action |
| get | /webhooks | Webhook endpoints and the event types you can subscribe to |
| post | /webhooks | Subscribe an endpoint (the signing secret is returned once) |
| patch | /webhooks/{id} | Change URL, events or status |
| delete | /webhooks/{id} | Remove an endpoint |
| post | /webhooks/{id}/rotate-secret | Replace the signing secret (returned once) |
| post | /webhooks/{id}/test | Send a ping now and return the delivery result |
| get | /webhooks/{id}/deliveries | Recent deliveries with response codes |
| post | /webhooks/deliveries/{id}/retry | Retry a failed delivery |
| get | /analytics/overview | Assets, generations, posts, engagement, ads and data freshness for a period |
| get | /analytics/compare | Compare post performance by hook, format, character, style or channel |
| get | /analytics/creatives/{id} | Creative report: origin, edited variants, destinations and results |
