尚未偵測到更新。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