Skip to content
FLORA DocsGo to app

List techniques

GET/techniques

Returns reusable Flora techniques visible to the authenticated public API key. Use workspace_id, query, cursor, and limit to filter the catalog.

Query ParametersExpand Collapse
cursor: optional string

Opaque cursor for fetching the next page

limit: optional number

Maximum number of results to return

minimum1
maximum100
query: optional string

Search query

workspace_id: optional string

Workspace identifier

ReturnsExpand Collapse
meta: object { next_cursor, total_estimate }
next_cursor: string

Opaque cursor for fetching the next page

total_estimate: optional number

Estimated total matching items

minimum0
techniques: array of object { inputs, name, outputs, 3 more }
inputs: array of object { id, name, type, 3 more }
id: string

Technique input or output identifier

name: string

Technique input or output display name

type: "imageUrl" or "videoUrl" or "audioUrl" or 2 more

Technique input or output media type

One of the following:
"imageUrl"
"videoUrl"
"audioUrl"
"text"
"documentUrl"
description: optional string

Technique input or output description

specifiedAspectRatio: optional string

Required aspect ratio

specifiedDuration: optional number

Required duration in seconds

name: string

Technique name

outputs: array of object { id, name, type, 3 more }
id: string

Technique input or output identifier

name: string

Technique input or output display name

type: "imageUrl" or "videoUrl" or "audioUrl" or 2 more

Technique input or output media type

One of the following:
"imageUrl"
"videoUrl"
"audioUrl"
"text"
"documentUrl"
description: optional string

Technique input or output description

specifiedAspectRatio: optional string

Required aspect ratio

specifiedDuration: optional number

Required duration in seconds

run_cost: number
technique_id: string

Technique identifier

description: optional string

Technique description

List techniques

curl https://app.flora.ai/api/v1/techniques \
    -H "Authorization: Bearer $FLORA_API_KEY"
{
  "meta": {
    "next_cursor": "eyJvZmZzZXQiOjIwfQ",
    "total_estimate": 0
  },
  "techniques": [
    {
      "inputs": [
        {
          "id": "prompt",
          "name": "Prompt",
          "type": "imageUrl",
          "description": "Describe the desired image.",
          "specifiedAspectRatio": "1:1",
          "specifiedDuration": 0
        }
      ],
      "name": "Editorial Image Grid",
      "outputs": [
        {
          "id": "prompt",
          "name": "Prompt",
          "type": "imageUrl",
          "description": "Describe the desired image.",
          "specifiedAspectRatio": "1:1",
          "specifiedDuration": 0
        }
      ],
      "run_cost": 0,
      "technique_id": "tech_abcd1234",
      "description": "Generate a cohesive editorial image grid."
    }
  ]
}
{
  "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
{
  "meta": {
    "next_cursor": "eyJvZmZzZXQiOjIwfQ",
    "total_estimate": 0
  },
  "techniques": [
    {
      "inputs": [
        {
          "id": "prompt",
          "name": "Prompt",
          "type": "imageUrl",
          "description": "Describe the desired image.",
          "specifiedAspectRatio": "1:1",
          "specifiedDuration": 0
        }
      ],
      "name": "Editorial Image Grid",
      "outputs": [
        {
          "id": "prompt",
          "name": "Prompt",
          "type": "imageUrl",
          "description": "Describe the desired image.",
          "specifiedAspectRatio": "1:1",
          "specifiedDuration": 0
        }
      ],
      "run_cost": 0,
      "technique_id": "tech_abcd1234",
      "description": "Generate a cohesive editorial image grid."
    }
  ]
}
{
  "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."
  }
}