## List techniques `client.Techniques.List(ctx, query) (*TechniquesCursorPage[TechniqueListResponse], error)` **get** `/techniques` Returns reusable Flora techniques visible to the authenticated public API key. Use workspace_id, query, cursor, and limit to filter the catalog. ### Parameters - `query TechniqueListParams` - `Cursor param.Field[string]` Opaque cursor for fetching the next page - `Limit param.Field[int64]` Maximum number of results to return - `Query param.Field[string]` Search query - `WorkspaceID param.Field[string]` Workspace identifier ### Returns - `type TechniqueListResponse struct{…}` - `Inputs []TechniqueListResponseInput` - `ID string` Technique input or output identifier - `Name string` Technique input or output display name - `Type string` Technique input or output media type - `const TechniqueListResponseInputTypeImageURL TechniqueListResponseInputType = "imageUrl"` - `const TechniqueListResponseInputTypeVideoURL TechniqueListResponseInputType = "videoUrl"` - `const TechniqueListResponseInputTypeAudioURL TechniqueListResponseInputType = "audioUrl"` - `const TechniqueListResponseInputTypeText TechniqueListResponseInputType = "text"` - `const TechniqueListResponseInputTypeDocumentURL TechniqueListResponseInputType = "documentUrl"` - `Description string` Technique input or output description - `SpecifiedAspectRatio string` Required aspect ratio - `SpecifiedDuration float64` Required duration in seconds - `Name string` Technique name - `Outputs []TechniqueListResponseOutput` - `ID string` Technique input or output identifier - `Name string` Technique input or output display name - `Type string` Technique input or output media type - `const TechniqueListResponseOutputTypeImageURL TechniqueListResponseOutputType = "imageUrl"` - `const TechniqueListResponseOutputTypeVideoURL TechniqueListResponseOutputType = "videoUrl"` - `const TechniqueListResponseOutputTypeAudioURL TechniqueListResponseOutputType = "audioUrl"` - `const TechniqueListResponseOutputTypeText TechniqueListResponseOutputType = "text"` - `const TechniqueListResponseOutputTypeDocumentURL TechniqueListResponseOutputType = "documentUrl"` - `Description string` Technique input or output description - `SpecifiedAspectRatio string` Required aspect ratio - `SpecifiedDuration float64` Required duration in seconds - `RunCost float64` - `TechniqueID string` Technique identifier - `Description string` Technique description ### Example ```go 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"), ) page, err := client.Techniques.List(context.TODO(), flora.TechniqueListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "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 } } ```