We use anonymous analytics to improve VanillaSky. No personal data is collected. Learn more

    Open source · Apache 2.0

    Build personalized videos that start immediately.

    Turn application data and AI output into streaming, branded motion experiences—recaps, briefings, onboarding, and product moments. The opening plays while the rest is composed.

    Read the docs

    See the stream

    Input becomes motion before the model is finished.

    Open the editable playground
    Your application inputEditable JSON
    {
      "type": "daily_briefing",
      "input": "3 releases shipped. 14 PRs merged. Uptime was 99.99%.",
      "firstScene": {
        "text": "Good morning, Maya. Your product brief is ready."
      },
      "personalization": { "firstName": "Maya" },
      "brand": {
        "name": "Acme Cloud",
        "kit": { "accent": "#0EA5E9", "secondary": "#082F49" }
      }
    }
    BrandFirst scenePersonalization
    Streaming output Live fixture

    Built for individual moments

    Give every person a video that reflects what just happened to them.

    Wrapped-style moments

    Personalized recaps

    Turn each customer, employee, campaign, or account history into a story built around their real milestones and results.

    Always current

    Recurring briefings

    Make daily, weekly, portfolio, or executive updates easier to understand than another dashboard or wall of text.

    A personal first mile

    Welcome and onboarding

    Greet every person by name, reflect their goals, and animate the next steps that matter to their role and journey.

    When data becomes a moment

    Triggered updates

    Turn achievements, renewals, releases, alerts, and status changes into branded experiences at the moment they happen.

    A streaming protocol for motion

    The response is useful before it is complete.

    The SDK separates the instant opening from model generation, validates every scene against templates you installed, and leaves you with a deterministic result.

    1. 01

      Send grounded input

      Your data, brand, and personalization define the factual and visual boundary.

    2. 02

      Begin the experience

      The first scene and audio begin immediately from information your application already knows.

    3. 03

      Stream validated scenes

      Your server connects the LLM and sends small scene events as each part is ready.

    4. 04

      Keep the exact result

      A complete, editable video JSON can be replayed, exported, or handed to an editor.

    Bring your LLM

    Connect OpenAI, Anthropic, or another streaming text model from a secure server route.

    Own the templates

    Install editable React template source, change the design system, or register your own motion components.

    Ship in your interface

    Use the responsive React player in a feed, assistant, dashboard, onboarding flow, or notification surface.

    Start with a first scene.

    Install the runtime, add the templates you want to own, and stream your first personalized motion response from recorded data before connecting a model.

    View the SDK on GitHub