{"openapi":"3.1.0","info":{"title":"Vizyble API","version":"1.0.0","description":"Turn your headline into live art that moves when visitors do: letters made of flowers that sway and follow the pointer. One script tag, free to start. No key is needed; keyless responses carry a small badge. Docs: https://vizyble.dev/docs","contact":{"email":"hello.vikasip@gmail.com","url":"https://vizyble.dev/docs"}},"servers":[{"url":"https://vizyble.dev"}],"paths":{"/api/v1":{"get":{"operationId":"renderWordImage","summary":"Render a word as a static image","description":"Returns the word as a transparent WebP (or PNG) image, for <img> tags, emails and places without scripts.","parameters":[{"name":"word","in":"query","required":false,"description":"The text to render. Omit it (or leave it blank) and the endpoint renders its own name — handy as a working example. Default: \"Vizyble\". Range: up to 24 chars.","schema":{"type":"string"}},{"name":"font","in":"query","required":false,"description":"Which lettering style to use — see the Font picker's previews. Unknown values fall back to the default. Default: font-1. Range: font-1 / font-2.","schema":{"type":"string","enum":["font-1","font-2"]}},{"name":"object","in":"query","required":false,"description":"What the letters are made of: flower-1 Violet Cosmos, flower-2 Yellow Frangipani, flower-3 Pink Daisy, flower-4 Violet Bunch, flower-5 Tropical Leaves, flower-6 Blue Bouquet. Unknown values fall back to the default. The earlier name, flower, still works. Default: flower-1. Range: flower-1 / flower-2 / flower-3 / flower-4 / flower-5 / flower-6.","schema":{"type":"string","enum":["flower-1","flower-2","flower-3","flower-4","flower-5","flower-6"]}},{"name":"flowerSize","in":"query","required":false,"description":"Base size of each flower. Letter spacing auto-widens as this grows, so letters keep clearing their neighbors. Default: 58. Range: 10–90.","schema":{"type":"number"}},{"name":"spacing","in":"query","required":false,"description":"Distance between flowers along the letterforms. Default: 15. Range: 4–50.","schema":{"type":"number"}},{"name":"jitter","in":"query","required":false,"description":"Random offset applied to each flower for an organic (non-robotic) look. Default: 5. Range: 0–12.","schema":{"type":"number"}},{"name":"strokeWidth","in":"query","required":false,"description":"Widens the same perpendicular scatter jitter uses, so the letterforms read as a thicker band of flowers. Default: 0. Range: 0–40.","schema":{"type":"number"}},{"name":"wordSize","in":"query","required":false,"description":"Overall scale of the word as a percentage. Default: 100. Range: 40–250.","schema":{"type":"number"}},{"name":"verticalStretch","in":"query","required":false,"description":"Stretches letters taller without widening them. Default: 1.00. Range: 1–2.","schema":{"type":"number"}},{"name":"letterSpacingScale","in":"query","required":false,"description":"Extra tracking between letters. Leave it out to let flowerSize drive it automatically. Default: auto (from flowerSize). Range: 1–10.","schema":{"type":"number"}},{"name":"lineSpacingScale","in":"query","required":false,"description":"Multiplier on the gap between wrapped rows. Only visible once a multi-word `word` actually wraps onto more than one line. Default: 1. Range: 0.5–3.","schema":{"type":"number"}},{"name":"key","in":"query","required":false,"description":"Optional. Without it, the word carries a small Vizyble badge and each site gets 200 fresh renders a day. Your free API key (sign in below or from the account menu) removes the image badge and raises the limit. Pro (coming soon) will also remove the Live badge. A wrong key gets a 401. Default: (none). Range: —.","schema":{"type":"string"}},{"name":"scale","in":"query","required":false,"description":"Pixel density multiplier. Layout, flower count and spacing are unchanged — only the resolution goes up. Use 2 when the image is laid out at a fixed size, so browsers and high-DPI screens aren't downscaling a 1x render. Default: 1. Range: 1–3.","schema":{"type":"number"}},{"name":"format","in":"query","required":false,"description":"Image format. webp keeps the transparent background in a much smaller file, so it loads faster. Use png for emails and newsletters — desktop Outlook can't display WebP. Default: webp. Range: webp / png.","schema":{"type":"string","enum":["webp","png"]}},{"name":"bgcolor","in":"query","required":false,"description":"Fills the background instead of leaving it transparent — useful over busy page backgrounds. Default: none (transparent). Range: any CSS color, or none/transparent.","schema":{"type":"string"}},{"name":"fallback","in":"query","required":false,"description":"Set to 1 for the placeholder inside a live snippet: half resolution at lower quality, about a quarter of the download. It shows for a moment before the live word, or if scripts can't run. Leave it out for images shown on their own. Default: (off). Range: 1.","schema":{"type":"number"}}],"responses":{"200":{"description":"The image. Cached by the CDN; every input is in the URL.","content":{"image/webp":{},"image/png":{}}},"401":{"description":"The key parameter is wrong. Remove it to use the keyless tier."},"429":{"description":"Rate limit reached. Retry after the number of seconds in the Retry-After header."}}}},"/api/v1/live":{"get":{"operationId":"getLiveLayout","summary":"Get the layout for a live word","description":"Returns the data the embed script (https://vizyble.dev/embed/vizyble-live.js) animates. Most sites use the script with a data-vizyble-live attribute instead of calling this directly.","parameters":[{"name":"word","in":"query","required":false,"description":"The text to render. Omit it (or leave it blank) and the endpoint renders its own name — handy as a working example. Default: \"Vizyble\". Range: up to 24 chars.","schema":{"type":"string"}},{"name":"font","in":"query","required":false,"description":"Which lettering style to use — see the Font picker's previews. Unknown values fall back to the default. Default: font-1. Range: font-1 / font-2.","schema":{"type":"string","enum":["font-1","font-2"]}},{"name":"object","in":"query","required":false,"description":"What the letters are made of: flower-1 Violet Cosmos, flower-2 Yellow Frangipani, flower-3 Pink Daisy, flower-4 Violet Bunch, flower-5 Tropical Leaves, flower-6 Blue Bouquet. Unknown values fall back to the default. The earlier name, flower, still works. Default: flower-1. Range: flower-1 / flower-2 / flower-3 / flower-4 / flower-5 / flower-6.","schema":{"type":"string","enum":["flower-1","flower-2","flower-3","flower-4","flower-5","flower-6"]}},{"name":"flowerSize","in":"query","required":false,"description":"Base size of each flower. Letter spacing auto-widens as this grows, so letters keep clearing their neighbors. Default: 58. Range: 10–90.","schema":{"type":"number"}},{"name":"spacing","in":"query","required":false,"description":"Distance between flowers along the letterforms. Default: 15. Range: 4–50.","schema":{"type":"number"}},{"name":"jitter","in":"query","required":false,"description":"Random offset applied to each flower for an organic (non-robotic) look. Default: 5. Range: 0–12.","schema":{"type":"number"}},{"name":"strokeWidth","in":"query","required":false,"description":"Widens the same perpendicular scatter jitter uses, so the letterforms read as a thicker band of flowers. Default: 0. Range: 0–40.","schema":{"type":"number"}},{"name":"wordSize","in":"query","required":false,"description":"Overall scale of the word as a percentage. Default: 100. Range: 40–250.","schema":{"type":"number"}},{"name":"verticalStretch","in":"query","required":false,"description":"Stretches letters taller without widening them. Default: 1.00. Range: 1–2.","schema":{"type":"number"}},{"name":"letterSpacingScale","in":"query","required":false,"description":"Extra tracking between letters. Leave it out to let flowerSize drive it automatically. Default: auto (from flowerSize). Range: 1–10.","schema":{"type":"number"}},{"name":"lineSpacingScale","in":"query","required":false,"description":"Multiplier on the gap between wrapped rows. Only visible once a multi-word `word` actually wraps onto more than one line. Default: 1. Range: 0.5–3.","schema":{"type":"number"}},{"name":"key","in":"query","required":false,"description":"Optional. Without it, the word carries a small Vizyble badge and each site gets 200 fresh renders a day. Your free API key (sign in below or from the account menu) removes the image badge and raises the limit. Pro (coming soon) will also remove the Live badge. A wrong key gets a 401. Default: (none). Range: —.","schema":{"type":"string"}}],"responses":{"200":{"description":"Layout for the live word.","content":{"application/json":{}}},"401":{"description":"The key parameter is wrong. Remove it to use the keyless tier."},"429":{"description":"Rate limit reached. Retry after the number of seconds in the Retry-After header."}}}}}}