Skip to content
FLORA DocsGo to app

Get a technique

client.techniques.retrieve(stringtechniqueID, RequestOptionsoptions?): TechniqueRetrieveResponse { inputs, name, outputs, 3 more }
GET/techniques/{techniqueId}

Returns the public definition for one technique, including its input and output schema used to start runs.

ParametersExpand Collapse
techniqueID: string

Technique identifier or slug

minLength1
ReturnsExpand Collapse
TechniqueRetrieveResponse { inputs, name, outputs, 3 more }
inputs: Array<Input>
id: string

Technique input or output identifier

name: string

Technique input or output display name

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

Technique input or output media type

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

Technique input or output description

specified_aspect_ratio?: string

Required aspect ratio

specified_duration?: number

Required duration in seconds

name: string

Technique name

outputs: Array<Output>
id: string

Technique input or output identifier

name: string

Technique input or output display name

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

Technique input or output media type

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

Technique input or output description

specified_aspect_ratio?: string

Required aspect ratio

specified_duration?: number

Required duration in seconds

run_cost: number
technique_id: string

Technique identifier

description?: string

Technique description

Get a technique

import Flora from '@flora-ai/flora';

const client = new Flora({
  apiKey: process.env['FLORA_API_KEY'], // This is the default and can be omitted
});

const technique = await client.techniques.retrieve('art-directors-critique');

console.log(technique.technique_id);
{
  "inputs": [
    {
      "id": "prompt",
      "name": "Prompt",
      "type": "imageUrl",
      "description": "Describe the desired image.",
      "specified_aspect_ratio": "1:1",
      "specified_duration": 0
    }
  ],
  "name": "Editorial Image Grid",
  "outputs": [
    {
      "id": "prompt",
      "name": "Prompt",
      "type": "imageUrl",
      "description": "Describe the desired image.",
      "specified_aspect_ratio": "1:1",
      "specified_duration": 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
{
  "inputs": [
    {
      "id": "prompt",
      "name": "Prompt",
      "type": "imageUrl",
      "description": "Describe the desired image.",
      "specified_aspect_ratio": "1:1",
      "specified_duration": 0
    }
  ],
  "name": "Editorial Image Grid",
  "outputs": [
    {
      "id": "prompt",
      "name": "Prompt",
      "type": "imageUrl",
      "description": "Describe the desired image.",
      "specified_aspect_ratio": "1:1",
      "specified_duration": 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."
  }
}