본관은 토산(兎山). 충렬왕 때 찬성사를 지낸 김부윤(金富允)의 아들이다. 장인은 궁중에서 일하는 낮은 관원[內豎]이었다.
충렬왕 때 호군(護軍)을 지냈으며, 1305년(충렬왕 31) 왕이 원나라에 입조하러 갈 때 수행하였다가, 이듬해 진양필(秦良弼)을 밀직부사로, 노영수(盧穎秀)·채종린(蔡宗璘)을 좌승지로, 박려(朴呂)를 우승지로 삼는다는 충렬왕의 인사발령장을 가지고 귀국하였다. 1328년(충숙왕 15) 군부판서 응양군 상호군(軍簿判書鷹揚軍上護軍)에 제수되었다.