← FLORACONTENT HISTORY

Update to FLORA

Snapshot Sep 30, 2026 · 23:07 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "flora-run-technique",
  "description": "Run a saved FLORA technique — a multi-step visual workflow such as background swap, relighting, upscale, model swap, or sketch-to-render. Use when the user names a technique, asks to transform an image they already have (\"put this on a clean background\", \"match this lighting\", \"upscale this\", \"make this look photographed\"), or asks what FLORA can do. Do not use for a plain text-to-image request with no source image, and do not use to inspect existing project work.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 399
    }
  ],
  "skill_md_contents": "---\nname: flora-run-technique\ndescription: Run a saved FLORA technique — a multi-step visual workflow such as background swap, relighting, upscale, model swap, or sketch-to-render. Use when the user names a technique, asks to transform an image they already have (\"put this on a clean background\", \"match this lighting\", \"upscale this\", \"make this look photographed\"), or asks what FLORA can do. Do not use for a plain text-to-image request with no source image, and do not use to inspect existing project work.\n---\n\n# Run a FLORA technique\n\nA technique is a saved workflow that chains several models. It is the thing FLORA\ndoes that a single image model cannot: the steps, prompts, and model choices are\nfixed by whoever authored it, so the same technique gives the same treatment every\ntime.\n\n**Input:** the user's intent, plus any source image.\n**Output:** the technique's output URLs, the charged cost, and the project the run\nlanded in.\n\n## Steps\n\n1. **Resolve the workspace.** Call `flora_list_workspaces`. If there is more than\n   one, ask which to bill before spending anything.\n\n2. **Find the technique.** Call `flora_list_techniques` and match on the user's\n   intent. It returns `run_cost` and a summary of inputs for each. If nothing fits,\n   say so and offer `flora_generate` instead — do not force an unrelated technique.\n\n3. **Get the exact input ids.** Call `flora_get_technique`. Its declared input ids\n   are the keys `flora_run_technique` expects. Never guess them from the name.\n\n4. **Get each image input to an HTTPS URL** (see Image inputs below).\n\n5. **Run it.** Call `flora_run_technique` with `workspace_id`, `technique_id`, and\n   an `inputs` object keyed by those ids. Omit optional text inputs entirely when\n   the user gave no direction — an empty string is rejected, not treated as absent.\n\n6. **Poll and report.** Poll `flora_get_run` until status is `completed` or\n   `failed`. Report the output URL, the charged cost, and a link to the project.\n\n## Image inputs\n\nFLORA fetches images server-side from an HTTPS URL. **Files the user attaches in\nChatGPT already have one** — they are hosted on `files.openai.com` or\n`cdn.openai.com`, both allowlisted. Pass that URL straight to\n`flora_create_asset` as `source`, or into the technique input directly.\n\nNever base64-encode a file or try to upload bytes. If the image genuinely has no\nURL, say that this environment cannot upload it and point the user at their FLORA\nproject to add it there.\n\n## Rules\n\n- **State the cost before running.** `run_cost` comes back from\n  `flora_list_techniques`. Techniques range from free to several dollars per run.\n- **You cannot see the output.** Runs return URLs, not pixels. Describe what was\n  produced from the technique and the inputs; never claim to have looked at it.\n- **On `input_validation_error`,** re-read `flora_get_technique`, rebuild `inputs`\n  from what it returns, and retry once. Do not retry other failures — retries bill.\n- **On insufficient credits,** surface the message and stop.\n"
}

SHA-256: 74612867ac93438bd1fac2125539ee7fea47bd2e40f79757f560576a0e294c4e