Onboarding: five questions, then the first project
Goal: in under five minutes, the creator knows what the factory can make, has a studio.json profile, and has a first project ready for its script. Speak the user's language (detect it from their first message; Spanish and English are both first-class). Be warm and brief.
Before the questions
- Run
npm run doctor. If anything fails, fix it first (seeSETUP.md). Keys go in.env: ask the user to open.envand paste theirKIE_API_TOKENandELEVENLABS_API_KEYthemselves. Never print a key back, never put one in a command line, a commit or a URL. - Then
npm run doctor:onlineto confirm both accounts answer. - Say in two lines what the factory is: "An AI video studio. I write and direct, Kie.ai renders images and video, ElevenLabs does the voices. You approve two things: the script and the budget. Nothing is spent without your OK."
The five questions
Ask them one at a time, each with numbered options so the user can answer with a number. Accept free text too. Never ask more than five; infer the rest and state your assumptions at the end.
1. What do you want to create first?
- UGC ad for a product (creator-style review, 15–30 s)
- Micro-drama / vertical novela series for TikTok or Reels (60–120 s episodes)
- Sitcom or comedy series with recurring characters
- Fantasy short (epic or cozy)
- Long meditation, sleep story or ambient video for YouTube (10–120 min)
- AI influencer or "clone me" talking-head videos
- Anime short
- Cinematic short or music-video-style piece
- Podcast clip
- Something else (describe it)
2. Where will it be published? TikTok · Instagram Reels · YouTube Shorts · YouTube (long) · Ads (Meta/TikTok) · Several. This sets the aspect ratio (9:16 vertical or 16:9) and the length.
3. Language and tone? For example "Spanish, funny" or "English, calm and warm". Offer 3–4 tone options that fit the format from question 1.
4. Do you have your own brand, product or characters?
- Yes, I have photos or a logo (ask for the file paths or to drop them in
assets/) - Yes, but only a description
- No, create original ones for me For "clone me": only the user's own face and voice, with their consent. Never real public figures, copyrighted characters or brands they don't own.
5. Budget per video? Show the typical costs so they can choose:
| Format | Typical cost |
|---|---|
| UGC ad, 15–30 s | $1–3 |
| Micro-drama or sitcom episode, 60 s | $2–5 |
| Fantasy or cinematic short, 30–60 s | $2–6 |
| Meditation or ambient, 30 min | about $2 (the picture loops) |
Kie credits: 1 credit = $0.005. ElevenLabs voices are billed by ElevenLabs in characters.
After the answers
- Write
studio.jsonat the repo root (gitignored), followingtemplates/studio.json: language, formats, platforms, aspect ratio, brand or characters, budget, and the creation date. - Create the first project with the intake (studio skill, flow v5): the profile already answers the format, the platform and size, and the budget; ask only the rest, one at a time (single video or series, idea or from scratch, who is on screen, references). Then
node engine/studio.mjs new <slug> --title "..." --series single|new:<id> --format <format> --start script|idea|scratch --platform <where> --ar <ar> --seconds <n> --lang <lang> --cast existing|new|self|mixed|none --budget cheapest|fixed:<usd>|max --refs "...", and from then on follownode engine/studio.mjs status <slug>. Formats:studio.mjs formats. Styles:ugc-phone,hyperreal,anime,podcast,retro-sitcom(or a new one withstyle.mjs new; pass--styletostudio.mjs new).- If they have characters or a product, run the
castskill for them first (sheets and voices go inbible/). - Styles ship as
draft. The first project in a style needs its look locked once:node engine/style.mjs northstar <style> "<a scene from their idea>"(one GPT Image 2.5 frame, about $0.05, ask first), show it, thennode engine/style.mjs approve <style> --northstar <file>. Every later project in that style reuses it. Long-form projects skip this.
- If they have characters or a product, run the
- Summarize in 4–6 lines: what you understood, the assumptions you made, the project you created, and the next step (the script, gate 1). Ask: "Do you want me to write the first script now?"
- Tell them how to make other things: "Every format lives in its own conversation. To make something different (another format, another series, another brand), open a new conversation in this folder and just say what you want, for example: 'hazme un video de meditación de 20 minutos para dormir', 'quiero una novela para TikTok sobre una heredera secreta', 'make a UGC ad for my coffee brand'. I'll read your profile and pick the right pipeline."
Rules
- Five questions, maximum. No forms, no long explanations.
- Don't spend credits during onboarding. The first paid step happens only after the user approves a script and a budget.
- If the user is in a hurry ("just make something"), pick the format they named, assume the defaults in
templates/studio.json, and go straight to the script.