ml-intern / frontend /src /utils /inferenceBilling.ts
lewtun's picture
lewtun HF Staff
Implement user-billed model policy (#289)
ded9881 unverified
Raw
History Blame Contribute Delete
1.38 kB
export const INFERENCE_PROVIDERS_PRICING_URL = 'https://huggingface.co/docs/inference-providers/pricing';
export const HF_PRO_SUBSCRIBE_URL = 'https://huggingface.co/subscribe/pro';
export type PlanTier = 'free' | 'pro';
export function isInferenceCreditError(error: string | undefined, errorType?: string): boolean {
if (errorType === 'credits') return true;
const value = (error ?? '').toLowerCase();
return (
value.includes('402') ||
(value.includes('credit') && (
value.includes('insufficient') ||
value.includes('exhausted') ||
value.includes('out of') ||
value.includes('billing')
))
);
}
export function inferenceCreditCta(plan: PlanTier | undefined) {
if (plan === 'pro') {
return {
title: 'Inference credits exhausted',
message: 'Your HF account needs more Inference Providers credits before this model can continue.',
primaryLabel: 'View pricing',
primaryHref: INFERENCE_PROVIDERS_PRICING_URL,
secondaryLabel: null,
secondaryHref: null,
};
}
return {
title: 'Inference credits exhausted',
message: 'Upgrade to HF PRO for more monthly Inference Providers usage, or review pay-as-you-go pricing.',
primaryLabel: 'Upgrade to PRO',
primaryHref: HF_PRO_SUBSCRIBE_URL,
secondaryLabel: 'View pricing',
secondaryHref: INFERENCE_PROVIDERS_PRICING_URL,
};
}