Casali, 32, hit .224 with six homers and eight RBIs in 31 games and 93 plate appearances last year, when he earned $541,667 in prorated pay from a $1,462,500 salary. Reds pitchers were 14-11 with a 3.68 ERA in his starts.
Casali has a .230 average, 37 homers and 105 RBIs in seven major league seasons with Tampa Bay (2014-17) and Cincinnati (2018-20).
San Francisco opened a roster spot by unconditionally releasing left-hander Andrew Suarez, whose rights were sold to South Korea's LG Twins.
Casali can earn $500,000 in roster bonuses, either $500,000 for making the Opening Day active roster or $125,000 apiece for 30, 60, 90 and 120 days on the active roster.