SetDirectory[NotebookDirectory[]]

ClearAll[r,R,S,I0];
beta= 0.0005;v=.05;
ic={S[0]==1000,I0[0]==1,R[0]==0};
eq1=S'[t]==-beta S[t] I0[t];
eq2=I0'[t]==beta*S[t] I0[t]-v I0[t];
eq3=R'[t]==v*I0[t];
sol=NDSolve[{eq1,eq2,eq3,ic},{S,I0,R},{t,0,60}]

Manipulate[
Module[{ic,eq1,eq2,eq3,S,R,I0,t,sol},
ic={S[0]==1000,I0[0]==1,R[0]==0};
eq1=S'[t]==-beta S[t]*I0[t];
eq2=I0'[t]==beta*S[t] I0[t]-v I0[t];
eq3=R'[t]==v*I0[t];
sol=NDSolve[{eq1,eq2,eq3,ic},{S,I0,R},{t,0,60}];
Grid[{{Grid[{{"Transmission rate (beta)  ",NumberForm[beta,{4,4}]},{"Recovery rate (v) ",NumberForm[v,{3,3}]}}]},
{Plot[{
Evaluate[S[t]/.sol],
Evaluate[I0[t]/.sol],
Evaluate[R[t]/.sol]
},
{t,0,60},
PlotLegends->{"susceptible","Infected","Recovered"},
PlotStyle->{Blue,Red,Green},GridLines->Automatic,GridLinesStyle->LightGray,
AxesLabel->{"Time (days)","Population size"},ImageSize->500]
}}]
],
{{beta,0.0005,"Transmission rate (beta)"},0.0001,0.003,0.0001,Appearance->"Labeled"},
{{v,0.05,"Recovery rate (v)"},0.001,0.4,0.001,Appearance->"Labeled"},
TrackedSymbols:>{beta,v}
]

process[beta_,v_]:=Module[{ic,eq1,eq2,eq3,S,R,I0,t},
ic={S[0]==1000,I0[0]==1,R[0]==0};
eq1=S'[t]==-beta S[t]*I0[t];
eq2=I0'[t]==beta*S[t] I0[t]-v I0[t];
eq3=R'[t]==v*I0[t];
sol=NDSolve[{eq1,eq2,eq3,ic},{S,I0,R},{t,0,60}];
Grid[{{Grid[{{"Transmission rate (beta)  ",NumberForm[beta,{4,4}]},{"Recovery rate (v) ",NumberForm[v,{3,3}]}}]},
{Plot[{
Evaluate[S[t]/.sol],
Evaluate[I0[t]/.sol],
Evaluate[R[t]/.sol]
},
{t,0,60},
PlotLegends->{"susceptible","Infected","Recovered"},
PlotStyle->{Blue,Red,Green},GridLines->Automatic,GridLinesStyle->LightGray,
AxesLabel->{"Time (days)","Population size"},ImageSize->500]
}}]
];
tab1=Table[process[beta,0.05],{beta,0.0002,0.003,0.00005}];

Export["anim1.gif",tab,"DisplayDurations"->0.6]

tab2=Table[process[0.0005,v],{v,0.001,0.35,0.001}];

Length[tab2]

Export["anim2.gif",tab2,"DisplayDurations"->0.6]