In 1992, he was nominated for a Young Artist Award as an "Outstanding Actor Under Ten in a Television Series" for his work on Hearts Afire. In February 2008, he starred in Volume 2 of the web video series Drunk History with Jack Black, which can be found on YouTube. Michael Cera had appeared in the previous episode, Drunk History, Volume 1.
In 2008, Duke had his first co-starring film role in Sex Drive. He co-starred with Eddie Murphy in A Thousand Words, which was completed in 2008 but remained unreleased until 2012. He appeared in Kick-Ass with Aaron Taylor-Johnson and Nicolas Cage, and played Jacob, the nephew of Adam Yates (John Cusack) in Hot Tub Time Machine. He voiced Thunk in the 2013 animated film, The Croods.
In 2010, he had a cameo in a Kid Cudi music video, "Erase Me".
He also appeared as Clark in the ninth and final season of the American version of The Office. He reprised his role from Kick-Ass in its sequel Kick-Ass 2, released August 2013.