GitHub: venice-video-harness
مرخّص MIT. مُدار من قِبل المجتمع.
فيديو متّسق الشخصيات
ثبّت الشخصيات والأصوات والجماليات عبر سلسلة كاملة
من اللوحة القصصية إلى الفيديو
توليد لوحات بمرورين مع تحسين متعدد عبر Venice multi-edit
تحرير قائم على النص
تفريغ نصي محلي عبر whisper.cpp، والقص من حزمة بحجم 12KB، مع تقييم ذاتي عند كل حد قص
ما هذا
معظم تكاملات Venice هي أغلفة رقيقة حول استدعاءات API. أما Venice Video Harness فهو الطبقة الأعلى التي تقع بين الوكيل وVenice API:- قواعد التنسيق في
CLAUDE.md - سجلات تشغيل قابلة لإعادة الاستخدام في
.claude/commands/(19 أمر سير عمل) - وكلاء متخصّصون في
.claude/agents/(مخرج فني، مهندس طلبات، فحص جودة القص، وغيرهم) - مهارات إنتاج Venice في
.claude/skills/(متوافقة مع تنسيق Agent Skills) - طبقة تنفيذ TypeScript في
src/ - سجل نماذج شامل يغطي أكثر من 50 نموذج فيديو وصورة وصوت وموسيقى من Venice
- مشاريع فيديو متّسقة الشخصيات (أي نوع وأي طول)
- سلاسل أو حملات بأسلوب بصري مثبّت
- سير عمل من اللوحة القصصية إلى الفيديو
- محتوى سردي قصير وطويل
- تسلسلات سينمائية ذات علامة تجارية، وترويجات، ومقاطع تشويقية
- سلاسل اجتماعية متكرّرة الشخصيات
البدء
المتطلبات
Node.js 20+
يُوصى بأحدث إصدار LTS
ffmpeg + ffprobe
على متغير PATH لديك
مفتاح Venice API
whisper-cpp للتفريغ النصي المحلي.
الإعداد
1
استنسخ الـ harness
2
اضبط مفتاح API
3
ثبّت وابنِ
4
افتح في وكيلك
افتح المشروع في Cursor أو Claude Code أو أي IDE يدعم الدردشة الوكيلية. يقرأ الوكيل ملف
CLAUDE.md وسجلات التشغيل تلقائيًا.جرّب إحدى هذه الرسائل الأولى:- “Set up this Venice video harness for first use”
- “Create a new character-consistent video series”
- “Generate a 30-second branded video sequence”
- “Build a multi-episode narrative with locked characters”
- “Create a product launch trailer with consistent visual style”
ما الذي يجعله محسّنًا لـ Venice
- طلبات الصور مضبوطة لنماذج صور Venice مثل
seedream-v5-liteوnano-banana-proوflux-2-pro/maxوغيرها - توليد اللوحات بمرورين مع تحسين متعدد عبر Venice multi-edit لتصحيح الشخصيات
- منطق توجيه النماذج لطبقات الحركة والأجواء واتساق الشخصيات
- توليد فيديو مدرك للمراجع يستخدم
elementsوreference_image_urlsوscene_image_urlsبشكل صحيح لكل نموذج - تكييف الطلبات وفق البيئة للتعامل مع المشاهد النهارية مقابل الليلية
- مسارات صوتية أصلية لـ Venice لـ TTS (Kokoro، Qwen3، ElevenLabs) والمؤثرات الصوتية والموسيقى
- تقدير التكلفة قبل التوليد عبر
/video/quoteو/audio/quote - بناء معاملات مدرك للنموذج يتجاوز تلقائيًا المعاملات التي لا يدعمها النموذج المستهدف
افتراضيات توجيه النماذج
افتراضيات الـ harness ذات رأي واضح لأن الاتساق هو الهدف. التوجيه الحالي (أبريل 2026): Seedance 2.0 R2V افتراضيًا. Kling O3 R2V كبديل احتياطي لمشاهد 3+ شخصيات. Seedance 2.0 i2v للقطات التأسيسية.
يمكن تجاوز هذه القيم لكل مشروع عبر
series.json → videoDefaults. لاستهداف عائلة غير Seedance (مثل الحسابات التي تفتقر إلى وصول Seedance)، اضبط videoDefaults إلى kling-o3-standard-reference-to-video وveo3.1-fast-image-to-video.
قاعدة وجوه Seedance: يحجب Seedance 2.0 صور الإدخال التي تحتوي على وجوه ولم يُنتجها
seedream-v5-lite أو seedream-v5-lite-edit. يتعامل الـ harness مع ذلك تلقائيًا بتوجيه أعمال الصور الحاملة للشخصيات عبر Seedream وتشغيل بوابة قبل الإقلاع قبل كل استدعاء Seedance.نماذج Venice المدعومة
الفيديو (أبريل 2026)
الصورة والصوت والموسيقى
- الصورة (22+ نموذج):
nano-banana-pro/2،gpt-image-2،flux-2-pro/max،grok-imagine،qwen-image-2-pro،recraft-v4-pro،seedream-v4/v5-lite،lustify-sdxl/v7،wai-Illustrious، وغيرها - Multi-edit:
qwen-edit،flux-2-max-edit،nano-banana-pro-edit،seedream-v5-lite-edit،gpt-image-2-edit، وغيرها - TTS:
tts-kokoro(أكثر من 50 صوتًا)،tts-qwen3-0-6b/1-7b،elevenlabs-tts-v3،elevenlabs-tts-multilingual-v2 - الموسيقى:
elevenlabs-music،minimax-music-v2،ace-step-15،stable-audio-25 - المؤثرات الصوتية:
elevenlabs-sound-effects-v2،mmaudio-v2-text-to-audio
خطوط الإنتاج
خط أنابيب التوليد
فيديو سردي شامل (سيناريو → لوحة قصصية → فيديو → صوت → تجميع):src/mini-drama/ يغطي:
- إدارة السلاسل / الشخصيات / الحلقات
- ورش كتابة سيناريو مدعومة بـ LLM
- توليد لوحة قصصية بمرورين (توليد + تحسين متعدد)
- فحص جودة اللوحات قائم على الرؤية
- توليد الفيديو مع تسلسل الإطارات
- ما بعد إنتاج صوتي طبقي
- حرق الترجمة والتجميع النهائي
خط أنابيب التحرير
قص الوسائط الموجودة مسبقًا (لقطات مولّدة من Venice أو لقطات خام حقيقية). النص أولًا: يقرأ الـ LLM ملفtakes_packed.md مدمجًا (~12KB لكل 40 دقيقة من الصوت) بدلًا من تفريغ إطارات الفيديو.
الخطوات الخمس:
1
التفريغ النصي
يُنتج whisper.cpp محليًا
*.words.json + takes_packed.md لكل مصدر.2
قراءة الحزمة
يضع الـ LLM استراتيجية قصّ من النص وحده.
3
التأكيد
يقترح الاستراتيجية وينتظر “yes / revise / cancel”.
4
عرض الـ EDL
قائمة قص JSON ← دمج ffmpeg مع تلاشي صوتي 30 مللي ثانية. الأرشيف أولًا، فلا يُكتب فوق الأصول أبدًا.
5
التقييم الذاتي
يجري وكيل
cut-qa 6 فحوصات برمجية عند كل حد قص؛ بحد أقصى 3 تكرارات إصلاح.cut-qa انحدارات نسبة العرض إلى الارتفاع، وقفزات تجزئة الإطار داخل كلمة، واقتطاع التعليق الصوتي، وتغيّر الإضاءة، وذرّ الصوت فوق -6 dBFS، وتداخل الترجمة مع نص داخل الإطار.
الأوامر والوكلاء والمهارات
يكشف الـ harness عن 19 أمر سير عمل، و10 وكلاء متخصّصين، و7 مهارات إنتاج. أبرزها:دورة كاملة مع NLE
بعد التصيير، صدّر الجدول الزمني المُجمَّع كـ XML للتحرير الدقيق في محرّرك المفضّل. كل مقطع فيديو ومقطع حوار ومقطع مؤثر صوتي وموسيقى يحطّ على مساره الخاص.الاستخدام البرمجي
يمكنك أيضًا استدعاء وحدات الـ harness مباشرة من شيفرة TypeScript الخاصة بك:المصادر
GitHub
الشيفرة المصدرية والمشاكل والإصدارات
توليد الفيديو في Venice
الـ API الأساسي الذي يقوده الـ harness
من المرجع إلى الفيديو
دليل R2V لاتساق الشخصيات
Seedance 2.0
عائلة الفيديو الافتراضية للـ harness
مُدار من قِبل المجتمع ويُقدَّم كما هو. للمشاكل الخاصة بالـ harness، أبلغ عنها في مستودع المشروع على GitHub.