Skip to content
FLORA DocsGo to app

List techniques

client.techniques.list(TechniqueListParams { cursor, limit, query, workspace_id } query?, RequestOptionsoptions?): TechniquesCursorPage<TechniqueListResponse { inputs, name, outputs, 3 more } >
GET/techniques

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

ParametersExpand Collapse
query: TechniqueListParams { cursor, limit, query, workspace_id }
cursor?: string

Opaque cursor for fetching the next page

limit?: number

Maximum number of results to return

minimum1
maximum100
query?: string

Search query

workspace_id?: string

Workspace identifier

ReturnsExpand Collapse
TechniqueListResponse { 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

List techniques

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

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

// Automatically fetches more pages as needed.
for await (const techniqueListResponse of client.techniques.list()) {
  console.log(techniqueListResponse.technique_id);
}
{
  "techniques": [
    {
      "technique_id": "tech_art-directors-critique",
      "name": "Art Director's Critique",
      "description": "Analyze, critique, and redesign any creative asset.",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_auto-translate",
      "name": "Auto Translate",
      "description": "Translate text in images instantly",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_book-drop",
      "name": "Book Drop",
      "description": "Mocks up front and back book covers",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_cctv-cam",
      "name": "CCTV Cam",
      "description": "Any face, CCTV style",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_character-lock",
      "name": "Character Lock",
      "description": "One character, 6 different angles",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_cinematic-movie-generator",
      "name": "Cinematic Movie Stills",
      "description": "Generate film-quality scene stills",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_color-mapping",
      "name": "Segment Mapper",
      "description": "Color-codes every element in your image",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_color-transfer",
      "name": "Color Transfer",
      "description": "Apply color grading from any reference",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_earth-zoom-out",
      "name": "Earth Zoom Out",
      "description": "Zoom out to space from any scene",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_facade-swap",
      "name": "Facade Swap",
      "description": "Reskin buildings with new materials",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_fit-checks",
      "name": "Fit Check",
      "description": "Extract outfits & swap onto new looks",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_glam-shots",
      "name": "Glam Shots",
      "description": "Create polished makeup ads instantly",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_icon-pack",
      "name": "Icon Pack",
      "description": "Generate matched icon sets from a prompt",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_live-like-an-amsterdammer",
      "name": "Live like an Amsterdammer",
      "description": "Places you into everyday Amsterdam scenes",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_location-scouter",
      "name": "Location Scout",
      "description": "Scouts five views from a single location",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_logo-stylist",
      "name": "Logo Stylist",
      "description": "Stylize any logo with a new visual twist",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_memoji-me",
      "name": "Memoji Me",
      "description": "Turn any face into a custom memoji",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_moodboard-maker",
      "name": "Mood Board Maker",
      "description": "Eclectic mood board from a photo",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_mugshot",
      "name": "Mugshot",
      "description": "Turn any portrait into a mugshot",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_palette-pull",
      "name": "Palette Pull",
      "description": "Extract color palettes from any image",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-animator",
      "name": "Product Animator",
      "description": "Animate your product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-lookbook-grid",
      "name": "Product Lookbook Grid",
      "description": "Turn products into styled grid layouts",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-motion",
      "name": "Product Motion",
      "description": "Animate product shots in one click",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_quick-reframe",
      "name": "Layout Resizer",
      "description": "Resize layouts for any aspect ratio",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_relight-technique",
      "name": "Relighting",
      "description": "Relights your photo",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_room-render",
      "name": "Room Render",
      "description": "Turn floor plans into realistic rooms",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_seamless-transition",
      "name": "Seamless Transition",
      "description": "Animate between any two frames",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_sigil",
      "name": "Sigil",
      "description": "Turns any image into an animated glyph",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_sketch-to-garment",
      "name": "Garment Sketch",
      "description": "One sketch, one final garment.",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_studio-blur",
      "name": "Studio Blur",
      "description": "Add pro depth-of-field blur to photos",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_studio-shot",
      "name": "Studio Shot",
      "description": "Turns any product into a studio-lit shoot",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_tarot-pull",
      "name": "Tarot Pull",
      "description": "Custom illustrated tarot card readings",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_texture-matchers",
      "name": "Texture Match",
      "description": "Replicate textures & colors across assets",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_turn-any-product-into-4-ad-visuals",
      "name": "Turn any product into 4 ad visuals",
      "description": "Make a full ad campaign from 1 product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_ugc-creation",
      "name": "UGC Creator",
      "description": "Casual, phone-shot clips of your product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_video-scene-builder",
      "name": "Video Scene Builder",
      "description": "Compose video scenes from still assets",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_wireframe",
      "name": "Photo Wireframe",
      "description": "Turn any photo into a clean wireframe",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_wonder-fy",
      "name": "Wonder(fy)",
      "description": "Apply Wonder's cinematic style to images",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    }
  ],
  "meta": {
    "next_cursor": null
  }
}
{
  "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
{
  "techniques": [
    {
      "technique_id": "tech_art-directors-critique",
      "name": "Art Director's Critique",
      "description": "Analyze, critique, and redesign any creative asset.",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_auto-translate",
      "name": "Auto Translate",
      "description": "Translate text in images instantly",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_book-drop",
      "name": "Book Drop",
      "description": "Mocks up front and back book covers",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_cctv-cam",
      "name": "CCTV Cam",
      "description": "Any face, CCTV style",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_character-lock",
      "name": "Character Lock",
      "description": "One character, 6 different angles",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_cinematic-movie-generator",
      "name": "Cinematic Movie Stills",
      "description": "Generate film-quality scene stills",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_color-mapping",
      "name": "Segment Mapper",
      "description": "Color-codes every element in your image",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_color-transfer",
      "name": "Color Transfer",
      "description": "Apply color grading from any reference",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_earth-zoom-out",
      "name": "Earth Zoom Out",
      "description": "Zoom out to space from any scene",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_facade-swap",
      "name": "Facade Swap",
      "description": "Reskin buildings with new materials",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_fit-checks",
      "name": "Fit Check",
      "description": "Extract outfits & swap onto new looks",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_glam-shots",
      "name": "Glam Shots",
      "description": "Create polished makeup ads instantly",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_icon-pack",
      "name": "Icon Pack",
      "description": "Generate matched icon sets from a prompt",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_live-like-an-amsterdammer",
      "name": "Live like an Amsterdammer",
      "description": "Places you into everyday Amsterdam scenes",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_location-scouter",
      "name": "Location Scout",
      "description": "Scouts five views from a single location",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_logo-stylist",
      "name": "Logo Stylist",
      "description": "Stylize any logo with a new visual twist",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_memoji-me",
      "name": "Memoji Me",
      "description": "Turn any face into a custom memoji",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_moodboard-maker",
      "name": "Mood Board Maker",
      "description": "Eclectic mood board from a photo",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_mugshot",
      "name": "Mugshot",
      "description": "Turn any portrait into a mugshot",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_palette-pull",
      "name": "Palette Pull",
      "description": "Extract color palettes from any image",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-animator",
      "name": "Product Animator",
      "description": "Animate your product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-lookbook-grid",
      "name": "Product Lookbook Grid",
      "description": "Turn products into styled grid layouts",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_product-motion",
      "name": "Product Motion",
      "description": "Animate product shots in one click",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_quick-reframe",
      "name": "Layout Resizer",
      "description": "Resize layouts for any aspect ratio",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_relight-technique",
      "name": "Relighting",
      "description": "Relights your photo",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_room-render",
      "name": "Room Render",
      "description": "Turn floor plans into realistic rooms",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_seamless-transition",
      "name": "Seamless Transition",
      "description": "Animate between any two frames",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_sigil",
      "name": "Sigil",
      "description": "Turns any image into an animated glyph",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_sketch-to-garment",
      "name": "Garment Sketch",
      "description": "One sketch, one final garment.",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_studio-blur",
      "name": "Studio Blur",
      "description": "Add pro depth-of-field blur to photos",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_studio-shot",
      "name": "Studio Shot",
      "description": "Turns any product into a studio-lit shoot",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_tarot-pull",
      "name": "Tarot Pull",
      "description": "Custom illustrated tarot card readings",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_texture-matchers",
      "name": "Texture Match",
      "description": "Replicate textures & colors across assets",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_turn-any-product-into-4-ad-visuals",
      "name": "Turn any product into 4 ad visuals",
      "description": "Make a full ad campaign from 1 product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_ugc-creation",
      "name": "UGC Creator",
      "description": "Casual, phone-shot clips of your product",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_video-scene-builder",
      "name": "Video Scene Builder",
      "description": "Compose video scenes from still assets",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_wireframe",
      "name": "Photo Wireframe",
      "description": "Turn any photo into a clean wireframe",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    },
    {
      "technique_id": "tech_wonder-fy",
      "name": "Wonder(fy)",
      "description": "Apply Wonder's cinematic style to images",
      "run_cost": 0,
      "inputs": [],
      "outputs": []
    }
  ],
  "meta": {
    "next_cursor": null
  }
}
{
  "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."
  }
}