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>