--- title: Techniques | FLORA API description: Discover technique schemas and start technique runs. --- Techniques are reusable FLORA workflows. Each technique defines the inputs it accepts, the outputs it returns, and the credit cost of a run. ## List techniques Terminal window ``` curl "https://app.flora.ai/api/v1/techniques?limit=5" \ -H "Authorization: Bearer sk_live_XXXX" ``` Response: ``` { "techniques": [ { "technique_id": "tech_...", "slug": "cctv-cam", "name": "CCTV Cam" } ], "meta": { "limit": 5 } } ``` ## Retrieve a technique Terminal window ``` curl https://app.flora.ai/api/v1/techniques/cctv-cam \ -H "Authorization: Bearer sk_live_XXXX" ``` Response fields include the technique ID, name, description, inputs, outputs, and cost. The most important field for creating runs is `inputs`: ``` { "technique_id": "tech_...", "name": "CCTV Cam", "inputs": [ { "id": "input_image", "name": "Input Image", "type": "imageUrl" } ] } ``` Match each input `id` and `type` exactly when creating a run. ## Start a technique run by slug Terminal window ``` curl -X POST https://app.flora.ai/api/v1/techniques/cctv-cam/runs \ -H "Authorization: Bearer sk_live_XXXX" \ -H "Content-Type: application/json" \ -d '{ "inputs": [ { "id": "input_image", "type": "imageUrl", "value": "https://example.com/photo.png" } ], "mode": "async", "idempotency_key": "request-123" }' ``` The response includes a `runId` and `pollUrl`. ## Common endpoints | Method | Path | Description | | ------ | ---------------------------------------- | ---------------------------- | | GET | `/api/v1/techniques?limit=5` | List techniques | | GET | `/api/v1/techniques/{slug}` | Retrieve a technique schema | | POST | `/api/v1/techniques/{slug}/runs` | Create a run for a technique | | GET | `/api/v1/techniques/{slug}/runs/{runId}` | Poll a technique run | ## Input types | Type | Value | | ------------------------- | ---------------------------- | | `imageUrl` or `image_url` | HTTPS image URL | | `videoUrl` or `video_url` | HTTPS video URL | | `text` | Plain text prompt or content | ## Notes - You can find a technique slug in the FLORA app URL: `/techniques/{slug}`. - Technique inputs vary by workflow. Always retrieve the technique before constructing a run payload. - Use `idempotency_key` when retrying client requests so duplicate submissions do not create duplicate work.