Except if the canister is controller-less / gets in the whitelist; I don’t see a trust-less solution to convert them to cycles.
Here is cycles minting canister source code ( ic/main.rs at master · dfinity/ic · GitHub ); and you will need to have this canister calls send_dfx
then notify_dfx
pattern;
Maybe there’s a solution with subaccounts?