1
This commit is contained in:
@@ -26,6 +26,10 @@ from app.services.generation.ai.engine_service import (
|
||||
parse_json_list as _parse_list,
|
||||
)
|
||||
from app.services.generation.billing_service import OWNER_CHAT_GENERATION_TASK, charge_generation_media_by_params
|
||||
from app.services.generation.media_reference_service import (
|
||||
calculate_media_reference_usage,
|
||||
validate_media_reference_usage_for_engine,
|
||||
)
|
||||
from app.services.resource_capacity_service import assert_user_resource_capacity_available
|
||||
from app.services.video_upscale.snapshot_service import build_video_upscale_snapshot
|
||||
from app.services.private_portrait.reference_resolver import resolve_private_portrait_references
|
||||
@@ -111,6 +115,8 @@ async def create_chat_generation_task_for_module(
|
||||
raise HTTPException(status_code=400, detail=f"图片比例不支持: {proportion}")
|
||||
px = px or normalize_px((sizes.get(size) or {}).get(proportion))
|
||||
px = px or IMAGE_DEFAULT_PX
|
||||
reference_usage = calculate_media_reference_usage(refs, include=True)
|
||||
validate_media_reference_usage_for_engine(reference_usage, gen_type="image", engine=engine)
|
||||
media_billing = await charge_generation_media_by_params(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
@@ -118,6 +124,7 @@ async def create_chat_generation_task_for_module(
|
||||
gen_type="image",
|
||||
image_size=size,
|
||||
engine_id=engine.id,
|
||||
input_image_count=reference_usage.image_count or None,
|
||||
project_name=billing_project_name,
|
||||
description_prefix=billing_description_prefix,
|
||||
owner_type=OWNER_CHAT_GENERATION_TASK,
|
||||
@@ -174,6 +181,8 @@ async def create_chat_generation_task_for_module(
|
||||
aspect_ratio=ratio,
|
||||
supported_provider_resolutions=resolutions,
|
||||
)
|
||||
reference_usage = calculate_media_reference_usage(refs, include=True)
|
||||
validate_media_reference_usage_for_engine(reference_usage, gen_type="video", engine=engine)
|
||||
media_billing = await charge_generation_media_by_params(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
@@ -182,6 +191,8 @@ async def create_chat_generation_task_for_module(
|
||||
duration=selected_duration,
|
||||
resolution=selected_resolution,
|
||||
engine_id=engine.id,
|
||||
input_video_duration=reference_usage.input_video_duration or None,
|
||||
input_image_count=reference_usage.image_count or None,
|
||||
project_name=billing_project_name,
|
||||
description_prefix=billing_description_prefix,
|
||||
owner_type=OWNER_CHAT_GENERATION_TASK,
|
||||
|
||||
Reference in New Issue
Block a user