In a bowl, mix the palm oil or vegetable oil with the finely chopped onion, minced garlic, chopped tomatoes, bell pepper, tomato paste, ground crayfish (if using), paprika, dried thyme, ground black pepper, and salt.
Rub the marinade all over the fish, making sure to get it inside the cavity. Allow the fish to marinate for at least 30 minutes, or longer if possible, to absorb the flavors.
Place each piece of marinated fish in the center of a banana leaf square. Fold the leaves over the fish to completely enclose it. Secure with kitchen twine or toothpicks if necessary. If using aluminum foil, wrap the fish tightly.
Preheat your grill or oven to medium heat.
Place the wrapped fish on the grill or in the oven. Grill or bake for about 30-40 minutes, turning occasionally, until the fish is cooked through and flaky. The banana leaves or foil will help infuse the fish with flavor and keep it moist.
Carefully unwrap the fish and transfer it to a serving plate. Serve hot with a side of rice, plantains, or a fresh salad.
Enjoy your meal!