As an alternative, it's not a bad idea to first convert each document to markdown via a thinking or agentic LLM. Embedded figures can even be embedded as readable tables or Latex or Mermaid. Do record the name and parameters of the model that performs the conversion. You can then query the markdown using any model with an input token cost that is exactly equal to the encoding of the markdown. For multiple queries you can also use input caching.