Generate

<form id="customProductForm">

  <!-- Product ID (IMPORTANT) -->
  <input type="hidden" name="id" value="{{ product.variants.first.id }}">

  <!-- Dropdown -->
  <label>Type</label>
  <select name="properties[Type]" id="type">
    <option value="Cartoon">Cartoon</option>
    <option value="Portrait">Portrait</option>
    <option value="Funny">Funny</option>
  </select>

  <!-- Input A -->
  <label>Input A</label>
  <input type="text" name="properties[Input A]" id="inputA">

  <!-- Input B -->
  <label>Input B</label>
  <input type="text" name="properties[Input B]" id="inputB">

  <!-- Image Uploads -->
  <label>Upload Image 1</label>
  <input type="file" id="image1">

  <label>Upload Image 2</label>
  <input type="file" id="image2">

  <!-- Hidden fields to store uploaded URLs -->
  <input type="hidden" name="properties[Image 1 URL]" id="image1Url">
  <input type="hidden" name="properties[Image 2 URL]" id="image2Url">

  <button type="submit">Add to Cart</button>

</form>

Contact form