Enzyme kinetic constants in vivo are largely unknown, which limits the construction of large metabolic models. In theory, kinetic constants can be fitted to measured metabolic fluxes, metabolite concentrations, and enzyme concentrations, but these estimation problems are typically non-convex. This makes them hard to solve, especially if models are large. Here I assume that the metabolic fluxes are given and show that consistent kinetic constants, metabolite levels, and enzyme levels can then be found by solving a convex optimality problem. If logarithmic kinetic constants and metabolite concentrations are used as free variables and if Gaussian priors are employed, the posterior density is strictly convex. The resulting estimation method, called model balancing, can employ a wide range of rate laws, accounts for thermodynamic constraints on parameters, and considers the dependences between flux directions and metabolite concentrations through thermodynamic forces. It can be used to complete and adjust available data, to estimate in-vivo kinetic constants from omics data, or to construct plausible metabolic states with a predefined flux distribution. To demonstrate model balancing and to assess its practical use, I balance a model of E. coli central metabolism with artificial or experimental data. The tests show what information about kinetic constants can be extracted from omics data and reveal practical limits of estimating kinetic constants in vivo.Large models have been parameterised [21,22], and pipelines for model parameterization have been developed [23,24]. Finally, even if parameters are unknown, methods for parameter sampling and ensemble modelling allow to find plausible parameter sets [25] and to draw conclusions about possible dynamic behaviour [26].The key problem here is to obtain realistic, consistent values of kinetic constants. In-vivo values are hard to measure, and in-vitro values as proxies may be unreliable -or at least, this is hard to assess unless in-vivo values are known. So how can we infer model parameters from omics data? To obtain realistic model parameters and metabolic states, various types of measurement data must be combined. In an ideal case, in which kinetic constants and enzyme concentrations are precisely known, metabolite levels and fluxes could be computed by simulating the model. In another ideal case, in which enzyme levels, metabolite levels and fluxes are precisely known for a number of states, we can solve for the kinetic constants. In reality, we are in between these two cases: data of different types are available, but these data are incomplete and too noisy to be used directly in models. In practice, in model construction we may have different aims, for example (i) finding consistent kinetic constants in plausible ranges; (ii) adjusting and completing a data set of measured kinetic constants to obtain consistent model parameters; (iii) estimating in-vivo kinetic constants from omics data (measured enzyme levels, metabolite levels, and fluxes); (iv) completing and adju...