Skip to content
FLORA DocsGo to app

Projects

Create a project
POST/projects
Get a project
GET/projects/{projectId}
List project canvas nodes
GET/projects/{projectId}/nodes
ModelsExpand Collapse
ProjectListResponse object { created_at, last_modified, name, 3 more }
created_at: number
last_modified: number
name: string

Project name

origin: string

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

ProjectCreateResponse object { created_at, last_modified, name, 3 more }
created_at: number
last_modified: number
name: string

Project name

origin: string

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

ProjectRetrieveResponse object { created_at, last_modified, name, 3 more }
created_at: number
last_modified: number
name: string

Project name

origin: string

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

ProjectListNodesResponse object { node_id, type, asset_id, 4 more }
node_id: string

Canvas node identifier

minLength1
type: "image" or "video" or "audio" or "text"

Canvas node media type

One of the following:
"image"
"video"
"audio"
"text"
asset_id: optional string

Asset identifier

height: optional number
label: optional string

Canvas node label

url: optional string

Canvas node output URL or text content

minLength1
width: optional number

ProjectsAssets

Project canvas endpoints.

Attach an asset to a canvas
POST/projects/{projectId}/assets/{assetId}/attach
ModelsExpand Collapse
AssetAttachAssetResponse object { asset_id, canvas_url, node_id, project_id }
asset_id: string

Asset identifier

canvas_url: string

Project canvas URL

formaturi
node_id: string

Canvas node identifier

minLength1
project_id: string

Project identifier

ProjectsCanvas

Project management endpoints.

Get project canvas
GET/projects/{projectId}/canvas
Patch project canvas
PATCH/projects/{projectId}/canvas
ModelsExpand Collapse
CanvasRetrieveResponse object { canvas_url, diagram, project_id, summary }
canvas_url: string

Project canvas URL

formaturi
diagram: string

Mermaid flowchart diagram

minLength1
project_id: string

Project identifier

summary: object { edge_count, group_count, isolated_node_count, 2 more }
edge_count: number
minimum0
group_count: number
minimum0
isolated_node_count: number
minimum0
node_count: number
minimum0
workflow_count: number
minimum0
CanvasUpdateResponse object { canvas_url, created_edge_count, created_node_count, 3 more }
canvas_url: string

Project canvas URL

formaturi
created_edge_count: number
minimum0
created_node_count: number
minimum0
diagram: string

Applied Mermaid flowchart diagram

minLength1
project_id: string

Project identifier

warnings: optional array of string

ProjectsActions

Project canvas endpoints.

Create a canvas action
POST/projects/{projectId}/actions
Run a canvas action
POST/projects/{projectId}/actions/{nodeId}/run
ModelsExpand Collapse
ActionCreateResponse object { action_id, canvas_url, node_id, project_id }
action_id: "split-text" or "find-and-replace-text" or "concat-text" or 34 more

Action identifier

One of the following:
"split-text"
"find-and-replace-text"
"concat-text"
"ken-burns-video"
"color-grade-image"
"change-image-ar"
"rotate-image"
"flip-image"
"color-filter-image"
"color-tint-image"
"filter-color-image"
"blur-image"
"duplicate-image"
"side-by-side-composite"
"add-shape-to-image"
"generate-shape-image"
"add-text-to-image"
"generate-text-image"
"qr-code-generator"
"stitch-videos"
"split-video"
"extract-video-frames"
"color-grade-video"
"video-to-frame-grid"
"boomerang-video"
"reverse-video"
"video-to-long-exposure"
"video-effect"
"color-filter-video"
"speed-up-video"
"slow-down-video"
"duplicate-video"
"greenscreen-video"
"resize-video"
"change-video-ar"
"split-audio-from-video"
"merge-audio-into-video"
canvas_url: string

Project canvas URL

formaturi
node_id: string

Canvas action node identifier

minLength1
project_id: string

Project identifier

ActionRunResponse object { charged_cost, estimated_seconds, run_id, 6 more }
charged_cost: number

Cost charged in USD

minimum0
estimated_seconds: number
minimum0
run_id: string

Run identifier

type: "generation" or "technique" or "action"

Run type

One of the following:
"generation"
"technique"
"action"
action: optional object { action_id }
action_id: "split-text" or "find-and-replace-text" or "concat-text" or 34 more

Action identifier

One of the following:
"split-text"
"find-and-replace-text"
"concat-text"
"ken-burns-video"
"color-grade-image"
"change-image-ar"
"rotate-image"
"flip-image"
"color-filter-image"
"color-tint-image"
"filter-color-image"
"blur-image"
"duplicate-image"
"side-by-side-composite"
"add-shape-to-image"
"generate-shape-image"
"add-text-to-image"
"generate-text-image"
"qr-code-generator"
"stitch-videos"
"split-video"
"extract-video-frames"
"color-grade-video"
"video-to-frame-grid"
"boomerang-video"
"reverse-video"
"video-to-long-exposure"
"video-effect"
"color-filter-video"
"speed-up-video"
"slow-down-video"
"duplicate-video"
"greenscreen-video"
"resize-video"
"change-video-ar"
"split-audio-from-video"
"merge-audio-into-video"
model: optional object { model_id }
model_id: string

Model identifier

minLength1
poll_url: optional string

URL to poll pending/running runs or fetch completed/failed run details.

formaturi
project_id: optional string

Project identifier

technique: optional object { name, technique_id }
name: string

Technique name

technique_id: string

Technique identifier