Iterate on favorites
Use prior outputs as inputs to explore variations of the ones you like.
After generating a grid, the most natural next move is “more like #4 and #7.” FLORA MCP makes this trivial: the outputs of one execute call become the inputs of the next, all in the same chat.
Prerequisite: You’ve already run a Technique and have outputs in the conversation. Start with Discover and run if not.
What you type
Section titled “What you type”Love #4 and #7. Can you make 5 more variations of those? Same visual direction, but explore composition and copy.
What the agent does
Section titled “What the agent does”- Resolve your references
The agent knows #4 and #7 are specific outputs from the previous run. It pulls their URLs from the chat context.
- Submit the run with image references
The agent calls
client.techniques.runs.create(techniqueId, { inputs: [...] })again, this time passing #4 and #7 asimageUrlinputs (or whichever input name your Technique uses for visual anchors), plus a directive to “explore composition and copy” and a count of 5. - Render new grid inline
A new grid appears, anchored to the visual direction of #4 and #7 but exploring the requested variation axis.
What you see
Section titled “What you see”Locking in the visual direction from #4 and #7, exploring composition and copy.
[5 new thumbnails render progressively]
The original 3×3 grid is still in scroll. You can compare side by side without leaving the chat.
Variations to try
Section titled “Variations to try”- “Make 10 more like #2, but pushing harder on the brand “warm minimalism” direction.”
- “Use #1 as the layout reference and #5 as the color reference. Generate 6 combinations.”
- “Try #4 again but with the headline from the brief instead of placeholder copy.”
The more specific the directive, the better. The Technique decides which input slots accept image references vs text — the agent figures it out from client.techniques.retrieve(techniqueId) schema.
Under the hood
Section titled “Under the hood”From the previous run the agent already knows:
#4→https://ik.imagekit.io/flora/run_abc.../output_3.png#7→https://ik.imagekit.io/flora/run_abc.../output_6.png
It submits a new execute call referencing those URLs directly:
async function run(client) { const run = await client.techniques.runs.create("tech_thumbnail_v3", { inputs: [ { id: "brief", type: "text", value: "...original brief..." }, { id: "image_reference_1", type: "imageUrl", value: "https://ik.imagekit.io/flora/run_abc.../output_3.png" }, { id: "image_reference_2", type: "imageUrl", value: "https://ik.imagekit.io/flora/run_abc.../output_6.png" }, { id: "directive", type: "text", value: "explore composition and copy" }, { id: "count", type: "text", value: "5" }, ], });
let result; do { result = await client.techniques.runs.retrieve(run.run_id, { techniqueId: "tech_thumbnail_v3" }); } while (result.status === "pending" || result.status === "running");
return result.outputs; // 5 new imageUrls}- Output URLs are long-lived but not permanent. Re-running a same chat days later may fail if URLs expire — re-generate the favorites or upload them as assets first.
- If results drift too far from your favorites, increase the weight the agent assigns to references: “Hold the visual direction of #4 even tighter — same lighting, same composition style.”
- This pattern composes with Techniques that don’t natively accept references: the agent can describe the favorites in text and pass that description as the prompt.