Update editor generation pricing defaults

Unify and lower default mud-point prices across editor generation features and update related API/schema, docs and tests. Changes set gpt-image-2 to 1K=3 / 2K=5, audio1.0 to 5, and chirp-v5 to 12, and update server default JSON, frontend models/workflows, OpenAPI schema (require aspectRatio/imageSize/priceMudPoints for UI extraction), multiple UX docs (quick-edit viewport, UI extraction panel, pricing guidance) and accompanying tests to match the new defaults and validation rules.
This commit is contained in:
2026-06-22 21:10:43 +08:00
parent 6e475af269
commit 2007f1f9ce
30 changed files with 911 additions and 181 deletions
+118 -8
View File
@@ -7490,12 +7490,12 @@ button.image-canvas-editor__reference-chip:disabled {
display: inline-flex;
align-items: center;
gap: 0.32rem;
border: 1px solid rgba(255, 255, 255, 0.16);
border-radius: 999px;
background: rgba(15, 23, 42, 0.88);
padding: 0.32rem;
color: #ffffff;
box-shadow: 0 18px 38px rgba(15, 23, 42, 0.3);
border: 1px solid #d9dee8;
border-radius: 0.5rem;
background: #ffffff;
padding: 0.35rem;
color: #334155;
box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
transform: translate(-50%, -100%);
}
@@ -7504,6 +7504,27 @@ button.image-canvas-editor__reference-chip:disabled {
transform: translate(0, -50%);
}
.image-canvas-editor__ui-extraction-toolbar button {
width: 2.25rem;
height: 2.25rem;
border: 1px solid #d9dee8;
border-radius: 0.45rem;
background: #ffffff;
color: #334155;
transition:
transform 160ms ease,
background-color 160ms ease,
border-color 160ms ease,
color 160ms ease;
}
.image-canvas-editor__ui-extraction-toolbar button:hover {
transform: translateY(-1px);
border-color: #8fb8ff;
background: #eef5ff;
color: #1d4ed8;
}
.image-canvas-editor__ui-extraction-toolbar-title {
display: inline-flex;
align-items: center;
@@ -7515,8 +7536,9 @@ button.image-canvas-editor__reference-chip:disabled {
}
.image-canvas-editor__ui-extraction-tool--active {
border-color: rgba(255, 255, 255, 0.48);
background: rgba(239, 68, 68, 0.92);
border-color: #38bdf8;
background: #e0f2fe;
color: #0369a1;
}
.image-canvas-editor__ui-extraction-count {
@@ -7539,6 +7561,94 @@ button.image-canvas-editor__reference-chip:disabled {
touch-action: none;
}
.image-canvas-editor__ui-extraction-panel {
z-index: 49;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto minmax(4.8rem, auto) auto;
min-height: 10.4rem;
}
.image-canvas-editor__ui-extraction-panel-head {
grid-column: 1 / -1;
color: #0f172a;
font-size: 0.84rem;
font-weight: 850;
}
.image-canvas-editor__ui-extraction-preview-list {
grid-column: 1 / -1;
display: flex;
min-height: 4.8rem;
gap: 0.46rem;
overflow-x: auto;
border: 1px solid rgba(148, 163, 184, 0.2);
border-radius: 1rem;
background: #f8fafc;
padding: 0.46rem;
}
.image-canvas-editor__ui-extraction-preview {
position: relative;
width: 4.8rem;
min-width: 4.8rem;
height: 4.8rem;
overflow: hidden;
border: 1px solid rgba(239, 68, 68, 0.42);
border-radius: 0.88rem;
background-color: #ffffff;
background-repeat: no-repeat;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.76);
}
.image-canvas-editor__ui-extraction-preview span {
position: absolute;
top: 0.28rem;
left: 0.28rem;
display: inline-flex;
width: 1.24rem;
height: 1.24rem;
align-items: center;
justify-content: center;
border: 2px solid #ffffff;
border-radius: 999px;
background: #ef4444;
color: #ffffff;
font-size: 0.68rem;
font-weight: 900;
}
.image-canvas-editor__ui-extraction-preview-empty {
display: inline-flex;
align-items: center;
color: #94a3b8;
font-size: 0.78rem;
font-weight: 760;
}
.image-canvas-editor__ui-extraction-panel-footer {
grid-column: 1 / -1;
}
.image-canvas-editor__ui-extraction-panel
.image-canvas-editor__readonly-generation-option {
display: inline-flex;
min-height: 2.25rem;
align-items: center;
justify-content: center;
border-radius: 0.72rem;
background: transparent;
padding: 0 0.66rem;
color: #475569;
font-size: 0.82rem;
font-weight: 800;
white-space: nowrap;
}
.image-canvas-editor__ui-extraction-model {
grid-column: 2;
justify-self: end;
}
.image-canvas-editor__ui-extraction-hit-area {
fill: transparent;
}