Skip to main content

Documentation Index

Fetch the complete documentation index at: https://canvas-docs.vibeflow.ai/llms.txt

Use this file to discover all available pages before exploring further.

The chat panel on the left is the brief. Everything that lands on your canvas comes from a turn in this panel.

The loop

Each chat turn runs the same way:
1

You send a brief

Plain English. Optional attachments: images, frames you’ve referenced, element pointers from the comment tool.
2

The agent reads context

It pulls the canvas, the attached design system, your enabled skills, the chat history, and any selected frames or elements. Then it picks tools.
3

It calls tools, streaming

Frames appear on the canvas as create_frame and update_element calls land. The chat streams the agent’s narration in parallel.
4

It hands control back

When the turn ends you see a summary of what changed and the credit cost.
You can stop the turn at any time with the Stop button. Frames already created stay.

What the agent sees on every turn

ContextSource
Your messageChat input
Image attachmentsComposer paperclip / canvas assets
Referenced framesRight-click frame → Reference in chat
Element pointersComment tool clicks
Design systemPinned to canvas via the design picker
Style presetPinned to canvas via the design picker
User skillsEnabled in your account / org
Chat historyLast N turns of this conversation
Existing framesCompact summary (sizes, positions, IDs)
Element pointers are in-memory for the turn you send. They don’t survive a tab reload. Everything else is persisted.

The agent’s tools

The canvas agent runs on a small, opinionated tool surface. You don’t call these directly. The agent picks them based on your brief.

Frame tools

ToolWhat it does
get_framesLists every frame on the canvas with id, size, position, and a thumbnail of the HTML.
get_frame_codeReturns the raw HTML of one frame.
create_frameAdds a new frame. Specifies width, height, position, and the full HTML.
duplicate_frameCopies an existing frame next to itself.
delete_frameRemoves a frame.
write_elementInserts a new element inside an existing frame at a target position.
update_elementEdits a single element identified by selector. Used by the inline-edit flow.

Asset tools

ToolWhat it does
get_assetsLists images you’ve uploaded or generated.
generate_imageGenerates a raster image from a prompt and uploads it.
generate_svgGenerates a vector logo or illustration from a prompt.

Web tools

ToolWhat it does
web_searchPulls a few result snippets for a query.
web_fetchReads a URL and returns the cleaned text.
clone_websiteSnapshots a URL into a frame, or extracts a design system from it.
clone_framer_componentClones a published Framer component into a frame.

Skill tools

ToolWhat it does
get_skillsLists every skill loaded for this canvas (design system, user skills).
load_skillReads the full SKILL.md and reference files for one skill.

Writing prompts the agent likes

A few patterns that consistently produce good output:
“Build a three-slide launch deck for…” beats “I want to launch a product…” by a wide margin. The first tells the agent how to shape frames.
“Also generate a 1080 × 1080 and a 1920 × 1080 cut of the hero.” The agent will size frames exactly as you say. If you don’t say, it picks defaults from the brief.
Right-click a frame → Reference in chat“Take this layout but swap the headline and recolor for a winter palette.” The agent reads that frame’s HTML before answering.
Don’t write “in the third frame, change the orange button to ink black”. Press C, click the button, type “ink black”. The agent uses update_element and changes nothing else.
With a design system attached the brand is locked by default. If you want a one-off variation say so explicitly: “For this frame only, swap the primary to teal. Keep typography locked.”

Multiple chats per canvas

You can run more than one chat on the same canvas. Useful when:
  • You’re testing two creative directions in parallel.
  • You handed off a canvas to a teammate and want a separate thread.
  • You want to start a clean conversation without losing the old one.
Open the chat history dropdown in the chat header → New chat. The canvas state is shared across chats. Tool calls from any chat write to the same frames.

Pricing per turn

Token-based, with a one-credit minimum to start a turn. Tools that hit external services (image generation, website clone) have a small flat fee on top. The full breakdown is on Credits. The cost of the last turn shows in the chat right under the agent’s reply.

Next

Design systems

Lock palette, typography, and components as rules. Not suggestions.

Inline edit

The fastest edit loop. Click element, drop note, ship.