I have a problem with the definition of exact sequences in non-necessarily abelian categories. In this nLab page it is written that exact sequences can be defined in semi-abelian categories. My problem is: how can one claim that if $g\circ f=0$ then $\mathrm{im}(f)\subseteq \ker(g)$ (or even just that there exists a canonical morphism $\mathrm{im}(f)\to\ker(g)$)?
Let me explain in more detail: if $$ a\stackrel{f}{\longrightarrow} b\stackrel{g}{\longrightarrow} c $$ and $g\circ f=0$ in a semi-abelian category $\mathcal{A}$, then there exists a unique $\tilde{f}:a\to\ker(g)$ such that $k_g\circ \tilde{f}=f$, where $k_g:\ker(g)\to b$. Write $k_f:\ker(f)\to a$. Since $k_g$ is monic, $$ 0=f\circ k_f = k_g\circ \tilde{f}\circ k_f $$ implies that $\tilde{f}\circ k_f = 0$ and hence there exists a unique morphism $\hat{f}:\mathrm{coim}(f)\to \ker(g)$ such that $\hat{f}\circ c_{k_{f}} = \tilde{f}$, where $c_{k_f}:a\to \mathrm{coker}(k_f)=\mathrm{coim}(f)$. Now, without knowing that $\mathrm{coim}(f)\cong \mathrm{im}(f)$, how do I relate $\mathrm{im}(f)$ and $\ker(g)$?
I tried a different approach as well. In a semi-abelian category we have the canonical decomposition $$ a\stackrel{c_{k_f}}{\longrightarrow} \mathrm{coim}(f) \stackrel{\bar{f}}{\longrightarrow} \mathrm{im}(f) \stackrel{k_{c_f}}{\longrightarrow} b, $$ where $c_f:b\to \mathrm{coker}(f)$ and $k_{c_f}:\ker(c_f)=\mathrm{im}(f) \to b$. Since $g\circ f=0$ and $c_{k_f}$ is epi, we deduce that $g\circ k_{c_f} \circ \bar{f} = 0$, but again: without knowing that $\bar{f}$ is at least epi, how do I relate $\mathrm{im}(f)$ and $\ker(g)$?