본관은 언양(彦陽). 초명은 종동(終同). 자는 영중(瑩中), 호는 묵재(默齋). 김상(金賞)의 증손으로, 할아버지는 김약(金躍)이고, 아버지는 선천군사(宣川郡事) 김숙보(金叔甫)이며, 어머니는 서유(徐愈)의 딸이다.
1447년(세종 29) 사마시에 합격하고, 1451년(문종 1) 증광 문과에 정과로 급제, 권지승문원부정자(權知承文院副正字)에 임명되었다. 그러나 처가 장사치의 무늬있는 비단을 훔친 사건에 연루되어 황해도 경천참(敬天站)으로 귀양가서 그 곳 역리(驛吏)가 되었다.
1456년(세조 2) 어머니 (徐氏)의 간청으로 귀양에서 풀려나게 되었다. 1464년(세조 10) 전라도경차관을 거쳐 1465년에는 예조정랑에 이르렀다.
1467년 이시애(李施愛)의 난이 일어나자 구성군(龜城君) 이준(李浚)의 종사관으로 활약한 공으로 정충출기적개공신(精忠出氣敵愾功臣) 2등에 녹훈되고 종부시정(宗簿寺正)에 임명되었다. 이듬해 강원도관찰사로 있을 때, 낙산사의 조성 비용을 민간에서 지나치게 거둬들였다는 혐의를 받아 부호군(副護軍)으로 좌천되었다.
그러나 뒤에 낙산사의 조성 공사가 무사히 끝나자 도리어 논상(論賞)되었다. 성종 1년(1470) 충청도관찰사를 거쳐, 황해도관찰사로 전임되었으나 도적을 잡지 못해 체직되었다. 1475년(성종 6) 영안도관찰사를 역임하고, 1479년 동지중추부사로 천추사(千秋使)가 되어 명나라에 다녀왔으며, 이듬해 언양군(彦陽君)에 봉해졌다.
1481년 전주부윤을 지내고, 1483년 사은사(謝恩使)가 되어 다시 명나라에 다녀왔으며, 1484년 전라도관찰사에 이르렀다. 그림에도 재능이 있었는데 특히 산수화를 잘 그렸다. 시호는 공양(恭襄)이다.