尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Production-focused AI cinematography studio for image/video generation, shot orchestration, sequence building, and export.查看完整 README ↗Production-focused AI cinematography studio for image/video generation, shot orchestration, sequence building, and export.
/api/ad/direct-shot endpoint for shot direction packets.studio, studioSecondary, studioGhost)studio-card, studio-subcard, studio-field, studio-chip)npm install
cp .env.local.example .env.local
.env.local:NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYENCRYPTION_KEYRecommended/optional:
OPENAI_API_KEY (required for Studio AD/OpenAI generation features)KIE_AI_API_KEYTYPESAFE_API_KEY (optional; enables Jev for server-side typed decisions)EXPORT_WORKER_SECRET or CRON_SECRETSUPABASE_SERVICE_ROLE_KEY (required for admin/server-only flows such as waitlist/admin operations)STUDIO_AD_MODEL (optional override; default in code)STUDIO_AD_REFINER_MODEL (optional override; defaults to STUDIO_AD_MODEL)npm run dev
Migrations live in:
src/infrastructure/supabase/migrationsImportant recent migration:
0016_studio_ad_packets.sql (Studio AD packet history table + RLS policies)Apply migrations in your Supabase workflow before testing new AD history features.
npm run build
npm run start
POST /api/ad/direct-shot - Generate Studio AD packet.GET /api/ad/direct-shot?limit=... - Fetch recent Studio AD directs for signed-in user.POST /api/inner-circle - Submit Inner Circle waitlist lead.POST /api/exports/worker - Export queue worker execution.Jev is wired as a server-only client at src/core/services/jev.ts. Use it for bounded
decisions—routing, scoring, risk gates, and human escalation—not prose generation or
direct execution. Add TYPESAFE_API_KEY to .env.local, then call decideWithJev
with one shared state object and all independent questions in the same request.
import { decideWithJev, requiresHumanReview } from "@/core/services/jev"
const result = await decideWithJev({ job, render }, {
next_action: {
type: "choice",
instructions: "Which safe next step should this production job take?",
criteria: {
continue: "All prerequisites are present and the render may proceed.",
repair: "The job needs a prompt or continuity revision before rendering.",
review: "The job has a material ambiguity that needs a human decision.",
},
},
continuity_risk: {
type: "score",
instructions: "Rate the risk that the supplied production plan loses visual continuity.",
criteria: ["Low risk", "Moderate risk", "High risk"],
},
})
const action = result.answers.next_action
if (requiresHumanReview(action) || action.choice === "review") {
// Queue a human review. Code, not the model, controls execution.
}
mainvercel.json includes export worker cron:
*/5 * * * * -> /api/exports/worker?limit=3CRON_SECRET or EXPORT_WORKER_SECRET