We don't want to save BASE64 encoded image data into database

Sure, that should be no problem. The reason Prodigy does this by default is to make sure that the annotations and data are always aligned and you don’t use any information or references to the original image.

The easiest and most flexible solution would probably be to format your input data to use absolute paths or URLs to your images and don’t use any of Prodigy’s image loaders or pre-processors in your recipe that convert the data to base64. If you have a lot of images, you might want to use something like an S3 bucket to make them available. Your data could then look something like this:

{"image": "https://path-to-your-bucket/image.jpg"}

Alternatively, you can also write a workaround that lets you customise the data that’s stored in the database, and strip out the base64 data or replace it with a reference to the image. See the comments on this thread for details and examples.