| 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, |
| }; |
| } |
|
|