يطبق هذا سير العمل نقل أسلوب متسق إطارًا بإطار على أي فيديو إدخال باستخدام نموذج تحرير الصور Flux.2 Klein 4b Distilled. يفك ترميز الفيديو عبر LoadVideo ويقرأ الدقة وFPS عبر GetVideoComponents، ثم يستخدم VHS_SelectEveryNthImage لتحديد كثافة معالجة الإطارات (كل إطار، أو كل N إطار للتسريع). يتم تنظيم الإطارات باستخدام ImpactImageBatchToImageList بحيث يمكن إقران كل صورة بمطالبة لكل إطار.
يتم توليد مطالبات الأسلوب ومحاذاتها مع الإطارات عبر خط أنابيب صغير للمطالبات: يمكن لـ GeminiNode صياغة سطور نقل أسلوب وفقًا لملاحظات المؤلف، ثم تقوم RegexReplace بتنظيف النص وتوحيده (مثل إزالة الترقيم وفرض عبارة "the source frame")، وتوزّع FL_PromptMulti مطالبة واحدة لكل إطار ضمن دورة تكرار. يتم تمرير كل إطار ومطالبته المقابلة إلى عقدة تحرير Flux.2 Klein 4b (نموذج تحرير الصور Flux.2 Klein 4b Distilled) لإنتاج صورة مُنمّقة مع الحفاظ على بنية إطار المصدر. تُعاد تعبئة الصور المعالجة عبر ImageListToImageBatch، وتُحوّل إلى فيديو باستخدام CreateVideo (مع مطابقة FPS الأصلي من GetVideoComponents)، وتُعاين عند الحاجة عبر PreviewAny، ثم تُكتب إلى القرص باستخدام SaveVideo.
API
استخدم سير العمل هذا من الكود
كل سير عمل في Comfy هو رسم بياني بصيغة JSON. الحمولة أدناه هي هذا سير العمل بالضبط كما يشغله ComfyUI — يمكنك جلبه من الرابط، حفظه في نظام التحكم بالإصدارات، أو تحميله في ComfyUI وتشغيله عقدة تلو الأخرى.
شغّله من TypeScript أو Python باستخدام Comfy SDK. نفس الكود يعمل على Comfy Cloud أو ComfyUI الذي تستضيفه بنفسك — فقط عنوان URL الأساسي يتغير.
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");يأخذ SDK سير العمل بصيغة API: افتح هذا سير العمل في ComfyUI واستخدم ملف → تصدير سير العمل (API).
يتطلب الوصول إلى Comfy Cloud API خطة تتضمن مفتاح API.
الأسئلة الشائعة














