chat
ChatGPTSend a message to Canvora's AI visual creation assistant. This is the primary tool for CREATING visuals — describe what you want (text content, a URL, an idea) and Canvora will analyze it, suggest formats, and prepare a generation. ALSO use this tool to SHOW or DISPLAY an existing/previous generation when the user asks (e.g. "show me my last generation", "show my visuals") — it renders the finished gallery. (get_generation reports raw status only and does not display anything to the user.) Do NOT use it for variations (create_variation), translations (localize_generation), or exports (export_visuals) of existing work. The conversation is stateful — Canvora remembers context across messages. When ready, it returns generation parameters that you should present to the user for review before confirming with confirm_generation. Examples: - "Create a LinkedIn carousel about remote work benefits" - "Make an infographic from https://myblog.com/article" - "I need social media visuals for a product launch" - "Make it 5 slides instead, use bold style"
check_credits
ChatGPTCheck your current Canvora credit balance. Only call this when the user explicitly asks about their credits or balance.
confirm_generation
ChatGPTConfirm and start a visual generation after the chat tool returns "READY TO GENERATE". Call this only after the user has reviewed and approved the generation settings (they may also press Create in the setup panel — never call this twice, it charges credits twice). You can pass overrides to change any settings the user wants to adjust — formats, style, slide counts, brand. Returns immediately; the on-screen panel shows live progress and the finished visuals by itself. Do NOT poll with get_generation afterwards.
convert_image
ChatGPTConvert an image to JPG, WebP, or PNG format. Returns the converted image as a downloadable URL.
create_variation
ChatGPTCreate fresh visual variations of an existing generation. Use this tool whenever the user asks for "variations", "alternatives", "different versions", or "more options" for an existing generation. IMPORTANT: This is NOT the same as creating a new generation. This tool takes an existing generation_id and creates new visual designs from the same content. Do NOT use confirm_generation for variations — always use this tool. SEMANTICS: variations are created for EVERY visual in the generation, and count applies PER VISUAL — count=2 on a generation with 2 visuals produces 4 new images. Tell the user the real total before or when starting. (To vary just one specific visual, the user can use the per-visual Variations option in their Canvora dashboard.) Costs 10 credits per single image variation, 15 per carousel slide. New variations are saved to the user's Canvora workspace (account and brand kit at canvora.ai) and are also returned as preview/downloadable URLs.
download_visual
ChatGPTGet the download URL for a specific output from a completed generation. Returns the direct image URL that can be opened or downloaded. The visual stays stored in the Canvora workspace (canvora.ai).
edit_image
ChatGPTEdit a generated image using a text instruction (e.g., "change background to blue", "make the text larger", "fix the typo"). This is a two-step flow: 1. First call with just the instruction — Canvora analyzes the image and returns a refined edit plan for review 2. Second call with confirmed=true and the confirmed_instruction — executes the edit Always show the user the edit plan before confirming. The edited visual is saved to the user's Canvora workspace (account and brand kit at canvora.ai) and is also returned as a preview/downloadable URL.
export_visuals
ChatGPTExport a completed generation as PDF, PowerPoint, or ZIP. - PDF: Ideal for LinkedIn carousel uploads (document posts) - PPTX: PowerPoint/Google Slides presentations - ZIP: Bulk download all images as PNG files Returns a downloadable file URL; the source visuals remain in the user's Canvora workspace (account at canvora.ai).
get_edit_history
ChatGPTGet the edit history of a generated image — original version plus every applied edit, with which version is current. Use before reverting an edit.
get_generation
ChatGPTGet the status or output URLs of a generation for reference only. To SHOW or DISPLAY a generation to the user (e.g. "show me my last generation"), use the chat tool instead — it renders the gallery; this tool does not. Do NOT call this tool in a loop to poll progress — after confirm_generation, create_variation, or localize_generation the on-screen panel updates itself; calling this repeatedly duplicates the panel. Call it at most once, and only when you need the raw status.
list_brands
ChatGPTList all brand kits in your Canvora account. Returns brand names, colors, fonts, logos, and tone. Use the brand ID with confirm_generation to apply brand styling.
list_formats
ChatGPTList the available visual formats with dimensions and categories. Canvora supports 100+ formats; use this to find the right format ID for confirm_generation.
list_workspaces
ChatGPTList your workspaces and personal account. Use this when the user wants to generate visuals for a specific team or workspace. Returns workspace IDs, names, your role, and credit balances. Pass the workspace_id to the chat or confirm_generation tools to create visuals under that workspace (uses workspace credits instead of personal). If the user doesn't mention a workspace, default to personal (no workspace_id needed).
localize_generation
ChatGPTTranslate the visuals of a completed generation into one or more target languages. Each visual is translated in place (image-to-image) — the layout, colors, fonts, icons and imagery stay EXACTLY the same, only the text changes language. Canvora supports 150+ languages including RTL scripts (Arabic, Hebrew, Urdu) and CJK. Perfect for localizing a campaign: one LinkedIn carousel becomes Spanish, Japanese, Arabic and German variants in a single call. Costs 10 credits per translated image, per language (a 6-slide deck into Spanish = 60 credits). Up to 10 languages per call. Returns one generation ID per language — poll each with get_generation until status is "completed". This translates ALL visuals in the chosen generation. If more than one generation exists in the chat, localize the specific generation the user is referring to — ask which one if it is unclear. SEMANTICS: this translates EVERY visual in the generation (each translated visual costs 10 credits). To translate just ONE visual (e.g. "translate the Instagram post to Spanish"), do NOT use this tool — use edit_image on that image with an instruction like "Translate all visible text in this image into Spanish", which translates only that visual. IMPORTANT: Confirm the target languages with the user before calling. Localized visuals are saved to the user's Canvora workspace (account and brand kit at canvora.ai) and are also returned as preview/downloadable URLs.
revert_edit
ChatGPTRevert a generated image to a previous edit version or to the original. Free — does not consume credits. Use get_edit_history first to find edit IDs. The reverted visual stays in the Canvora workspace (canvora.ai) and is returned as a preview/downloadable URL.
upload_photo
ChatGPTUpload a photo (base64) to be embedded in generated visuals — product shots, event photos, headshots. Returns a CDN URL to pass as embedding_photos to confirm_generation. Used primarily by the setup widget.