My image cannot upload on cloudinary with restApi in node.js?

I have a restApi of registerUser which creates the user but the issue is that when I target my Api my avatar image cannot upload to the cloudinary so when its not upload to the cloudinary so no public_id and secure_url generate so beacause of this my backend generates an error

:typeerror::cannot convert the undefined or null to object.

I cant find any solution
here is my my Rest Api

const catchAsyncError = require("../middleware/catchAsyncError");
const ErrorHandler = require("../utils/errorhandler");
//const ErrorHandler = require("../middleware/error.js");
const User=require("../models/userModel");
const sendToken=require("../utils/Jwttoken");
const sendEmail=require("../utils/sendEmail")
const crypto=require('crypto')
const cloudinary=require("cloudinary").v2;


exports.registerUser = catchAsyncError(async (req, res, next) => {
  console.log("B1");
  console.log(req.body.avatar);
  let myCloud
   myCloud = await cloudinary.uploader.upload(req.body.avatar, {
    folder: avatars,
    width: 150,
    crop: "scale",
   
  });
  
  /*let myCloud= []; 
 let PID; 
 let PURL; 
   if(req.body.avatar.length > 100){ 
  
     myCloud = await cloudinary.v2.uploader.upload(req.body.avatar,{ 
       folder:"avatars", 
       width:750, 
       crop:"scale", 
     }) 
   } 
   if(req.body.avatar.length > 100){ 
     PID = myCloud.public_id; 
     PURL = myCloud.secure_url; 
   } 
   else{ 
     PID  = "HelloGuys" 
     PURL  = req.body.avatar; 
   }*/
  console.log("B2");
  const { name, email, password } = req.body;
  
  console.log(name);
  console.log(email);
  console.log(password);
 

  const user = await User.create({
    name,
    email,
    password,
    avatar:{
      public_id:myCloud.public_id,
      url:myCloud.secure_url
  }
   
  });
  console.log("B3");
  sendToken(user, 201, res);
});