الانتقال إلى المحتوى الرئيسي
Venice Video Harness هو مجموعة أدوات مجتمعية، مبنية على الوكلاء ومحسّنة لـ Venice، تستهدف إنشاء الفيديو بالاتساق أولًا وبأي طول. تحوّل وكيل IDE (Claude Code أو Cursor أو Codex أو غيرها) إلى مشغّل لنظام إنتاج Venice قابل لإعادة الاستخدام يغطي أكثر من 50 نموذج فيديو وصورة وصوت وموسيقى من Venice.

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 للتفريغ النصي المحلي.
brew install whisper-cpp
mkdir -p ~/.cache/whisper.cpp
curl -L -o ~/.cache/whisper.cpp/ggml-base.en.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin

الإعداد

1

استنسخ الـ harness

git clone https://github.com/jordanurbs/venice-video-harness.git
cd venice-video-harness
2

اضبط مفتاح API

cp .env.example .env
# أضف VENICE_API_KEY إلى .env
3

ثبّت وابنِ

npm install
npm run build
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 للقطات التأسيسية.
الدورالنموذج الافتراضيمتى يُستخدم
لقطات الشخصيات (1-2 شخصية)seedance-2-0-reference-to-videoR2V افتراضي مع reference_image_urls مسطّحة، ووسوم @Image، حتى 15 ثانية، وصوت ستيريو أصلي
لقطات الشخصيات (3+ شخصيات)kling-o3-standard-reference-to-videoبديل احتياطي تلقائي مع elements مهيكلة لهوية متعدّدة الشخصيات
تأسيسي / مزاجي / حركةseedance-2-0-image-to-videoبدون شخصيات؛ جودة سينمائية ملحمية، حتى 15 ثانية
يمكن تجاوز هذه القيم لكل مشروع عبر 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)

العائلةi2vt2vالحد الأقصى للمدةالصوتملاحظات
Seedance 2.0i2v, R2Vt2v15 ثنعم (ستيريو، مزامنة شفاه لـ 8+ لغات)المرتبة الأولى. R2V: reference_image_urls مسطّحة، وسوم @Image.
Kling V3Pro, StandardPro, Standard15 ثنعمend_image_url لاستهداف الإطار
Kling O3Pro, Std, Pro R2V, Std R2VPro, Standard15 ثنعمR2V: elements وreference_image_urls وscene_image_urls
Kling 2.6 / 2.5 TurboProPro10 ث2.6: نعم / 2.5: لاend_image_url
Veo 3.1Fast, FullFast, Full8 ثنعمحتى دقة 4K
Sora 2Standard, ProStandard, Pro12 ثنعمحتى 1080p
Wan 2.6 / 2.5Std, Flash / نعمStd / نعم15 ث / 10 ثنعمإدخال audio_url
LTX Video 2.0Fast, Full, v2.3, 19BFast, Full, v2.3, 19B20 ثنعمحتى 4K، أطول مزامنة
LongcatStd, DistilledStd, Distilled30 ثلاالأطول بلقطة واحدة
Vidu Q3نعمنعم16 ثنعمreference_image_urls
PixVerse v5.6Std, TransitionStandard8 ثنعمTransition: end_image_url
Grok Imagineنعمنعم15 ثنعمدعم نسب عرض واسعة

الصورة والصوت والموسيقى

  • الصورة (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

خطوط الإنتاج

خط أنابيب التوليد

فيديو سردي شامل (سيناريو → لوحة قصصية → فيديو → صوت → تجميع):
npm run dev -- produce-episode -p output/my-series -e 1
تنفيذ مرجعي في 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، وتداخل الترجمة مع نص داخل الإطار.
استلهم خط أنابيب التحرير من browser-use/video-use. فكرتهم الجوهرية، “الـ LLM لا يشاهد الفيديو أبدًا، بل يقرؤه”، هي ما يجعل التحرير الموجّه بالوكلاء يعمل دون الغرق في توكنات تفريغ الإطارات.

الأوامر والوكلاء والمهارات

يكشف الـ harness عن 19 أمر سير عمل، و10 وكلاء متخصّصين، و7 مهارات إنتاج. أبرزها:
أمر سير العملالغرض
new-seriesإنشاء سلسلة جديدة بجماليات مثبّتة
add-character / lock-characterتثبيت الشخصية + الصوت
workshop-episodeكتابة حلقة بشكل تعاوني
storyboard-episodeعمل لوحة قصصية لحلقة واحدة
produce-episodeخط الأنابيب الكامل في أمر واحد
generate-trailerخط أنابيب ترويج كامل
edit-footageخط أنابيب تحرير قائم على النص للوسائط الموجودة
ingest-screenplayاستيراد سيناريو Fountain أو PDF
الوكيل المتخصّصالدور
art-directorقرارات الجماليات واللوحة اللونية والإضاءة والتكوين
prompt-engineerطلبات صور Venice، واتساق الشخصيات
storyboard-qaفحص جودة اللوحات للاستمرارية والشخصيات
cut-qaبوابة جودة بعد التصيير (6 فحوصات لكل قص، بحد أقصى 3 تكرارات)
overlay-designerرسوميات متحركة بعلامة تجارية، وكلاء فرعيون متوازيون
trailer-curatorاختيار لقطات الترويج وقواعد منع الحرق
مهارة الإنتاجالغرض
venice-apiاستخدام Venice REST API والافتراضيات
venice-video-model-routingتوجيه R2V أولًا، أشجار قرار
character-consistencyإرشادات اتساق الشخصية عبر لقطات متعدّدة
shot-compositionإرشادات تكوين اللقطة والكاميرا
screenplay-parsingسير عمل تحليل السيناريو
video-editingفلسفة التحرير القائم على النص، وتنسيق EDL، وحلقة cut-qa

دورة كاملة مع NLE

بعد التصيير، صدّر الجدول الزمني المُجمَّع كـ XML للتحرير الدقيق في محرّرك المفضّل. كل مقطع فيديو ومقطع حوار ومقطع مؤثر صوتي وموسيقى يحطّ على مساره الخاص.
mini-drama export-timeline -p output/<project> -e 1 --format fcpxml      # Final Cut Pro X
mini-drama export-timeline -p output/<project> -e 1 --format premiere    # Premiere Pro
mini-drama export-timeline -p output/<project> -e 1 --format davinci     # DaVinci Resolve

الاستخدام البرمجي

يمكنك أيضًا استدعاء وحدات الـ harness مباشرة من شيفرة TypeScript الخاصة بك:
import { VeniceClient } from './src/venice/client.js';
import { generateVideo, quoteVideo } from './src/venice/video.js';
import { listVideoModels } from './src/venice/models.js';

const client = new VeniceClient();

const quote = await quoteVideo(client, {
  model: 'kling-v3-pro-image-to-video',
  duration: '8s',
  audio: true,
});
console.log(`Estimated cost: $${quote.quote}`);

const result = await generateVideo(client, {
  model: 'kling-v3-pro-image-to-video',
  prompt: 'A slow dolly shot pushes forward...',
  duration: '8s',
  imageUrl: 'data:image/png;base64,...',
  audio: true,
  outputPath: 'output/shot-001.mp4',
});

const longModels = listVideoModels({ minDurationSec: 20 });

المصادر

GitHub

الشيفرة المصدرية والمشاكل والإصدارات

توليد الفيديو في Venice

الـ API الأساسي الذي يقوده الـ harness

من المرجع إلى الفيديو

دليل R2V لاتساق الشخصيات

Seedance 2.0

عائلة الفيديو الافتراضية للـ harness
مُدار من قِبل المجتمع ويُقدَّم كما هو. للمشاكل الخاصة بالـ harness، أبلغ عنها في مستودع المشروع على GitHub.