TikTok Arc Scorer
Lovable AI outlines sixty-second narrative arcs for TikTok so creators hook viewers; AIsa scores it.
AIsa Video Generation· motion generation
Section · AIsa
full primer →The kernel.
Videographers describe the moment and AIsa's video models stitch a short reel for micro-short pacing — motion sketch, loop, or scene block — playable on the page.
Why this primitiveGenerative music creates fast-paced, engaging, and royalty-free backing tracks optimized for short-form retention algorithms.
Kernel
the AIsa Media Gen skill (Wan / Seed video models) submitted via `POST /v1/skills/mediagen` — returns a task id, the client polls until an MP4 URL is ready
Drives the UI as
a prompt → progress bar → playable MP4 surface for short motion sketches, loops, or scene reels
Required key.
AISA_API_KEY
Single key for AIsa chat completions, image generation, video generation and live skills. Free tier covers a hackathon weekend.
open ↗Add this in your Lovable project under Settings → Secrets before pasting the prompt below.
Appendix · Mega-prompt
The build prompt.
budget · 1 message
Paste into a fresh Lovable project. Make sure the key above is set first. read the build strategy →
Build "TikTok Arc Scorer" as a ONE-SHOT Lovable build. The participant has only
5 credits — this single message must produce a working demo with no follow-ups.
Single-page TanStack Start app. Cut scope ruthlessly.
CONCEPT
Lovable AI outlines sixty-second narrative arcs for TikTok so creators hook viewers; AIsa scores it.
Discipline: Videography & Film (micro-short pacing).
Recipe: AIsa Video Generation (motion generation) as the single creative surface.
Why this kernel: Generative music creates fast-paced, engaging, and royalty-free backing tracks optimized for short-form retention algorithms.
LOVABLE BUDGET (HARD CAP: ONE-SHOT, ~5 CREDITS TOTAL):
The participant has FIVE Lovable credits for the whole build. This prompt MUST
ship a working demo on the FIRST message with zero follow-ups. Engineer for that.
- ONE TanStack Start app, ONE route (`src/routes/index.tsx`). No extra pages, no auth, no nav.
- ONE TanStack server function in `src/lib/aisa.functions.ts` that proxies the AIsa call.
- ONE client surface (a textarea + button, or chat box, or prompt-to-canvas) wired to it.
- NO database, NO Lovable Cloud, NO auth, NO file uploads, NO extra integrations.
- NO tests, NO docs pages, NO settings screens, NO theming toggles.
- Libraries: template defaults + `zod`. Nothing else.
- Keep the diff small enough to land in one build pass. If a feature is not on
screen in the user flow below, do not build it. Cut scope before adding scope.
STACK
- TanStack Start app, the index route only.
- AIsa is the only AI dependency. All API calls live inside a `createServerFn`
handler so `AISA_API_KEY` stays on the server.
- Client surface fits the kernel: a prompt box that returns the result.
- Tailwind + shadcn. Editorial look: gold accent on a dark or warm-cream
background, generous type, one strong headline, one primary action.
- Footer renders: "Built during the AIsa Creative Hackathon organised by StreetKode Fam during Indian Krump Festival 14".
SERVER FUNCTION (src/lib/aisa.functions.ts) — AIsa video gen (Wan / Seed):
```ts
import { createServerFn } from "@tanstack/react-start";
import { z } from "zod";
/** Built during the AIsa Creative Hackathon organised by StreetKode Fam during Indian Krump Festival 14 */
export const animate = createServerFn({ method: "POST" })
.inputValidator((d) => z.object({ brief: z.string().min(1).max(800) }).parse(d))
.handler(async ({ data }) => {
// 1. Submit the video task to AIsa Media Gen (async).
const submit = await fetch("https://api.aisa.one/v1/skills/mediagen", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.AISA_API_KEY!}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "seedance-pro",
type: "video",
prompt: `micro-short pacing reel: ${data.brief}. 6 seconds, cinematic.`,
duration: 6,
}),
});
if (!submit.ok) throw new Error(`AIsa submit failed: ${submit.status}`);
const { task_id } = await submit.json();
// 2. Poll until the MP4 URL is ready (AIsa returns ~20-40s).
for (let i = 0; i < 30; i++) {
await new Promise((r) => setTimeout(r, 2000));
const p = await fetch(`https://api.aisa.one/v1/skills/mediagen/${task_id}`, {
headers: { "Authorization": `Bearer ${process.env.AISA_API_KEY!}` },
});
const j = await p.json();
if (j.status === "succeeded" && j.video_url) return { url: j.video_url as string };
if (j.status === "failed") throw new Error(`Video failed: ${j.error ?? "unknown"}`);
}
throw new Error("Video render timed out.");
});
```
CLIENT: textarea + "Render reel". While the server fn awaits, show a soft
"Rendering ~30s" pulse. On success, render `<video src={url} controls autoPlay loop />`.
Wan / Seed are async — surface progress; one render at a time keeps it within
the 5-credit budget. See https://aisa.one/docs/agent-skills/mediagen.md.
USER FLOW (the entire app — nothing else exists)
1. Land on the page; the headline previews what the demo does for micro-short pacing.
2. The primary action (a prompt → progress bar → playable MP4 surface for short motion sketches, loops, or scene reels) is one tap away; the rest of the layout supports it.
3. AIsa runs the kernel server-side, the result lands on screen, the user can retry or copy.
KEY — only ONE secret is required:
1. `AISA_API_KEY`. Sign up at https://console.aisa.one, copy the key into
Project Settings -> Secrets. Read it only on the server via
`process.env.AISA_API_KEY`. Never prefix with `VITE_`, never expose
to the client. A single key unlocks chat, image, video and skills.
CREDIT (must appear in UI footer AND as JSDoc on the server function):
Built during the AIsa Creative Hackathon organised by StreetKode Fam during Indian Krump Festival 14
Market sizing.
TAM
$1.1B
global video editing software market
SAM
$500M
short-form mobile video creation tools
SOM
$75M
TikTok and Reels creator audio generation apps
Indicative figures for hackathon pitches — refine with your own research before raising.
Adjacent entries.
foley drafting
Foley Prompt Crafter
Lovable AI writes foley prompts for silent scenes so editors hear their vision; AIsa generates the SFX.
temp scoringRough Cut Scorer
Lovable AI writes emotional beat sheets for rough cuts so directors feel the story; AIsa scores it.
ambience layeringIndie Room Toner
Lovable AI designs room tone profiles for indie sets so audio feels grounded; AIsa generates the SFX.
trailer sound designTrailer Riser Builder
Lovable AI plans trailer pacing and hit points so editors build anticipation; AIsa generates the SFX.