16 lines
867 B
TypeScript
16 lines
867 B
TypeScript
export const SEEDREAM_50_PRO_MODEL = "doubao-seedream-5-0-pro-260628";
|
|
|
|
export function calculateSeedreamAmountFen(input: {
|
|
outputPriceFen: number;
|
|
referenceImageCount: number;
|
|
markupMultiplier: number;
|
|
}): number {
|
|
if (!Number.isFinite(input.outputPriceFen) || input.outputPriceFen <= 0) throw new Error("Seedream 输出价格必须大于 0。");
|
|
if (!Number.isInteger(input.referenceImageCount) || input.referenceImageCount < 0 || input.referenceImageCount > 10) {
|
|
throw new Error("Seedream 参考图数量必须在 0 到 10 之间。");
|
|
}
|
|
if (!Number.isFinite(input.markupMultiplier) || input.markupMultiplier < 1) throw new Error("Seedream 上浮倍率不能低于 1.00。");
|
|
const extraInputPriceFen = Math.max(0, input.referenceImageCount - 1) * 2;
|
|
return Math.ceil((input.outputPriceFen + extraInputPriceFen) * input.markupMultiplier);
|
|
}
|