This example shows how to create email copies in Gmail with Google Apps Script and the Gmail API. The requires requires authorization with the scope https://mail.google.com/ for reading Gmail drafts and composing new ones.
The uploadType is set to media and that will create the Gmail draft in a single HTTP request. However, if you are create a draft that includes big attachment, you may have to set the upload type as resumable to create the draft in at least two requests.
function duplicateGmailDrafts(count, draftId) {
  try {
    var draft = GmailApp.getMessageById(draftId);
    if (draft === null) {
      return 'Sorry, the draft message was not found. Please reload this page and try again.';
    }
    var gmailAPI = 'https://www.googleapis.com/upload/gmail/v1/users/me/drafts?uploadType=media';
    var params = {
      method: 'POST',
      contentType: 'message/rfc822',
      muteHttpExceptions: true,
      headers: {
        Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
      },
      payload: draft.getRawContent(),
    };
    for (var i = 0; i < count; i++) {
      UrlFetchApp.fetch(gmailAPI, params);
    }
    return 'Drafts Created';
  } catch (f) {
    return 'Error: ' + f.toString();
  }
} 
  
  
  
  
 