Skip to content
FLORA DocsGo to app

Projects

List workspace projects
client.projects.list(ProjectListParams { workspace_id, cursor, limit, query } query, RequestOptionsoptions?): ProjectsCursorPage<ProjectListResponse { created_at, last_modified, name, 3 more } >
GET/projects
Create a project
client.projects.create(ProjectCreateParams { name, workspace_id } body, RequestOptionsoptions?): ProjectCreateResponse { created_at, last_modified, name, 3 more }
POST/projects
Get a project
client.projects.retrieve(stringprojectID, RequestOptionsoptions?): ProjectRetrieveResponse { created_at, last_modified, name, 3 more }
GET/projects/{projectId}
List project canvas nodes
client.projects.listNodes(stringprojectID, ProjectListNodesParams { cursor, limit } query?, RequestOptionsoptions?): CanvasNodesCursorPage<ProjectListNodesResponse { node_id, type, asset_id, 4 more } >
GET/projects/{projectId}/nodes
ModelsExpand Collapse
ProjectListResponse { created_at, last_modified, name, 3 more }
created_at: number
last_modified: number | null
name: string

Project name

origin: string | null

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

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

Project name

origin: string | null

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

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

Project name

origin: string | null

Project origin

project_id: string

Project identifier

workspace_id: string

Workspace identifier

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

Canvas node identifier

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

Canvas node media type

One of the following:
"image"
"video"
"audio"
"text"
asset_id?: string | null

Asset identifier

height?: number | null
label?: string | null

Canvas node label

url?: string | null

Canvas node output URL or text content

minLength1
width?: number | null

ProjectsAssets

Project canvas endpoints.

Attach an asset to a canvas
client.projects.assets.attachAsset(stringassetID, AssetAttachAssetParams { projectId } params, RequestOptionsoptions?): AssetAttachAssetResponse { asset_id, canvas_url, node_id, project_id }
POST/projects/{projectId}/assets/{assetId}/attach
ModelsExpand Collapse
AssetAttachAssetResponse { 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
client.projects.canvas.retrieve(stringprojectID, RequestOptionsoptions?): CanvasRetrieveResponse { canvas_url, diagram, project_id, summary }
GET/projects/{projectId}/canvas
Patch project canvas
client.projects.canvas.update(stringprojectID, CanvasUpdateParams { diagram, node_params } body, RequestOptionsoptions?): CanvasUpdateResponse { canvas_url, created_edge_count, created_node_count, 3 more }
PATCH/projects/{projectId}/canvas
ModelsExpand Collapse
CanvasRetrieveResponse { 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: Summary { 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 { 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?: Array<string>

ProjectsActions

Project canvas endpoints.

Create a canvas action
client.projects.actions.create(stringprojectID, ActionCreateParams { action_id, params } body, RequestOptionsoptions?): ActionCreateResponse { action_id, canvas_url, node_id, project_id }
POST/projects/{projectId}/actions
Run a canvas action
client.projects.actions.run(stringnodeID, ActionRunParams { projectId } params, RequestOptionsoptions?): ActionRunResponse { charged_cost, estimated_seconds, run_id, 6 more }
POST/projects/{projectId}/actions/{nodeId}/run
ModelsExpand Collapse
ActionCreateResponse { action_id, canvas_url, node_id, project_id }
action_id: "split-text" | "find-and-replace-text" | "concat-text" | 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 { charged_cost, estimated_seconds, run_id, 6 more }
charged_cost: number

Cost charged in USD

minimum0
estimated_seconds: number | null
minimum0
run_id: string

Run identifier

type: "generation" | "technique" | "action"

Run type

One of the following:
"generation"
"technique"
"action"
action?: Action | null
action_id: "split-text" | "find-and-replace-text" | "concat-text" | 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?: Model | null
model_id: string

Model identifier

minLength1
poll_url?: string | null

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

formaturi
project_id?: string | null

Project identifier

technique?: Technique | null
name: string

Technique name

technique_id: string

Technique identifier