hi there,
You can exchange your money for Cuban currency at a Cuban bank, and most hotels offer money-exchange services. State-run money exchanges, known as CADECAs are generally cheaper than the banks and airports.
You will also have to pay a more significant surcharge if you are changing dollars, so you might consider bringing Euros instead. You can always pull out your Mastercard or Visa at a good amount of
Cuban attractions, restaurants and such, and though ATM's are available, they can be hard to find outside of the
major cities.
American Express cards will be of little, to no use to you, and you will likely find issue when using a U.S.-issued card.