L1 spline fits are a class of spline models that have shown advantages in approximating irregular and multiscale data. This paper investigates the knot placement problem of L1 spline fits under two scenarios. If the number of knots is given, we propose an augmented Lagrangian method to solve the bilevel L1 spline fit problem and consequently, optimize the knot locations. In addition, if the knot number is also free, we propose a heuristic method to adaptively determine the knot number and locations. Numerical experiments show that L1 spline fits with free knots can better approximate data than L1 spline fits with pre-specified knots while requiring fewer knots and less input from the user. Comparison with state-of-the-art least square B-spline models shows that L1 spline fits can approximate data with comparable squared error and significantly smaller absolute error.