In changing his plea, Corey Monroe McKinney said he had expected his trial "to be a little more like TV, with a little more defense," The Kansas City (Mo.) Star reported Wednesday.
McKinney told U.S. District Judge Greg Kays he had been slow to make up his mind because his previous attorneys had been slow to show him the evidence.
McKinney was being tried on charges he blackmailed a man he had videotaped having sex with a 16-year-old girl.
He told the judge he had had sex with the girl since she was 14 and that he hatched the blackmail scheme to pay for brakes for his car.
McKinney, 36, pleaded guilty to one count of production of child pornography and one count of sex trafficking of a child.