@Lucas Malor: Both.
But if you're writing in a language where bindings are available (currently Go, LuaJIT, Python) (or, obviously, C/C++), going the API way is obviously preferred

.
(Especially for stuff like this, since you gain access to fbink_print_raw_data(), which allows you to avoid useless encode/decode/storage passes when you're dealing with dynamic image data).