Skip to content
FLORA DocsGo to app

Start a top-level technique run

$ flora runs start-technique
POST/runs/technique

Starts a technique run through the normalized top-level run resource. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.

ParametersExpand Collapse
--inputs: map[unknown]

Technique inputs

--technique-id: string

Technique identifier

--workspace-id: string

Workspace identifier

ReturnsExpand Collapse
RunStartTechniqueResponse: object { charged_cost, estimated_seconds, run_id, 6 more }
charged_cost: number
estimated_seconds: number
run_id: string

Run identifier

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

Run type

"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

"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

poll_url: optional string
project_id: optional string

Project identifier

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

Technique name

technique_id: string

Technique identifier

Start a top-level technique run

flora runs start-technique \
  --api-key 'My API Key' \
  --inputs '{foo: bar}' \
  --technique-id tech_abcd1234 \
  --workspace-id ws_abc123
{
  "charged_cost": 0,
  "estimated_seconds": 0,
  "run_id": "run_abc123",
  "type": "generation",
  "action": {
    "action_id": "split-text"
  },
  "model": {
    "model_id": "t2i-flux-2-pro"
  },
  "poll_url": "https://example.com",
  "project_id": "prj_abc123",
  "technique": {
    "name": "name",
    "technique_id": "tech_abcd1234"
  }
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}
Returns Examples
{
  "charged_cost": 0,
  "estimated_seconds": 0,
  "run_id": "run_abc123",
  "type": "generation",
  "action": {
    "action_id": "split-text"
  },
  "model": {
    "model_id": "t2i-flux-2-pro"
  },
  "poll_url": "https://example.com",
  "project_id": "prj_abc123",
  "technique": {
    "name": "name",
    "technique_id": "tech_abcd1234"
  }
}
{
  "error": {
    "code": "input_validation_error",
    "message": "prompt: Required",
    "fields": [
      {
        "field": "prompt",
        "message": "Required"
      }
    ]
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key."
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits."
  }
}
{
  "error": {
    "code": "forbidden",
    "message": "Forbidden."
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not found."
  }
}
{
  "error": {
    "code": "idempotency_duplicate",
    "message": "Duplicate idempotency key."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "unknown_error",
    "message": "An unknown error occurred."
  }
}