Abstract. Interactive storytelling (IS) is an incipient field that has not been completely formalized yet. There is still a significant amount of research to be done. Especially regarding topics such as how much freedom can be granted to the user to modify the story and what are the effects this freedom will have in the quality of the story. In this paper it is presented an object-oriented expandable API that provides many of the low-level functionality requirements of an interactive storytelling system, so research regarding such topics can be done without worrying about the implementation details. The API includes the capability to present a 3D graphic representation of the of the story world. It has a basic agent class, which already provides NURB-curve-based navigation, bonebased animation and text-to-speech capabilities.