vibenannystudio

Vibe Nanny Studio API

A little code.
A lot of character.

Create a mascot. Give it poses, motion, and a voice. Bring the finished files into your product, all through one REST API.

REST · JSON · Bearer auth · Hosted assets

Small request.
Big personalities.

Spud

Otto

Moss

POST /v1/mascots/:id/generateSame API. Your character.

Made in Studio. Available in your code.

Explore the documentation →

The request. The character. The result.

What will yours do first?

Pick an example. Look at the request. Meet the kind of output you can make.

A loading state with eight helping hands.

Describe a pose and a movement. Get an animation of your mascot with transparent video exports for your interface.

Read the guide
curl https://api.vibenanny.dev/v1/mascots/MASCOT_ID/generate \
-H "Authorization: Bearer $VIBENANNY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "animation",
"name": "Typing",
"image_prompt": "Seated at a keyboard",
"animation_prompt": "Typing busily, all eight arms",
"duration": 5
}'
POST · /v1/mascots/:id/generate · Accepted
Generated example

Otto

Otto has the typing covered.

WebMMOVMP4

Example requests and illustrated outputs. To generate your own, replace the IDs and call the API from your server.

One mascot. A whole cast of assets.

From the first sketch
to the last little detail.

Six ways to put your character to work. See what each asset does, what you get back, and the API request that creates it. Your mascot's references keep the character consistent.

Images & poses.

Describe an expression, outfit, or action. Generate a new still image of your mascot for an empty state, onboarding screen, or the starting pose of an animation.

ImageTransparent image
POST /v1/mascots/:id/generate
See the API request +
Image generation ↗

Animations & speech.

Animate a saved pose, or describe a new pose and its movement together. For a talking clip, send a script and pick a voice.

Transparent videoAudio + transcript
POST /v1/mascots/:id/generate
See the API request +
Animation generation ↗

Stickers.

Turn a completed transparent image into a transparent PNG with a white sticker border, ready for messaging, rewards, and your interface.

Transparent PNGWhite border
POST /v1/assets/:id/sticker
See the API request +
Sticker generation ↗

Logos & app icons.

Choose a composition and a visual style. Turn your character into a face icon, badge, or brand mark, with a master image, transparent version, resized PNGs and a favicon.

PNG + faviconOptional SVG generation
POST /v1/mascots/:id/logo
See the API request +
Logo generation ↗

Scenes.

Put your mascot in a setting. Describe the environment and the action separately, then choose the aspect ratio for a hero illustration, story, or campaign image.

Scene imageLandscape, square, portrait
POST /v1/mascots/:id/scene
See the API request +
Scene generation ↗

Cursor interactions.

Turn a completed transparent pose into nine gaze directions. Your site swaps the images so the character follows the pointer. Use a canvas for reactions between animated states.

9 directional imagesGaze map
POST /v1/assets/:id/gaze

Give the animations a little logic

A clip moves.
A canvas reacts.

A canvas is a state machine: poses are nodes, animated moves are edges, and input conditions decide which move plays. Connect your app events to those inputs to make your mascot respond.

One character. Two states. A move between them.Live preview

Rest

A pose with its own loop

→

The move

A generated animation clip

→

Play

A different pose and loop

Your app requests a reaction. The player checks the graph's conditions, plays the connecting move, then loops in the new state.

Try an interactive canvas ↗

Start with one request

Create your canvas through the API.

Use your project and mascot IDs. This creates an empty draft, generating its poses and moves is a separate step.

curl -X POST https://api.vibenanny.dev/v1/canvases \
-H "Authorization: Bearer $VIBENANNY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "PROJECT_ID",
"mascot_id": "MASCOT_ID",
"name": "Product reactions"
}'
Build a canvas step by step ↗
  1. 01

    Create a canvas.

    Start an empty draft canvas with your mascot. Save the returned canvas ID and graph rows.

    POST /v1/canvases
  2. 02

    Connect the reactions.

    Add poses, moves and input conditions. Send the graph with PATCH; it is checked against the rules.

    PATCH /v1/canvases/:id
  3. 03

    Generate the moves.

    Preview the cost, then generate the poses and moves. Each one returns a job you can follow.

    POST /v1/canvases/:id/generate
  4. 04

    Bring it into your app.

    Embed the player, load the canvas, and set its inputs from your own app events.

    GET /v1/canvases/:id/export

From your backend to your frontend

Four steps.
One new teammate.

Generate on your server. Display the finished assets wherever your product needs a little personality.

  1. 01
    POST /v1/mascots

    Create your mascot.

    Create a project, then a mascot from your prompt or images. Already made one in Studio? Use its ID.

    Create a mascot ↗
  2. 02
    POST /v1/mascots/:id/generate

    Request an asset.

    Choose the asset and describe what you need. Save the job ID from the accepted request.

    Pose & animation guide ↗
  3. 03
    GET /v1/jobs/:id

    Follow the generation job.

    Poll for completion or receive a webhook. Check each output is ready before putting the file on screen.

    Follow a generation job ↗
  4. 04
    GET /v1/assets/:id

    Use the finished files.

    Download images and videos, or use ready CDN URLs. Your app decides when and where the mascot appears.

    Files, exports & hosting ↗

The practical part

Cute on the frontend.
Clear on the backend.

Your stack is welcome.

REST, JSON, and Bearer authentication. Use fetch, cURL, Python or the HTTP client you already have.

Start with the quickstart ↗

Let the job come to you.

Receive signed completion and failure webhooks instead of keeping your app in a polling loop.

Set up webhooks ↗

Choose your delivery.

Use hosted CDN URLs or download the exports. Download your files or enable hosting.

Files & CDN hosting ↗

Know what to send.

Endpoint schemas, error codes, API versions, and retry conventions, all in the reference.

Open the API reference ↗

{ }Building with an AI coding agent? Give it the Vibe Nanny API skill.

Get the skill ↗

The little details

Before you say hello.

A few things your backend might ask.
Can I generate every asset type through the API?+

Images, poses, animations, speech, stickers, logos, scenes and gaze maps are all available as endpoints.

How do I make an animation interactive?+

Create a canvas, add your animations as nodes, and connect them with inputs your app can trigger.

Can I use a mascot I already made in Studio?+

Yes. Every Studio mascot has an ID you can pass straight to the API.

Can I create the character through the API too?+

Yes. POST /v1/mascots accepts a text prompt, reference images, or both.

Where do I put the API key?+

On your server only, as a Bearer token in the Authorization header. Never ship it to the browser.

How do I know when the files are ready?+

Poll GET /v1/jobs/:id, or register a webhook to be notified on completion or failure.

Do I have to host the results myself?+

No. Every finished asset has a CDN URL on assets.vibenanny.dev. You can also download and self-host.

How is API generation billed?+

The API uses the same credits as Studio. Each endpoint lists its credit cost in the reference.

Your next feature has a face.

Give your product
a little character.

Get a key. Make your first request. Meet your mascot.