Skip to content
FLORA DocsGo to app

Get a technique

client.Techniques.Get(ctx, techniqueID) (*TechniqueGetResponse, error)
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
type TechniqueGetResponse struct{…}
Inputs []TechniqueGetResponseInput
ID string

Technique input or output identifier

Name string

Technique input or output display name

Type string

Technique input or output media type

One of the following:
const TechniqueGetResponseInputTypeImageURL TechniqueGetResponseInputType = "imageUrl"
const TechniqueGetResponseInputTypeVideoURL TechniqueGetResponseInputType = "videoUrl"
const TechniqueGetResponseInputTypeAudioURL TechniqueGetResponseInputType = "audioUrl"
const TechniqueGetResponseInputTypeText TechniqueGetResponseInputType = "text"
const TechniqueGetResponseInputTypeDocumentURL TechniqueGetResponseInputType = "documentUrl"
Description stringOptional

Technique input or output description

SpecifiedAspectRatio stringOptional

Required aspect ratio

SpecifiedDuration float64Optional

Required duration in seconds

Name string

Technique name

Outputs []TechniqueGetResponseOutput
ID string

Technique input or output identifier

Name string

Technique input or output display name

Type string

Technique input or output media type

One of the following:
const TechniqueGetResponseOutputTypeImageURL TechniqueGetResponseOutputType = "imageUrl"
const TechniqueGetResponseOutputTypeVideoURL TechniqueGetResponseOutputType = "videoUrl"
const TechniqueGetResponseOutputTypeAudioURL TechniqueGetResponseOutputType = "audioUrl"
const TechniqueGetResponseOutputTypeText TechniqueGetResponseOutputType = "text"
const TechniqueGetResponseOutputTypeDocumentURL TechniqueGetResponseOutputType = "documentUrl"
Description stringOptional

Technique input or output description

SpecifiedAspectRatio stringOptional

Required aspect ratio

SpecifiedDuration float64Optional

Required duration in seconds

RunCost float64
TechniqueID string

Technique identifier

Description stringOptional

Technique description

Get a technique

package main

import (
  "context"
  "fmt"

  "github.com/florafauna-ai/flora-go"
  "github.com/florafauna-ai/flora-go/option"
)

func main() {
  client := flora.NewClient(
    option.WithAPIKey("My API Key"),
  )
  technique, err := client.Techniques.Get(context.TODO(), "art-directors-critique")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", technique.TechniqueID)
}
{
  "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."
  }
}