I am using kanban methodology to manage the flow of a project. However, when new specifications come up, there is some variability in them, meaning that some of them can take 3-4 days while others can take 3-4 hours. I am struggling to find a way in JIRA to add estimates so the throughput and lead/cycle time can be more predictable (value points delivered per week or similar). Is there any way around this?
Don't worry about Jira, it doesn't have any magical ability to take your estimates and use them to predict throughput or lead times.
Throughput is simply the number of tickets closed per week or whatever, you don't predict it, you measure it.
Lead times can be measured. Average lead times per service class or size class can be used to predict lead times for individual items.
For predicting lead times, just use your estimates. Estimates and predictions are the same thing. If you are estimating that a ticket might take 2 days, what you expect Jira to take that 2 days and predict lead time of 2 days? You already predicted it!
The Jira control chart will give you the average cycle time which will take into account the variability in ticket size.
If you want to make more sophisticated calculations you could also use the Jira API to extract data from your board and then manipulate it.
Another approach would be to look to make your tickets more evenly sized. For example by trying to break down the larget tickets.