Files
video-gen/video-gen-api/app/enums/model_pricing.py
T

115 lines
3.7 KiB
Python

from __future__ import annotations
from enum import Enum
class ModelPricingProvider(str, Enum):
VOLCENGINE = "volcengine"
class ModelPricingCategory(str, Enum):
TEXT = "text"
IMAGE = "image"
VIDEO = "video"
class ModelPricingBillingMode(str, Enum):
TEXT_TOKEN_TIERED = "text_token_tiered"
IMAGE_PER_OUTPUT = "image_per_output"
IMAGE_INPUT_OUTPUT_TIERED = "image_input_output_tiered"
VIDEO_TOKEN_RATE = "video_token_rate"
class ModelPricingCalculatorVersion(str, Enum):
TEXT_TOKEN_TIERED_V1 = "text_token_tiered_v1"
IMAGE_PER_OUTPUT_V1 = "image_per_output_v1"
IMAGE_INPUT_OUTPUT_TIERED_V1 = "image_input_output_tiered_v1"
VIDEO_PIXEL_TOKEN_V1 = "video_pixel_token_v1"
class ModelPricingRuleStatus(str, Enum):
DRAFT = "draft"
PUBLISHED = "published"
DISABLED = "disabled"
class ProviderCostStatus(str, Enum):
NOT_APPLICABLE = "not_applicable"
NOT_INCURRED = "not_incurred"
PENDING = "pending"
CALCULATED = "calculated"
ESTIMATED = "estimated"
UNMATCHED_RULE = "unmatched_rule"
USAGE_MISSING = "usage_missing"
ERROR = "error"
PROVIDER_RESULT_UNCERTAIN = "provider_result_uncertain"
HISTORICAL_PRICE_UNAVAILABLE = "historical_price_unavailable"
HISTORICAL_ENGINE_UNAVAILABLE = "historical_engine_unavailable"
class PricingUsageSource(str, Enum):
PROVIDER = "provider"
PROVIDER_RESPONSE = "provider_response"
REQUEST_FORMULA = "request_formula"
ENGINE_SNAPSHOT = "engine_snapshot"
PRICING_RULE_MAP = "pricing_rule_map"
BACKFILL = "backfill"
MANUAL = "manual"
UNAVAILABLE = "unavailable"
class PricingSnapshotStage(str, Enum):
REQUEST_LOCKED = "request_locked"
PROVIDER_SYNC_COMPLETED = "provider_sync_completed"
PROVIDER_ASYNC_COMPLETED = "provider_async_completed"
RESOURCE_DOWNLOAD_COMPLETED = "resource_download_completed"
BACKFILL = "backfill"
class PricingDimensionSource(str, Enum):
PROVIDER_RESPONSE = "provider_response"
REQUEST_EXPLICIT = "request_explicit"
ENGINE_SNAPSHOT = "engine_snapshot"
PRICING_RULE_MAP = "pricing_rule_map"
UNAVAILABLE = "unavailable"
class PricingBillBy(str, Enum):
SUCCESSFUL_OUTPUT_COUNT = "successful_output_count"
REQUESTED_OUTPUT_COUNT = "requested_output_count"
PROVIDER_BILLED_COUNT = "provider_billed_count"
class PricingInferenceMode(str, Enum):
ONLINE = "online"
FLEX = "flex"
BATCH = "batch"
MODEL_PRICING_BILLING_MODE_LABELS = {
ModelPricingBillingMode.TEXT_TOKEN_TIERED.value: "文本分档 Token 计价",
ModelPricingBillingMode.IMAGE_PER_OUTPUT.value: "图片按输出数量计价",
ModelPricingBillingMode.IMAGE_INPUT_OUTPUT_TIERED.value: "输入图片 + 输出像素分档计价",
ModelPricingBillingMode.VIDEO_TOKEN_RATE.value: "视频像素 Token 计价",
}
MODEL_PRICING_RULE_STATUS_LABELS = {
ModelPricingRuleStatus.DRAFT.value: "草稿",
ModelPricingRuleStatus.PUBLISHED.value: "已发布",
ModelPricingRuleStatus.DISABLED.value: "已停用",
}
PROVIDER_COST_STATUS_LABELS = {
ProviderCostStatus.NOT_APPLICABLE.value: "不涉及供应商成本",
ProviderCostStatus.NOT_INCURRED.value: "供应商费用未发生",
ProviderCostStatus.PENDING.value: "待核算",
ProviderCostStatus.CALCULATED.value: "已核算",
ProviderCostStatus.ESTIMATED.value: "估算",
ProviderCostStatus.UNMATCHED_RULE.value: "未匹配价格",
ProviderCostStatus.USAGE_MISSING.value: "用量缺失",
ProviderCostStatus.ERROR.value: "核算异常",
ProviderCostStatus.PROVIDER_RESULT_UNCERTAIN.value: "供应商结果不确定",
ProviderCostStatus.HISTORICAL_PRICE_UNAVAILABLE.value: "历史价格缺失",
ProviderCostStatus.HISTORICAL_ENGINE_UNAVAILABLE.value: "历史引擎缺失",
}