This is a simple Blackmagic Fusion comp that creates a puff of particle smoke. Copy and paste to the Fusion flow.
{ Tools = ordered() { Ellipse1_2_2_1_1_1_1_1 = EllipseMask { CurrentSettings = 2, CustomData = { Settings = { [1] = { Tools = ordered() { Ellipse1 = EllipseMask { Inputs = { ClippingMode = Input { Value = FuID { "None" } }, BorderWidth = Input { Value = 0.135 }, SoftEdge = Input { Value = 0.2 }, Height = Input { Value = 0.359 }, MaskWidth = Input { Value = 1920 }, PixelAspect = Input { Value = { 1, 1 } }, MaskHeight = Input { Value = 1080 }, Width = Input { Value = 0.333 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { -104, 153 } }, CustomData = { } } } } } }, Inputs = { SoftEdge = Input { Value = 0.2, }, BorderWidth = Input { Value = 0.0403, }, MaskWidth = Input { Value = 1920, }, MaskHeight = Input { Value = 1080, }, PixelAspect = Input { Value = { 1, 1 }, }, ClippingMode = Input { Value = FuID { "None" }, }, Width = Input { Value = 0.193, }, Height = Input { Value = 0.193, Expression = "Width", }, }, ViewInfo = OperatorInfo { Pos = { 915.96, 1572.72 } }, }, Ellipse1_2_2_1_1_1_1_2 = EllipseMask { CurrentSettings = 2, CustomData = { Settings = { [1] = { Tools = ordered() { Ellipse1 = EllipseMask { Inputs = { ClippingMode = Input { Value = FuID { "None" } }, BorderWidth = Input { Value = 0.135 }, SoftEdge = Input { Value = 0.2 }, Height = Input { Value = 0.359 }, MaskWidth = Input { Value = 1920 }, PixelAspect = Input { Value = { 1, 1 } }, MaskHeight = Input { Value = 1080 }, Width = Input { Value = 0.333 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { -104, 153 } }, CustomData = { } } } } } }, Inputs = { SoftEdge = Input { Value = 0.2, }, BorderWidth = Input { Value = 0.0403, }, MaskWidth = Input { Value = 1920, }, MaskHeight = Input { Value = 1080, }, PixelAspect = Input { Value = { 1, 1 }, }, ClippingMode = Input { Value = FuID { "None" }, }, Width = Input { Value = 0.1, }, Height = Input { Value = 0.1, Expression = "Width", }, }, ViewInfo = OperatorInfo { Pos = { 750.96, 1605.72 } }, }, FastNoise3_1_1 = FastNoise { CurrentSettings = 3, CustomData = { Settings = { [1] = { Tools = ordered() { FastNoise3 = FastNoise { Inputs = { XScale = Input { Value = 2.7 }, Contrast = Input { Value = 0.908 }, GradientType = Input { Value = 5 }, EffectMask = Input { SourceOp = "Polygon1", Source = "Mask" }, Width = Input { Value = 300 }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } }, Height = Input { Value = 300 }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } } }, GlobalOut = Input { Value = 30 }, Brightness = Input { Value = -0.277 }, SeetheRate = Input { Value = 0.479 }, Detail = Input { Value = 5.44 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } }, CustomData = { } } } }, [2] = { Tools = ordered() { FastNoise3_1_1 = FastNoise { Inputs = { XScale = Input { Value = 11.81 }, Brightness = Input { Value = -0.277 }, Contrast = Input { Value = 0.908 }, Height = Input { Value = 600 }, GradientType = Input { Value = 5 }, EffectMask = Input { SourceOp = "Ellipse1_2_2_1_1_1_1_1", Source = "Mask" }, Width = Input { Value = 600 }, Angle = Input { Value = 15.7 }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } }, Discontinuous = Input { Value = 1 }, Color1Alpha = Input { Value = 1 }, GlobalOut = Input { Value = 30 }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } } }, SeetheRate = Input { Value = 0.75 }, Detail = Input { Value = 5.56 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { 256.197, 1570.16 } }, CustomData = { } } } } } }, Inputs = { Width = Input { Value = 600, }, Height = Input { Value = 600, }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, }, Discontinuous = Input { Value = 1, }, Detail = Input { Value = 5.56, }, Contrast = Input { Value = 0.908, }, Brightness = Input { Value = -0.277, }, XScale = Input { Value = 12.9, }, Angle = Input { Value = 15.7, }, SeetheRate = Input { Value = 0.75, }, Color1Alpha = Input { Value = 1, }, GradientType = Input { Value = 5, }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } }, }, EffectMask = Input { SourceOp = "Ellipse1_2_2_1_1_1_1_1", Source = "Mask", }, }, ViewInfo = OperatorInfo { Pos = { 915.162, 1606.52 } }, }, FastNoise3_1 = FastNoise { CurrentSettings = 2, CustomData = { Settings = { [1] = { Tools = ordered() { FastNoise3 = FastNoise { Inputs = { XScale = Input { Value = 2.7 }, Contrast = Input { Value = 0.908 }, GradientType = Input { Value = 5 }, EffectMask = Input { SourceOp = "Polygon1", Source = "Mask" }, Width = Input { Value = 300 }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } }, Height = Input { Value = 300 }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } } }, GlobalOut = Input { Value = 30 }, Brightness = Input { Value = -0.277 }, SeetheRate = Input { Value = 0.479 }, Detail = Input { Value = 5.44 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } }, CustomData = { } } } } } }, Inputs = { Width = Input { Value = 600, }, Height = Input { Value = 600, }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, }, Detail = Input { Value = 5.44, }, Contrast = Input { Value = 2.023, }, Brightness = Input { Value = -0.277, }, XScale = Input { Value = 2.7, }, SeetheRate = Input { Value = 0.425, }, GradientType = Input { Value = 5, }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } }, }, EffectMask = Input { SourceOp = "Ellipse1_2_2_1_1_1_1", Source = "Mask", }, }, ViewInfo = OperatorInfo { Pos = { 1081.95, 1564.46 } }, }, pEmitter2_1 = pEmitter { ID = 146, Inputs = { RandomSeed = Input { Value = 27329, }, Number = Input { SourceOp = "pEmitter2_1Number", Source = "Value", }, Lifespan = Input { Value = 24, }, Velocity = Input { Value = 1.3, }, AngleVariance = Input { Value = 360, }, AngleZVariance = Input { Value = 360, }, Rotation = Input { Value = 1, }, RotationVariance = Input { Value = 1, }, RotationZVariance = Input { Value = 360, }, SpinVariance = Input { Value = 1, }, SpinZVariance = Input { Value = 5, }, Style = Input { Value = FuID { "ParticleStyleBitmap" }, }, ["ParticleStyle.ColorControls"] = Input { Value = 1, }, ["ParticleStyle.ColorOverLifeControls"] = Input { Value = 1, }, ["ParticleStyle.ColorOverLife"] = Input { Value = Gradient { Colors = { [0.00353356890459364] = { 0, 0, 0, 0 }, [0.0989399293286219] = { 1, 1, 1, 1 } } }, }, ["ParticleStyle.SizeControls"] = Input { Value = 1, }, ["ParticleStyle.Size"] = Input { Value = 1.2, }, ["ParticleStyle.SizeOverLife"] = Input { SourceOp = "pEmitter2SizeoverLife_1", Source = "Value", }, ["ParticleStyle.FadeControls"] = Input { Value = 1, }, ["ParticleStyle.FadeOut"] = Input { Value = 0.256, }, ["ParticleStyle.MergeControls"] = Input { Value = 1, }, ["ParticleStyle.SubtractiveAdditive"] = Input { Value = 0.569, }, ["ParticleStyle.BlurControls"] = Input { Value = 1, }, ["ParticleStyle.BlurOverLife"] = Input { SourceOp = "pEmitter2BluroverLife2D_1", Source = "Value", }, ["ParticleStyleBitmap.DropToolsHere"] = Input { SourceOp = "FastNoise3_1", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1082.94, 1595.48 } }, }, pEmitter2_1Number = BezierSpline { SplineColor = { Red = 233, Green = 206, Blue = 78 }, NameSet = true, KeyFrames = { [0] = { 5, RH = { 1.33333333333333, 3.33333333333333 }, Flags = { Linear = true } }, [4] = { 0, LH = { 2.66666666666667, 1.66666666666667 }, Flags = { Linear = true } } } }, pEmitter2SizeoverLife_1 = LUTBezier { KeyColorSplines = { [0] = { [0] = { 0.1, RH = { 0.105106382978723, 0.682127659574468 }, Flags = { Linear = true } }, [0.95] = { 1, LH = { 0.573052493928638, 0.968261390959546 } } } }, SplineColor = { Red = 192, Green = 128, Blue = 64 }, }, pEmitter2BluroverLife2D_1 = LUTBezier { KeyColorSplines = { [0] = { [0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } }, [1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } } } }, SplineColor = { Red = 192, Green = 128, Blue = 64 }, }, Ellipse1_2_2_1_1_1_1 = EllipseMask { CurrentSettings = 2, CustomData = { Settings = { [1] = { Tools = ordered() { Ellipse1 = EllipseMask { Inputs = { ClippingMode = Input { Value = FuID { "None" } }, BorderWidth = Input { Value = 0.135 }, SoftEdge = Input { Value = 0.2 }, Height = Input { Value = 0.359 }, MaskWidth = Input { Value = 1920 }, PixelAspect = Input { Value = { 1, 1 } }, MaskHeight = Input { Value = 1080 }, Width = Input { Value = 0.333 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { -104, 153 } }, CustomData = { } } } } } }, Inputs = { SoftEdge = Input { Value = 0.2, }, BorderWidth = Input { Value = 0.0403, }, MaskWidth = Input { Value = 1920, }, MaskHeight = Input { Value = 1080, }, PixelAspect = Input { Value = { 1, 1 }, }, ClippingMode = Input { Value = FuID { "None" }, }, Width = Input { Value = 0.193, }, Height = Input { Value = 0.193, Expression = "Width", }, }, ViewInfo = OperatorInfo { Pos = { 1081.95, 1529.48 } }, }, pMerge4 = pMerge { ID = 115, Inputs = { Particles1 = Input { SourceOp = "pEmitter2_1_1", Source = "Output", }, Particles2 = Input { SourceOp = "pEmitter2_1", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1245.96, 1638.72 } }, }, FastNoise3_1_2 = FastNoise { CurrentSettings = 2, CustomData = { Settings = { [1] = { Tools = ordered() { FastNoise3 = FastNoise { Inputs = { XScale = Input { Value = 2.7 }, Contrast = Input { Value = 0.908 }, GradientType = Input { Value = 5 }, EffectMask = Input { SourceOp = "Polygon1", Source = "Mask" }, Width = Input { Value = 300 }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } }, Height = Input { Value = 300 }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } } }, GlobalOut = Input { Value = 30 }, Brightness = Input { Value = -0.277 }, SeetheRate = Input { Value = 0.479 }, Detail = Input { Value = 5.44 } }, CtrlWZoom = false, ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } }, CustomData = { } } } } } }, Inputs = { Width = Input { Value = 600, }, Height = Input { Value = 600, }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, }, Detail = Input { Value = 5.44, }, Contrast = Input { Value = 1.744, }, Brightness = Input { Value = 0.085, }, XScale = Input { Value = 2.7, }, SeetheRate = Input { Value = 0.069, }, GradientType = Input { Value = 5, }, Gradient = Input { Value = Gradient { Colors = { [0] = { 0.622, 0.622, 0.632, 1 }, [1] = { 0.811, 0.816, 0.811, 1 } } }, }, EffectMask = Input { SourceOp = "Ellipse1_2_2_1_1_1_1_2", Source = "Mask", }, }, ViewInfo = OperatorInfo { Pos = { 750.96, 1638.72 } }, }, Merge2 = Merge { Inputs = { Background = Input { SourceOp = "FastNoise3_1_2", Source = "Output", }, Foreground = Input { SourceOp = "FastNoise3_1_1", Source = "Output", }, ApplyMode = Input { Value = FuID { "Overlay" }, }, PerformDepthMerge = Input { Value = 0, }, }, ViewInfo = OperatorInfo { Pos = { 915.96, 1638.72 } }, }, pEmitter2_1_1 = pEmitter { ID = 218, Inputs = { RandomSeed = Input { Value = 7300, }, Number = Input { SourceOp = "pEmitter2_1_1Number", Source = "Value", }, Lifespan = Input { Value = 24, }, VelocityControls = Input { Value = 1, }, Velocity = Input { Value = 1.5, }, VelocityVariance = Input { Value = 0.498, }, AngleVariance = Input { Value = 360, }, AngleZVariance = Input { Value = 360, }, Rotation = Input { Value = 1, }, RotationVariance = Input { Value = 1, }, RotationZVariance = Input { Value = 360, }, SpinVariance = Input { Value = 1, }, SpinZVariance = Input { Value = -15, }, Style = Input { Value = FuID { "ParticleStyleBitmap" }, }, ["ParticleStyle.ColorControls"] = Input { Value = 1, }, ["ParticleStyle.ColorOverLifeControls"] = Input { Value = 1, }, ["ParticleStyle.ColorOverLife"] = Input { Value = Gradient { Colors = { [0.00353356890459364] = { 0, 0, 0, 0 }, [0.0989399293286219] = { 1, 1, 1, 1 } } }, }, ["ParticleStyle.SizeControls"] = Input { Value = 1, }, ["ParticleStyle.Size"] = Input { Value = 1.3, }, ["ParticleStyle.SizeOverLife"] = Input { SourceOp = "pEmitter2_1_1SizeoverLife", Source = "Value", }, ["ParticleStyle.FadeControls"] = Input { Value = 1, }, ["ParticleStyle.FadeOut"] = Input { Value = 0.075, }, ["ParticleStyle.MergeControls"] = Input { Value = 1, }, ["ParticleStyle.SubtractiveAdditive"] = Input { Value = 0.611, }, ["ParticleStyle.BlurControls"] = Input { Value = 1, }, ["ParticleStyle.BlurOverLife"] = Input { SourceOp = "pEmitter2_1_1BluroverLife2D", Source = "Value", }, ["ParticleStyleBitmap.DropToolsHere"] = Input { SourceOp = "Merge2", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1082.94, 1638.72 } }, }, pEmitter2_1_1Number = BezierSpline { SplineColor = { Red = 233, Green = 206, Blue = 78 }, NameSet = true, KeyFrames = { [0] = { 5, RH = { 1.33333333333333, 3.33333333333333 }, Flags = { Linear = true } }, [4] = { 0, LH = { 2.66666666666667, 1.66666666666667 }, Flags = { Linear = true } } } }, pEmitter2_1_1SizeoverLife = LUTBezier { KeyColorSplines = { [0] = { [0] = { 0.1, RH = { 0.105106382978723, 0.682127659574468 }, Flags = { Linear = true } }, [0.95] = { 1, LH = { 0.573052493928638, 0.968261390959546 } } } }, SplineColor = { Red = 192, Green = 128, Blue = 64 }, }, pEmitter2_1_1BluroverLife2D = LUTBezier { KeyColorSplines = { [0] = { [0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } }, [1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } } } }, SplineColor = { Red = 192, Green = 128, Blue = 64 }, }, Note5_1 = Note { Inputs = { Comments = Input { Value = "puff 2\n", } }, ViewInfo = StickyNoteInfo { Pos = { 1309.87, 1542.32 }, Size = { 196, 179.3 } }, }, pFriction2_1 = pFriction { ID = 32, Inputs = { VelocityFriction = Input { SourceOp = "pFriction2_1VelocityFrictionLinear", Source = "Value", }, Input = Input { SourceOp = "pMerge4", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1410.96, 1638.72 } }, }, pFriction2_1VelocityFrictionLinear = BezierSpline { SplineColor = { Red = 246, Green = 164, Blue = 230 }, NameSet = true, KeyFrames = { [0] = { 0, RH = { 3.5, 0.24 }, Flags = { Linear = true } }, [40] = { 0.192, LH = { 24.2424242424242, 0.175030303030303 } } } }, pDirectionalForce2_1 = pDirectionalForce { ID = 79, PassThrough = true, Inputs = { Strength = Input { Value = 0.695, }, Direction = Input { Value = 90, }, Input = Input { SourceOp = "pFriction2_1", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1520.96, 1638.72 } }, }, pRender3_1 = pRender { CtrlWZoom = false, Inputs = { _MotionBlurWarning = Input { Disabled = true, }, Width = Input { Value = 1920, }, Height = Input { Value = 1080, }, ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, }, OutputMode = Input { Value = FuID { "TwoD" }, }, IntegrationMethod = Input { Value = FuID { "RK4" }, }, ["MaterialID.MaterialID"] = Input { Value = 5, }, ["ObjectID.ObjectID"] = Input { Value = 5, }, Translation = Input { Value = 1, }, Rotation = Input { Value = 1, }, Perspective = Input { Value = 0.0692, }, Input = Input { SourceOp = "pDirectionalForce2_1", Source = "Output", }, }, ViewInfo = OperatorInfo { Pos = { 1623.96, 1641.83 } }, } } }