Cannot invoke remote function Access.get/2 inside guards

I have this form

                    <%= form_for @conn, Routes.admin_products_path(@conn, :create_product), [as: :create_product, id: "product-form", class: "mt-5 mb-5 login-input", method: :post, multipart: :true], fn f -> %>

                            <div class="form-group">
                                <%= text_input f, :name, placeholder: "Name", class: "form-control" %>
                            </div>
                            <div class="form-group">
                                <%= text_input f, :description, placeholder: "Description", class: "form-control" %>
                            </div>

                            <h4 class="card-title">Image Upload</h4>
                            <div class="form-group">
                                <%= file_input f,  :image_files, name: "create_product[images][]", multiple: true, class: "form-control", placeholder: "Upload Image" %>
                            </div>


                            <h4 class="card-title">Video Upload</h4>
                            <div class="form-group">
                                <%= file_input f, :video_files, name: "create_product[videos][]", multiple: true, class: "form-control", placeholder: "Upload Image" %>
                            </div>

                        <br/><br/>
                        <input type="submit" value="Save" class="btn btn-dark mb-2" />
                    <% end %>

I have this three function to filter and process through Guard

def create_product(conn, %{"create_product" => product_params}) when is_list(product_params["images"]) == true and is_list(product_params["videos"]) == true do


def create_product(conn, %{"create_product" => product_params}) when is_list(product_params["images"]) == true and is_list(product_params["videos"]) == false do


  def create_product(conn, %{"create_product" => product_params}) when is_list(product_params["images"]) == false and is_list(product_params["videos"]) == true do

Below is my inspect output

%{
  "description" => "sdfdf",
  "images" => [
    [
      %Plug.Upload{
        content_type: "image/jpeg",
        filename: "deuteronomy-2223-eggstransvestite-transvestism-cross-dressing-cult-prostitutes-lost-and-found-35-638.jpg",
        path: "/tmp/plug-1586/multipart-1586529347-447222130427589-1"
      }
    ]
  ],
  "name" => "Sony"
}

I can see this error is due to accessing product_params["images"].
Can anyone give me insight on how to solve this? Or is there any better way to filter this. Your help is greatly appreciated