The contract is worth $3.15 million, a source told ESPN's Jeff Passan.
Velasquez, 30, was 3-3 with a 4.78 ERA in 75⅓ innings over 27 appearances for the Chicago White Sox last season, including nine starts.
It is unclear if the Pirates view Velasquez as a starter or reliever, but general manager Ben Cherington said Monday at the winter meetings that the Pirates have enough space in their budget to add two starting pitchers this offseason.
Velasquez has started for most of his career, making 136 starts.
He is 34-47 with a 4.93 ERA in 183 appearances over eight major league seasons.