Joe Gordon, a used car salesman from Colorado who was born in Thailand, admitted lese-majeste, or insulting the king, at an earlier hearing.
He was sentenced to five years in jail, but the judges halved the term because of his guilty plea.
The US consul general in Thailand said the sentence was “severe”.
“He was given the sentence for his right of expression,” Elizabeth Pratt told reporters.
“We continue to respect the Thai monarchy but we also support the right of expression which is internationally recognised as a human right.”
Activists say the lese-majeste law has become increasingly politicised, and is used as a tool of repression rather than as a way of protecting the monarchy.
He was arrested in May when he visited Thailand for medical treatment.
Foreigners convicted of lese majeste are routinely pardoned and deported shortly after being sentenced.
Prosecutions under the law have increased dramatically in recent years, amid chronic political instability.