feat(openai): 同步生图 API 支持并接入图片计费调度
- 同步 OpenAI 图片生成与编辑接口 - 接入图片请求解析、账号调度、转发与用量记录 - 接入图片计费与图片用量落库 - 限制 OAuth 生图仅支持无显式模型和尺寸的基础请求
This commit is contained in:
@@ -61,6 +61,25 @@ type PricingInput struct {
|
||||
// 1. 获取基础定价(LiteLLM → Fallback)
|
||||
// 2. 如果指定了 GroupID,查找渠道定价并覆盖
|
||||
func (r *ModelPricingResolver) Resolve(ctx context.Context, input PricingInput) *ResolvedPricing {
|
||||
var chPricing *ChannelModelPricing
|
||||
if input.GroupID != nil && r.channelService != nil {
|
||||
chPricing = r.channelService.GetChannelModelPricing(ctx, *input.GroupID, input.Model)
|
||||
if chPricing != nil {
|
||||
mode := chPricing.BillingMode
|
||||
if mode == "" {
|
||||
mode = BillingModeToken
|
||||
}
|
||||
if mode == BillingModePerRequest || mode == BillingModeImage {
|
||||
resolved := &ResolvedPricing{
|
||||
Mode: mode,
|
||||
Source: PricingSourceChannel,
|
||||
}
|
||||
r.applyRequestTierOverrides(chPricing, resolved)
|
||||
return resolved
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 1. 获取基础定价
|
||||
basePricing, source := r.resolveBasePricing(input.Model)
|
||||
|
||||
@@ -72,7 +91,10 @@ func (r *ModelPricingResolver) Resolve(ctx context.Context, input PricingInput)
|
||||
}
|
||||
|
||||
// 2. 如果有 GroupID,尝试渠道覆盖
|
||||
if input.GroupID != nil {
|
||||
if chPricing != nil {
|
||||
resolved.Source = PricingSourceChannel
|
||||
r.applyTokenOverrides(chPricing, resolved)
|
||||
} else if input.GroupID != nil {
|
||||
r.applyChannelOverrides(ctx, *input.GroupID, input.Model, resolved)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user