1import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n}from"./framework-JGc2HF7T.js";var r=e(t(),1),i=n(),a=[{key:`outliers`,label:`Searchable Outlier Database`,description:`Use keywords, concepts and filters to find videos that beat a channelâs usual views, inside and outside your niche. Then adapt the ideas and packaging for your audience.`,image:`/assets/feature-outliers.jpg`,alt:`Velio research results with a highlighted video showing its views and outlier multiplier`},{key:`channels`,label:`Channel Databases`,description:`Track the channels your target viewers watch, compare uploads, views and performance trends, and get alerts when relevant videos take off.`,image:`/assets/feature-channels.jpg`,alt:`Velio tracked channels with a performance chart and a table of channel statistics`},{key:`saved`,label:`Saved Videos`,description:`Save videos on your phone with the mobile app, from YouTube on desktop with the Chrome extension, or directly within Velio. Organise them into folders with tags and notes, so your best ideas are easy to find.`,image:`/assets/feature-saved.jpg`,alt:`The Velio extension saving a YouTube video with folders, notes and tags for its hook, structure, thumbnail and title`},{key:`thumbnails`,label:`Thumbnail Generator`,description:`Turn a prompt into a thumbnail concept, then refine the image with follow-up instructions. Develop your thumbnail alongside your video idea, so the promise is clear before you film.`,image:`/assets/feature-thumbnails.jpg`,alt:`Velio thumbnail editor refining a YouTube graphic using a text instruction`}
1,{key:`agent`,label:`AI Chat / MCP`,description:`Talk to Agent Velio in plain English about what to make next, why an idea worked, or how to adapt it, using your channel and niche data. You can also connect Velio to ChatGPT or Claude through MCP.`,image:`/assets/feature-agent.jpg`,alt:`Agent Velio suggesting a video idea, showing a supporting outlier and explaining why the idea could work`},{key:`community`,label:`Community`,description:`Get feedback on your ideas and packaging from experts and other creators in Velioâs private community. Ask questions when you get stuck and learn from how other creators approach their videos.`,image:`/assets/feature-community.png`,alt:`Velioâs Feedback community channel, with a creatorâs NBA thumbnail and feedback from Jake and Marcus Jones on its title and packaging`}];function o({name:e}){return(0,i.jsx)(`svg`,{className:`feature-tab-icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:{outliers:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,i.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),channels:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`path`,{d:`M18 20a6 6 0 0 0-12 0`}),(0,i.jsx)(`circle`,{cx:`12`,cy:`10`,r:`4`}),(0,i.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`})]}),saved:(0,i.jsx)(`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}),thumbnails:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}),(0,i.jsx)(`circle`,{cx:`9`,cy:`9`,r:`2`}),(0,i.jsx)(`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`})]}),agent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`}),(0,i.jsx)(`path`,{d:`M20 3v4M22 5h-4M4 17v2M5 18H3`})]}),community:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`path`,{d:`M18 21a8 8 0 0 0-16 0`}),(0,i.jsx)(`circle`,{cx:`10`,cy:`8`,r:`5`}),(0,i.jsx)(`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`})]})}[e]})}function s(){let[e,t]=(0,r.useState)(`channels`),n=(0,r.useRef)([]);(0,r.useEffect)(()=>{function e(){window.location.hash===`#agent`&&t(`agent`)}function n(e){e.target instanceof Element&&e.target.closest(`a[href="#agent"]`)&&t(`agent`)}return e(),window.addEventListener(`hashchange`,e),document.addEventListener(`click`,n),()=>{window.removeEventListener(`hashchange`,e),document.removeEventListener(`click`,n)}},[]);function s(e,r){let i=r;if(e.key===`ArrowDown`||e.key===`ArrowRight`)i=(r+1)%a.length;else if(e.key===`ArrowUp`||e.key===`ArrowLeft`)i=(r-1+a.length)%a.length;else if(e.key===`Home`)i=0;else if(e.key===`End`)i=a.length-1;else return;e.preventDefault(),t(a[i].key),n.current[i]?.focus()}return(0,i.jsx)(`section`,{className:`feature-explorer-section`,id:`features`,"aria-labelledby":`features-heading`,children:(0,i.jsxs)(`div`,{className:`shell`,children:[(0,i.jsx)(`div`,{className:`feature-explorer-heading`,children:(0,i.jsx)(`h2`,{className:`section-title`,id:`features-heading`,children:`A few features creators love`})}),(0,i.jsxs)(`div`,{className:`feature-explorer`,children:[(0,i.jsx)(`div`,{className:`feature-tabs`,role:`tablist`,"aria-label":`Velio features`,"aria-orientation":`horizontal`,children:a.map((r,a)=>(0,i.jsxs)(`button`,{ref:e=>{n.current[a]=e},id:r.key===`agent`?`agent`:`feature-tab-${r.key}`,role:`tab`,type:`button`,"aria-selected":e===r.key,"aria-controls":`feature-panel-${r.key}`,tabIndex:e===r.key?0:-1,onClick:()=>t(r.key),onKeyDown:e=>s(e,a),children:[(0,i.jsx)(o,{name:r.key}),(0,i.jsx)(`span`,{children:r.label})]},r.key))}),(0,i.jsx)(`div`,{className:`feature-panels`,children:a.map(t=>(0,i.jsxs)(`div`,{className:`feature-panel${t.image?``:` feature-panel-text`}`,id:`feature-panel-${t.key}`,role:`tabpanel`,"aria-labelledby":t.key===`agent`?`agent`:`feature-tab-${t.key}`,tabIndex:0,hidden:e!==t.key,children:[(0,i.jsx)(`div`,{className:`feature-panel-copy`,children:(0,i.jsx)(`p`,{className:`feature-description`,children:t.description})}),t.image&&(0,i.jsx)(`figure`,{className:`feature-media`,children:(0,i.jsx)(`img`,{src:t.image,alt:t.alt,width:`1280`,height:`720`,loading:`lazy`})})]},t.key))})]})]})})}export{s as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.