1. An apparatus for generating a playlist, comprising: a processor coupled to a memory operable to function as: an application programming interface (API) operable to receive a request to generate a playlist, the request including a set of rule-primitives; and a playlist engine evaluator operable to: evaluate a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content; calculate a cost associated with each item in the catalog of media content; and generate a playlist based on the items of the catalog having the lowest costs.