Transcript-grounded career-video analysis and Director Brain–generated reels. Independent account and API keys — a csvm_live_* key only works on the endpoints below.
Every request needs Authorization: Bearer <your-key>, where the key starts with csvm_live_ (or csvm_test_). Register, then generate a key from your dashboard. Base URL: https://api.careerstudiomax.com/api/csvm/v1.
Pulls the real transcript from a YouTube URL (or accepts one you paste directly) and extracts structured career intelligence — insights, skills, salary figures, companies mentioned — every field grounded in what the video actually said.
{
"url": "https://youtube.com/watch?v=...", // or "transcript"/"description" directly
"focus": "salary negotiation", // optional — narrows extraction focus
"lang": "es", "langName": "Spanish", // optional — see Languages below
"reasoning": true // optional — see Deep reasoning below
}{
"success": true, "model": "careervideo-v1",
"analysis": {
"category": "salary_negotiation", "speakerRole": "recruiter",
"keyInsights": [{ "insight": "...", "type": "TIP", "confidence": 0.95 }],
"salaryData": [...], "skillsMentioned": [...], "companiesMentioned": [...],
"qualityScore": 82, "language": "es", "model": "CSVM-1"
}
}A short animation grounded in one specific insight — pass title and/or insight/summary. Returns immediately with a job id; poll GET /v1/animate/status/:id for the result.
A multi-scene, narrated reel planned by a reasoning layer from real extracted insight — not one prompt to one clip. Pass keyInsights (from a prior /analyse call) plus languageCode/languageName/voice for narration in the language you need. Returns a job id; poll GET /v1/cinematic/status/:jobId.
A real uploaded photo (multipart field image), animated and narrated in the requested language via languageCode/languageName/voice. Poll GET /v1/photo-animate/status/:jobId.
Your past requests on this key.
| Endpoint | What "language" controls | Real coverage |
|---|---|---|
/analyse | lang/langName — the extracted insight text itself | Broad text-based multilingual output — the model writes the extracted values in the language you request |
/cinematic, /photo-animate | languageCode/languageName/voice — real narration audio | A specific, real, trained-voice language set — request one to see it echoed back in the job result; not every language text analysis supports has a trained voice yet |
We don't publish one flat "N languages supported" number on this page, because it isn't one honest number across both rows above. Request the language you need and read what comes back — the response always tells you what actually ran, never what we'd like to claim ran.
Pass "reasoning": true on /analyse to raise the model's internal effort/complexity tier for that one call — useful for a long or dense transcript where the default pass might miss nuance. Off by default, real added latency, no extra cost: it's still the same self-hosted model, just told to think harder about this one video, never escalated to an external provider.
Every error response is JSON with a code and a message. Rate limits are set per key based on your plan — see pricing.