@nodaro/shared 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +32 -0
- package/dist/index.cjs +12506 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +12269 -0
- package/dist/index.d.ts +12269 -0
- package/dist/index.js +11831 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
- package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
- package/src/__tests__/ai-avatar-pricing.test.ts +321 -0
- package/src/__tests__/apply-video-negative-prompt.test.ts +76 -0
- package/src/__tests__/attach-columns.test.ts +28 -0
- package/src/__tests__/audio-crossfade-curves.test.ts +33 -0
- package/src/__tests__/build-model-menu.test.ts +58 -0
- package/src/__tests__/character-aspect-defaults.test.ts +142 -0
- package/src/__tests__/character-mention-slug.test.ts +199 -0
- package/src/__tests__/character-reference-photo-kinds.test.ts +32 -0
- package/src/__tests__/character-usage-mode.test.ts +147 -0
- package/src/__tests__/character-variant-assets.test.ts +142 -0
- package/src/__tests__/character-voice.test.ts +130 -0
- package/src/__tests__/cinematic-avatar-pricing.test.ts +119 -0
- package/src/__tests__/combine-transitions.test.ts +137 -0
- package/src/__tests__/component-types.test.ts +87 -0
- package/src/__tests__/condition-variables.test.ts +98 -0
- package/src/__tests__/credit-identifiers.test.ts +811 -0
- package/src/__tests__/default-video-provider.test.ts +63 -0
- package/src/__tests__/entity-image-handle.test.ts +43 -0
- package/src/__tests__/entity-variants.test.ts +33 -0
- package/src/__tests__/fal-lip-sync-sets.test.ts +31 -0
- package/src/__tests__/featured-entities.test.ts +33 -0
- package/src/__tests__/film-pricing.test.ts +64 -0
- package/src/__tests__/filter-condition.test.ts +285 -0
- package/src/__tests__/freecut-protocol.test.ts +35 -0
- package/src/__tests__/generate-text-items.test.ts +19 -0
- package/src/__tests__/generated-results.test.ts +50 -0
- package/src/__tests__/graph-utils.test.ts +618 -0
- package/src/__tests__/group-aggregation.test.ts +83 -0
- package/src/__tests__/i18n-locale-completeness.test.ts +156 -0
- package/src/__tests__/image-critic-node.test.ts +86 -0
- package/src/__tests__/image-mask-mode.test.ts +16 -0
- package/src/__tests__/image-ref-limit.test.ts +78 -0
- package/src/__tests__/inpaint-region.test.ts +24 -0
- package/src/__tests__/input-field-map-parity.test.ts +30 -0
- package/src/__tests__/json-evaluator.test.ts +289 -0
- package/src/__tests__/json-path.test.ts +64 -0
- package/src/__tests__/lip-sync-pricing.test.ts +142 -0
- package/src/__tests__/list-merge.test.ts +96 -0
- package/src/__tests__/list-sort.test.ts +134 -0
- package/src/__tests__/llm-models.test.ts +445 -0
- package/src/__tests__/location-mention-slug.test.ts +246 -0
- package/src/__tests__/locations-coverage-critic-schema.test.ts +92 -0
- package/src/__tests__/loop-delimiter.test.ts +39 -0
- package/src/__tests__/lottie-slots.test.ts +245 -0
- package/src/__tests__/model-catalog-flux2-resolutions.test.ts +21 -0
- package/src/__tests__/model-constants-location.test.ts +20 -0
- package/src/__tests__/model-constants.test.ts +122 -0
- package/src/__tests__/model-tree.test.ts +86 -0
- package/src/__tests__/no-internal-imports.test.ts +25 -0
- package/src/__tests__/node-default-mappings.test.ts +175 -0
- package/src/__tests__/node-mappable-fields.test.ts +7 -0
- package/src/__tests__/node-preset-export.test.ts +46 -0
- package/src/__tests__/node-preset-extract.test.ts +166 -0
- package/src/__tests__/node-refs-canonical.test.ts +54 -0
- package/src/__tests__/node-refs-combine.test.ts +54 -0
- package/src/__tests__/node-refs.test.ts +187 -0
- package/src/__tests__/node-runtime-keys.test.ts +99 -0
- package/src/__tests__/object-aspect-defaults.test.ts +59 -0
- package/src/__tests__/parameter-node-value.test.ts +137 -0
- package/src/__tests__/pinterest-url.test.ts +35 -0
- package/src/__tests__/pipeline-chat.test.ts +110 -0
- package/src/__tests__/pipeline-validation.test.ts +98 -0
- package/src/__tests__/presentation-utils.test.ts +1137 -0
- package/src/__tests__/producer-types.test.ts +47 -0
- package/src/__tests__/prompt-length-limits.test.ts +156 -0
- package/src/__tests__/provider-directive-defaults.test.ts +46 -0
- package/src/__tests__/reduce-strategy-registry.test.ts +43 -0
- package/src/__tests__/reference-board-templates.test.ts +33 -0
- package/src/__tests__/reference-roles.test.ts +36 -0
- package/src/__tests__/resolve-field-mappings.test.ts +110 -0
- package/src/__tests__/resolve-pipeline-model.test.ts +76 -0
- package/src/__tests__/scene-node-types.test.ts +80 -0
- package/src/__tests__/scraper-actors.test.ts +67 -0
- package/src/__tests__/seedance-2-catalog.test.ts +18 -0
- package/src/__tests__/seedance-2-credit-id.test.ts +23 -0
- package/src/__tests__/seedance-aspects.test.ts +52 -0
- package/src/__tests__/selector.test.ts +1151 -0
- package/src/__tests__/settled-with-limit.test.ts +214 -0
- package/src/__tests__/social-media-specs.test.ts +129 -0
- package/src/__tests__/sub-workflow-validation.test.ts +88 -0
- package/src/__tests__/switchx-pricing.test.ts +28 -0
- package/src/__tests__/to-connected-references.test.ts +153 -0
- package/src/__tests__/utilities.test.ts +541 -0
- package/src/__tests__/video-analysis-pricing.test.ts +58 -0
- package/src/__tests__/video-analysis.test.ts +63 -0
- package/src/__tests__/video-audio-capability.test.ts +204 -0
- package/src/__tests__/video-gen-providers.test.ts +28 -0
- package/src/__tests__/video-mode-aliases.test.ts +150 -0
- package/src/__tests__/video-ref-limits.test.ts +72 -0
- package/src/__tests__/video-utils.test.ts +303 -0
- package/src/__tests__/voice-changer-models.test.ts +33 -0
- package/src/__tests__/workflow-export-strip.test.ts +46 -0
- package/src/ai-avatar-pricing.ts +213 -0
- package/src/ancestor-refs.ts +48 -0
- package/src/animals.ts +231 -0
- package/src/audio-crossfade-curves.ts +73 -0
- package/src/audio-fx-presets.ts +64 -0
- package/src/avatar-payload-validators.ts +214 -0
- package/src/caption-styles.ts +31 -0
- package/src/character-aspect-defaults.ts +102 -0
- package/src/character-facets.ts +37 -0
- package/src/character-mention-slug.ts +166 -0
- package/src/character-usage-mode.ts +109 -0
- package/src/character-variant-assets.ts +121 -0
- package/src/character-voice.ts +151 -0
- package/src/cinematic-avatar-pricing.ts +111 -0
- package/src/clone-utils.ts +46 -0
- package/src/combine-transitions.ts +482 -0
- package/src/community.ts +112 -0
- package/src/component-types.ts +127 -0
- package/src/condition-variables.ts +65 -0
- package/src/credit-estimators/index.ts +15 -0
- package/src/credit-estimators/video-utils.ts +165 -0
- package/src/credit-identifiers.ts +304 -0
- package/src/entity-approval-types.ts +31 -0
- package/src/entity-aspect-defaults.ts +82 -0
- package/src/entity-asset-types.ts +296 -0
- package/src/entity-image-handle.ts +36 -0
- package/src/extra-refs.ts +139 -0
- package/src/featured-entities.ts +136 -0
- package/src/film-pricing.ts +117 -0
- package/src/filter-condition.ts +250 -0
- package/src/flux2-pricing.ts +18 -0
- package/src/freecut-protocol.ts +52 -0
- package/src/furniture.ts +167 -0
- package/src/generate-text-items.ts +15 -0
- package/src/generated-results.ts +63 -0
- package/src/group-aggregation.ts +75 -0
- package/src/hint-graph-types.ts +18 -0
- package/src/i18n/action-fx.ar.ts +89 -0
- package/src/i18n/action-fx.de.ts +89 -0
- package/src/i18n/action-fx.es.ts +89 -0
- package/src/i18n/action-fx.fr.ts +89 -0
- package/src/i18n/action-fx.he.ts +89 -0
- package/src/i18n/action-fx.hi.ts +89 -0
- package/src/i18n/action-fx.ja.ts +89 -0
- package/src/i18n/action-fx.ko.ts +89 -0
- package/src/i18n/action-fx.pt-BR.ts +89 -0
- package/src/i18n/action-fx.ru.ts +89 -0
- package/src/i18n/action-fx.zh-CN.ts +89 -0
- package/src/i18n/aesthetic.ar.ts +170 -0
- package/src/i18n/aesthetic.de.ts +48 -0
- package/src/i18n/aesthetic.es.ts +169 -0
- package/src/i18n/aesthetic.fr.ts +52 -0
- package/src/i18n/aesthetic.he.ts +169 -0
- package/src/i18n/aesthetic.hi.ts +55 -0
- package/src/i18n/aesthetic.ja.ts +165 -0
- package/src/i18n/aesthetic.ko.ts +169 -0
- package/src/i18n/aesthetic.pt-BR.ts +148 -0
- package/src/i18n/aesthetic.ru.ts +155 -0
- package/src/i18n/aesthetic.zh-CN.ts +172 -0
- package/src/i18n/animals.ar.ts +145 -0
- package/src/i18n/animals.de.ts +144 -0
- package/src/i18n/animals.es.ts +158 -0
- package/src/i18n/animals.fr.ts +144 -0
- package/src/i18n/animals.he.ts +155 -0
- package/src/i18n/animals.hi.ts +157 -0
- package/src/i18n/animals.ja.ts +159 -0
- package/src/i18n/animals.ko.ts +159 -0
- package/src/i18n/animals.pt-BR.ts +157 -0
- package/src/i18n/animals.ru.ts +155 -0
- package/src/i18n/animals.zh-CN.ts +155 -0
- package/src/i18n/atmosphere.ar.ts +49 -0
- package/src/i18n/atmosphere.de.ts +47 -0
- package/src/i18n/atmosphere.es.ts +50 -0
- package/src/i18n/atmosphere.fr.ts +47 -0
- package/src/i18n/atmosphere.he.ts +47 -0
- package/src/i18n/atmosphere.hi.ts +49 -0
- package/src/i18n/atmosphere.ja.ts +49 -0
- package/src/i18n/atmosphere.ko.ts +49 -0
- package/src/i18n/atmosphere.pt-BR.ts +49 -0
- package/src/i18n/atmosphere.ru.ts +47 -0
- package/src/i18n/atmosphere.zh-CN.ts +152 -0
- package/src/i18n/backdrop.ar.ts +53 -0
- package/src/i18n/backdrop.de.ts +46 -0
- package/src/i18n/backdrop.es.ts +54 -0
- package/src/i18n/backdrop.fr.ts +52 -0
- package/src/i18n/backdrop.he.ts +51 -0
- package/src/i18n/backdrop.hi.ts +59 -0
- package/src/i18n/backdrop.ja.ts +61 -0
- package/src/i18n/backdrop.ko.ts +59 -0
- package/src/i18n/backdrop.pt-BR.ts +59 -0
- package/src/i18n/backdrop.ru.ts +57 -0
- package/src/i18n/backdrop.zh-CN.ts +57 -0
- package/src/i18n/camera-format.ar.ts +40 -0
- package/src/i18n/camera-format.de.ts +37 -0
- package/src/i18n/camera-format.es.ts +41 -0
- package/src/i18n/camera-format.fr.ts +37 -0
- package/src/i18n/camera-format.he.ts +37 -0
- package/src/i18n/camera-format.hi.ts +42 -0
- package/src/i18n/camera-format.ja.ts +37 -0
- package/src/i18n/camera-format.ko.ts +37 -0
- package/src/i18n/camera-format.pt-BR.ts +46 -0
- package/src/i18n/camera-format.ru.ts +42 -0
- package/src/i18n/camera-format.zh-CN.ts +42 -0
- package/src/i18n/camera-motions.ar.ts +86 -0
- package/src/i18n/camera-motions.de.ts +74 -0
- package/src/i18n/camera-motions.es.ts +86 -0
- package/src/i18n/camera-motions.fr.ts +86 -0
- package/src/i18n/camera-motions.he.ts +86 -0
- package/src/i18n/camera-motions.hi.ts +99 -0
- package/src/i18n/camera-motions.ja.ts +99 -0
- package/src/i18n/camera-motions.ko.ts +99 -0
- package/src/i18n/camera-motions.pt-BR.ts +99 -0
- package/src/i18n/camera-motions.ru.ts +99 -0
- package/src/i18n/camera-motions.zh-CN.ts +99 -0
- package/src/i18n/character-fx.ar.ts +72 -0
- package/src/i18n/character-fx.de.ts +72 -0
- package/src/i18n/character-fx.es.ts +72 -0
- package/src/i18n/character-fx.fr.ts +72 -0
- package/src/i18n/character-fx.he.ts +72 -0
- package/src/i18n/character-fx.hi.ts +72 -0
- package/src/i18n/character-fx.ja.ts +72 -0
- package/src/i18n/character-fx.ko.ts +72 -0
- package/src/i18n/character-fx.pt-BR.ts +72 -0
- package/src/i18n/character-fx.ru.ts +72 -0
- package/src/i18n/character-fx.zh-CN.ts +72 -0
- package/src/i18n/color-look.ar.ts +50 -0
- package/src/i18n/color-look.de.ts +47 -0
- package/src/i18n/color-look.es.ts +50 -0
- package/src/i18n/color-look.fr.ts +50 -0
- package/src/i18n/color-look.he.ts +49 -0
- package/src/i18n/color-look.hi.ts +52 -0
- package/src/i18n/color-look.ja.ts +54 -0
- package/src/i18n/color-look.ko.ts +54 -0
- package/src/i18n/color-look.pt-BR.ts +54 -0
- package/src/i18n/color-look.ru.ts +52 -0
- package/src/i18n/color-look.zh-CN.ts +53 -0
- package/src/i18n/composition-effects.ar.ts +26 -0
- package/src/i18n/composition-effects.de.ts +25 -0
- package/src/i18n/composition-effects.es.ts +27 -0
- package/src/i18n/composition-effects.fr.ts +25 -0
- package/src/i18n/composition-effects.he.ts +25 -0
- package/src/i18n/composition-effects.hi.ts +27 -0
- package/src/i18n/composition-effects.ja.ts +27 -0
- package/src/i18n/composition-effects.ko.ts +27 -0
- package/src/i18n/composition-effects.pt-BR.ts +25 -0
- package/src/i18n/composition-effects.ru.ts +82 -0
- package/src/i18n/composition-effects.zh-CN.ts +25 -0
- package/src/i18n/era.ar.ts +37 -0
- package/src/i18n/era.de.ts +34 -0
- package/src/i18n/era.es.ts +37 -0
- package/src/i18n/era.fr.ts +37 -0
- package/src/i18n/era.he.ts +36 -0
- package/src/i18n/era.hi.ts +39 -0
- package/src/i18n/era.ja.ts +41 -0
- package/src/i18n/era.ko.ts +39 -0
- package/src/i18n/era.pt-BR.ts +41 -0
- package/src/i18n/era.ru.ts +121 -0
- package/src/i18n/era.zh-CN.ts +39 -0
- package/src/i18n/exposure-settings.ar.ts +28 -0
- package/src/i18n/exposure-settings.de.ts +26 -0
- package/src/i18n/exposure-settings.es.ts +28 -0
- package/src/i18n/exposure-settings.fr.ts +29 -0
- package/src/i18n/exposure-settings.he.ts +28 -0
- package/src/i18n/exposure-settings.hi.ts +31 -0
- package/src/i18n/exposure-settings.ja.ts +31 -0
- package/src/i18n/exposure-settings.ko.ts +31 -0
- package/src/i18n/exposure-settings.pt-BR.ts +31 -0
- package/src/i18n/exposure-settings.ru.ts +31 -0
- package/src/i18n/exposure-settings.zh-CN.ts +31 -0
- package/src/i18n/framing.ar.ts +78 -0
- package/src/i18n/framing.de.ts +73 -0
- package/src/i18n/framing.es.ts +78 -0
- package/src/i18n/framing.fr.ts +78 -0
- package/src/i18n/framing.he.ts +77 -0
- package/src/i18n/framing.hi.ts +82 -0
- package/src/i18n/framing.ja.ts +84 -0
- package/src/i18n/framing.ko.ts +82 -0
- package/src/i18n/framing.pt-BR.ts +84 -0
- package/src/i18n/framing.ru.ts +82 -0
- package/src/i18n/framing.zh-CN.ts +82 -0
- package/src/i18n/furniture.ar.ts +92 -0
- package/src/i18n/furniture.de.ts +93 -0
- package/src/i18n/furniture.es.ts +101 -0
- package/src/i18n/furniture.fr.ts +93 -0
- package/src/i18n/furniture.he.ts +101 -0
- package/src/i18n/furniture.hi.ts +101 -0
- package/src/i18n/furniture.ja.ts +101 -0
- package/src/i18n/furniture.ko.ts +101 -0
- package/src/i18n/furniture.pt-BR.ts +101 -0
- package/src/i18n/furniture.ru.ts +101 -0
- package/src/i18n/furniture.zh-CN.ts +101 -0
- package/src/i18n/held-prop.ar.ts +74 -0
- package/src/i18n/held-prop.de.ts +65 -0
- package/src/i18n/held-prop.es.ts +83 -0
- package/src/i18n/held-prop.fr.ts +74 -0
- package/src/i18n/held-prop.he.ts +73 -0
- package/src/i18n/held-prop.hi.ts +82 -0
- package/src/i18n/held-prop.ja.ts +84 -0
- package/src/i18n/held-prop.ko.ts +84 -0
- package/src/i18n/held-prop.pt-BR.ts +84 -0
- package/src/i18n/held-prop.ru.ts +82 -0
- package/src/i18n/held-prop.zh-CN.ts +82 -0
- package/src/i18n/index.ts +208 -0
- package/src/i18n/instrumentation.ar.ts +195 -0
- package/src/i18n/instrumentation.de.ts +195 -0
- package/src/i18n/instrumentation.es.ts +195 -0
- package/src/i18n/instrumentation.fr.ts +195 -0
- package/src/i18n/instrumentation.he.ts +195 -0
- package/src/i18n/instrumentation.hi.ts +195 -0
- package/src/i18n/instrumentation.ja.ts +195 -0
- package/src/i18n/instrumentation.ko.ts +195 -0
- package/src/i18n/instrumentation.pt-BR.ts +195 -0
- package/src/i18n/instrumentation.ru.ts +195 -0
- package/src/i18n/instrumentation.zh-CN.ts +195 -0
- package/src/i18n/lens.ar.ts +24 -0
- package/src/i18n/lens.de.ts +24 -0
- package/src/i18n/lens.es.ts +24 -0
- package/src/i18n/lens.fr.ts +24 -0
- package/src/i18n/lens.he.ts +24 -0
- package/src/i18n/lens.hi.ts +24 -0
- package/src/i18n/lens.ja.ts +24 -0
- package/src/i18n/lens.ko.ts +24 -0
- package/src/i18n/lens.pt-BR.ts +24 -0
- package/src/i18n/lens.ru.ts +25 -0
- package/src/i18n/lens.zh-CN.ts +24 -0
- package/src/i18n/lighting.ar.ts +86 -0
- package/src/i18n/lighting.de.ts +84 -0
- package/src/i18n/lighting.es.ts +89 -0
- package/src/i18n/lighting.fr.ts +84 -0
- package/src/i18n/lighting.he.ts +88 -0
- package/src/i18n/lighting.hi.ts +90 -0
- package/src/i18n/lighting.ja.ts +90 -0
- package/src/i18n/lighting.ko.ts +90 -0
- package/src/i18n/lighting.pt-BR.ts +90 -0
- package/src/i18n/lighting.ru.ts +88 -0
- package/src/i18n/lighting.zh-CN.ts +92 -0
- package/src/i18n/loop-subject.ar.ts +39 -0
- package/src/i18n/loop-subject.de.ts +39 -0
- package/src/i18n/loop-subject.es.ts +39 -0
- package/src/i18n/loop-subject.fr.ts +39 -0
- package/src/i18n/loop-subject.he.ts +39 -0
- package/src/i18n/loop-subject.hi.ts +39 -0
- package/src/i18n/loop-subject.ja.ts +39 -0
- package/src/i18n/loop-subject.ko.ts +39 -0
- package/src/i18n/loop-subject.pt-BR.ts +39 -0
- package/src/i18n/loop-subject.ru.ts +39 -0
- package/src/i18n/loop-subject.zh-CN.ts +39 -0
- package/src/i18n/materials.ar.ts +80 -0
- package/src/i18n/materials.de.ts +80 -0
- package/src/i18n/materials.es.ts +87 -0
- package/src/i18n/materials.fr.ts +80 -0
- package/src/i18n/materials.he.ts +86 -0
- package/src/i18n/materials.hi.ts +86 -0
- package/src/i18n/materials.ja.ts +88 -0
- package/src/i18n/materials.ko.ts +88 -0
- package/src/i18n/materials.pt-BR.ts +88 -0
- package/src/i18n/materials.ru.ts +86 -0
- package/src/i18n/materials.zh-CN.ts +86 -0
- package/src/i18n/mood.ar.ts +61 -0
- package/src/i18n/mood.de.ts +61 -0
- package/src/i18n/mood.es.ts +66 -0
- package/src/i18n/mood.fr.ts +61 -0
- package/src/i18n/mood.he.ts +64 -0
- package/src/i18n/mood.hi.ts +66 -0
- package/src/i18n/mood.ja.ts +66 -0
- package/src/i18n/mood.ko.ts +66 -0
- package/src/i18n/mood.pt-BR.ts +64 -0
- package/src/i18n/mood.ru.ts +64 -0
- package/src/i18n/mood.zh-CN.ts +64 -0
- package/src/i18n/music-genre.ar.ts +302 -0
- package/src/i18n/music-genre.de.ts +302 -0
- package/src/i18n/music-genre.es.ts +302 -0
- package/src/i18n/music-genre.fr.ts +302 -0
- package/src/i18n/music-genre.he.ts +302 -0
- package/src/i18n/music-genre.hi.ts +302 -0
- package/src/i18n/music-genre.ja.ts +302 -0
- package/src/i18n/music-genre.ko.ts +302 -0
- package/src/i18n/music-genre.pt-BR.ts +302 -0
- package/src/i18n/music-genre.ru.ts +302 -0
- package/src/i18n/music-genre.zh-CN.ts +302 -0
- package/src/i18n/music-mood.ar.ts +75 -0
- package/src/i18n/music-mood.de.ts +75 -0
- package/src/i18n/music-mood.es.ts +75 -0
- package/src/i18n/music-mood.fr.ts +75 -0
- package/src/i18n/music-mood.he.ts +75 -0
- package/src/i18n/music-mood.hi.ts +75 -0
- package/src/i18n/music-mood.ja.ts +75 -0
- package/src/i18n/music-mood.ko.ts +75 -0
- package/src/i18n/music-mood.pt-BR.ts +75 -0
- package/src/i18n/music-mood.ru.ts +75 -0
- package/src/i18n/music-mood.zh-CN.ts +75 -0
- package/src/i18n/person.ar.ts +638 -0
- package/src/i18n/person.de.ts +629 -0
- package/src/i18n/person.es.ts +645 -0
- package/src/i18n/person.fr.ts +621 -0
- package/src/i18n/person.he.ts +656 -0
- package/src/i18n/person.hi.ts +654 -0
- package/src/i18n/person.ja.ts +662 -0
- package/src/i18n/person.ko.ts +662 -0
- package/src/i18n/person.pt-BR.ts +656 -0
- package/src/i18n/person.ru.ts +656 -0
- package/src/i18n/person.zh-CN.ts +656 -0
- package/src/i18n/photo-genre.ar.ts +58 -0
- package/src/i18n/photo-genre.de.ts +52 -0
- package/src/i18n/photo-genre.es.ts +64 -0
- package/src/i18n/photo-genre.fr.ts +58 -0
- package/src/i18n/photo-genre.he.ts +62 -0
- package/src/i18n/photo-genre.hi.ts +63 -0
- package/src/i18n/photo-genre.ja.ts +65 -0
- package/src/i18n/photo-genre.ko.ts +63 -0
- package/src/i18n/photo-genre.pt-BR.ts +65 -0
- package/src/i18n/photo-genre.ru.ts +63 -0
- package/src/i18n/photo-genre.zh-CN.ts +63 -0
- package/src/i18n/photographer.ar.ts +75 -0
- package/src/i18n/photographer.de.ts +74 -0
- package/src/i18n/photographer.es.ts +77 -0
- package/src/i18n/photographer.fr.ts +77 -0
- package/src/i18n/photographer.he.ts +78 -0
- package/src/i18n/photographer.hi.ts +80 -0
- package/src/i18n/photographer.ja.ts +84 -0
- package/src/i18n/photographer.ko.ts +84 -0
- package/src/i18n/photographer.pt-BR.ts +83 -0
- package/src/i18n/photographer.ru.ts +78 -0
- package/src/i18n/photographer.zh-CN.ts +78 -0
- package/src/i18n/pose.ar.ts +95 -0
- package/src/i18n/pose.de.ts +96 -0
- package/src/i18n/pose.es.ts +104 -0
- package/src/i18n/pose.fr.ts +96 -0
- package/src/i18n/pose.he.ts +104 -0
- package/src/i18n/pose.hi.ts +104 -0
- package/src/i18n/pose.ja.ts +104 -0
- package/src/i18n/pose.ko.ts +104 -0
- package/src/i18n/pose.pt-BR.ts +104 -0
- package/src/i18n/pose.ru.ts +104 -0
- package/src/i18n/pose.zh-CN.ts +104 -0
- package/src/i18n/post-process-effects.ar.ts +25 -0
- package/src/i18n/post-process-effects.de.ts +24 -0
- package/src/i18n/post-process-effects.es.ts +26 -0
- package/src/i18n/post-process-effects.fr.ts +24 -0
- package/src/i18n/post-process-effects.he.ts +24 -0
- package/src/i18n/post-process-effects.hi.ts +26 -0
- package/src/i18n/post-process-effects.ja.ts +26 -0
- package/src/i18n/post-process-effects.ko.ts +26 -0
- package/src/i18n/post-process-effects.pt-BR.ts +24 -0
- package/src/i18n/post-process-effects.ru.ts +24 -0
- package/src/i18n/post-process-effects.zh-CN.ts +24 -0
- package/src/i18n/render-quality.ar.ts +34 -0
- package/src/i18n/render-quality.de.ts +30 -0
- package/src/i18n/render-quality.es.ts +35 -0
- package/src/i18n/render-quality.fr.ts +34 -0
- package/src/i18n/render-quality.he.ts +33 -0
- package/src/i18n/render-quality.hi.ts +39 -0
- package/src/i18n/render-quality.ja.ts +39 -0
- package/src/i18n/render-quality.ko.ts +39 -0
- package/src/i18n/render-quality.pt-BR.ts +37 -0
- package/src/i18n/render-quality.ru.ts +37 -0
- package/src/i18n/render-quality.zh-CN.ts +37 -0
- package/src/i18n/seasons.ar.ts +10 -0
- package/src/i18n/seasons.de.ts +10 -0
- package/src/i18n/seasons.es.ts +10 -0
- package/src/i18n/seasons.fr.ts +10 -0
- package/src/i18n/seasons.he.ts +10 -0
- package/src/i18n/seasons.hi.ts +10 -0
- package/src/i18n/seasons.ja.ts +10 -0
- package/src/i18n/seasons.ko.ts +10 -0
- package/src/i18n/seasons.pt-BR.ts +10 -0
- package/src/i18n/seasons.ru.ts +10 -0
- package/src/i18n/seasons.zh-CN.ts +10 -0
- package/src/i18n/setting.ar.ts +73 -0
- package/src/i18n/setting.de.ts +73 -0
- package/src/i18n/setting.es.ts +77 -0
- package/src/i18n/setting.fr.ts +73 -0
- package/src/i18n/setting.he.ts +76 -0
- package/src/i18n/setting.hi.ts +76 -0
- package/src/i18n/setting.ja.ts +78 -0
- package/src/i18n/setting.ko.ts +76 -0
- package/src/i18n/setting.pt-BR.ts +78 -0
- package/src/i18n/setting.ru.ts +76 -0
- package/src/i18n/setting.zh-CN.ts +76 -0
- package/src/i18n/style.ar.ts +55 -0
- package/src/i18n/style.de.ts +54 -0
- package/src/i18n/style.es.ts +54 -0
- package/src/i18n/style.fr.ts +54 -0
- package/src/i18n/style.he.ts +54 -0
- package/src/i18n/style.hi.ts +54 -0
- package/src/i18n/style.ja.ts +54 -0
- package/src/i18n/style.ko.ts +54 -0
- package/src/i18n/style.pt-BR.ts +56 -0
- package/src/i18n/style.ru.ts +54 -0
- package/src/i18n/style.zh-CN.ts +54 -0
- package/src/i18n/styling.ar.ts +295 -0
- package/src/i18n/styling.de.ts +285 -0
- package/src/i18n/styling.es.ts +317 -0
- package/src/i18n/styling.fr.ts +285 -0
- package/src/i18n/styling.he.ts +307 -0
- package/src/i18n/styling.hi.ts +323 -0
- package/src/i18n/styling.ja.ts +317 -0
- package/src/i18n/styling.ko.ts +311 -0
- package/src/i18n/styling.pt-BR.ts +301 -0
- package/src/i18n/styling.ru.ts +301 -0
- package/src/i18n/styling.zh-CN.ts +307 -0
- package/src/i18n/temporal.ar.ts +31 -0
- package/src/i18n/temporal.de.ts +24 -0
- package/src/i18n/temporal.es.ts +27 -0
- package/src/i18n/temporal.fr.ts +28 -0
- package/src/i18n/temporal.he.ts +31 -0
- package/src/i18n/temporal.hi.ts +31 -0
- package/src/i18n/temporal.ja.ts +31 -0
- package/src/i18n/temporal.ko.ts +31 -0
- package/src/i18n/temporal.pt-BR.ts +31 -0
- package/src/i18n/temporal.ru.ts +31 -0
- package/src/i18n/temporal.zh-CN.ts +31 -0
- package/src/i18n/transitions.ar.ts +97 -0
- package/src/i18n/transitions.de.ts +97 -0
- package/src/i18n/transitions.es.ts +97 -0
- package/src/i18n/transitions.fr.ts +97 -0
- package/src/i18n/transitions.he.ts +97 -0
- package/src/i18n/transitions.hi.ts +97 -0
- package/src/i18n/transitions.ja.ts +97 -0
- package/src/i18n/transitions.ko.ts +97 -0
- package/src/i18n/transitions.pt-BR.ts +97 -0
- package/src/i18n/transitions.ru.ts +97 -0
- package/src/i18n/transitions.zh-CN.ts +97 -0
- package/src/i18n/types.ts +158 -0
- package/src/i18n/vehicles.ar.ts +137 -0
- package/src/i18n/vehicles.de.ts +125 -0
- package/src/i18n/vehicles.es.ts +138 -0
- package/src/i18n/vehicles.fr.ts +125 -0
- package/src/i18n/vehicles.he.ts +136 -0
- package/src/i18n/vehicles.hi.ts +138 -0
- package/src/i18n/vehicles.ja.ts +138 -0
- package/src/i18n/vehicles.ko.ts +138 -0
- package/src/i18n/vehicles.pt-BR.ts +136 -0
- package/src/i18n/vehicles.ru.ts +136 -0
- package/src/i18n/vehicles.zh-CN.ts +136 -0
- package/src/i18n/voice-character.ar.ts +126 -0
- package/src/i18n/voice-character.de.ts +126 -0
- package/src/i18n/voice-character.es.ts +126 -0
- package/src/i18n/voice-character.fr.ts +126 -0
- package/src/i18n/voice-character.he.ts +126 -0
- package/src/i18n/voice-character.hi.ts +126 -0
- package/src/i18n/voice-character.ja.ts +126 -0
- package/src/i18n/voice-character.ko.ts +126 -0
- package/src/i18n/voice-character.pt-BR.ts +126 -0
- package/src/i18n/voice-character.ru.ts +126 -0
- package/src/i18n/voice-character.zh-CN.ts +126 -0
- package/src/i18n/voice-delivery.ar.ts +77 -0
- package/src/i18n/voice-delivery.de.ts +77 -0
- package/src/i18n/voice-delivery.es.ts +77 -0
- package/src/i18n/voice-delivery.fr.ts +77 -0
- package/src/i18n/voice-delivery.he.ts +77 -0
- package/src/i18n/voice-delivery.hi.ts +77 -0
- package/src/i18n/voice-delivery.ja.ts +77 -0
- package/src/i18n/voice-delivery.ko.ts +77 -0
- package/src/i18n/voice-delivery.pt-BR.ts +77 -0
- package/src/i18n/voice-delivery.ru.ts +77 -0
- package/src/i18n/voice-delivery.zh-CN.ts +77 -0
- package/src/i18n/weapons.ar.ts +115 -0
- package/src/i18n/weapons.de.ts +114 -0
- package/src/i18n/weapons.es.ts +116 -0
- package/src/i18n/weapons.fr.ts +103 -0
- package/src/i18n/weapons.he.ts +114 -0
- package/src/i18n/weapons.hi.ts +116 -0
- package/src/i18n/weapons.ja.ts +116 -0
- package/src/i18n/weapons.ko.ts +116 -0
- package/src/i18n/weapons.pt-BR.ts +114 -0
- package/src/i18n/weapons.ru.ts +114 -0
- package/src/i18n/weapons.zh-CN.ts +114 -0
- package/src/image-critic-node.ts +61 -0
- package/src/image-critic-types.ts +40 -0
- package/src/index.ts +866 -0
- package/src/inject-upstream.ts +15 -0
- package/src/inpaint-region.ts +51 -0
- package/src/json-evaluator.ts +732 -0
- package/src/json-path.ts +52 -0
- package/src/lip-sync-pricing.ts +90 -0
- package/src/list-merge.ts +40 -0
- package/src/list-sort.ts +122 -0
- package/src/list-source-resolver.ts +50 -0
- package/src/llm-models.ts +245 -0
- package/src/location-mention-slug.ts +291 -0
- package/src/location-preset-catalog-map.ts +128 -0
- package/src/loop-delimiter.ts +73 -0
- package/src/lora-routing.ts +95 -0
- package/src/lottie-overlay-catalog.ts +175 -0
- package/src/lottie-slots.ts +309 -0
- package/src/model-catalog.ts +2386 -0
- package/src/model-constants.ts +1910 -0
- package/src/model-tree.ts +120 -0
- package/src/monetization.ts +15 -0
- package/src/multi-pick.ts +42 -0
- package/src/node-default-mappings.ts +262 -0
- package/src/node-mappable-fields.ts +70 -0
- package/src/node-preset-export.ts +56 -0
- package/src/node-preset-extract.ts +147 -0
- package/src/node-refs.ts +253 -0
- package/src/node-runtime-keys.ts +117 -0
- package/src/object-aspect-defaults.ts +72 -0
- package/src/object-picker-types.ts +22 -0
- package/src/parameter-node-value.ts +284 -0
- package/src/pinterest-url.ts +28 -0
- package/src/pipeline-chat.ts +72 -0
- package/src/pipeline-defaults.ts +318 -0
- package/src/pipeline-events.ts +162 -0
- package/src/pipeline-state-types.ts +196 -0
- package/src/pipeline-types.ts +647 -0
- package/src/pipeline-validation.ts +87 -0
- package/src/presentation-types.ts +23 -0
- package/src/presentation-utils.ts +397 -0
- package/src/producer-types.ts +188 -0
- package/src/progress-curve.ts +99 -0
- package/src/provider-directive-defaults.ts +69 -0
- package/src/reduce-strategy-registry.ts +121 -0
- package/src/reference-board-templates.ts +81 -0
- package/src/reference-roles.ts +153 -0
- package/src/reference-sheet/__tests__/board-to-column.test.ts +20 -0
- package/src/reference-sheet/__tests__/catalog.test.ts +50 -0
- package/src/reference-sheet/__tests__/cost.test.ts +38 -0
- package/src/reference-sheet/__tests__/no-drift.test.ts +28 -0
- package/src/reference-sheet/__tests__/panel-plan.test.ts +61 -0
- package/src/reference-sheet/__tests__/panel-prompts.test.ts +17 -0
- package/src/reference-sheet/__tests__/plan-generation.test.ts +72 -0
- package/src/reference-sheet/__tests__/presets.test.ts +54 -0
- package/src/reference-sheet/__tests__/types.test.ts +24 -0
- package/src/reference-sheet/catalog.ts +144 -0
- package/src/reference-sheet/cost.ts +37 -0
- package/src/reference-sheet/credit-id.ts +7 -0
- package/src/reference-sheet/index.ts +8 -0
- package/src/reference-sheet/panel-plan.ts +65 -0
- package/src/reference-sheet/panel-prompts.ts +14 -0
- package/src/reference-sheet/plan-generation.ts +79 -0
- package/src/reference-sheet/presets.ts +77 -0
- package/src/reference-sheet/types.ts +92 -0
- package/src/repeat-types.ts +97 -0
- package/src/resolve-field-mappings.ts +119 -0
- package/src/route-filter.ts +80 -0
- package/src/scene-helper-types.ts +249 -0
- package/src/scene-node-types.ts +281 -0
- package/src/scraper-actors.ts +57 -0
- package/src/scraper-output-schemas.ts +25 -0
- package/src/seasons.ts +45 -0
- package/src/selector.ts +864 -0
- package/src/settled-with-limit.ts +42 -0
- package/src/shot-element.ts +43 -0
- package/src/social-media-specs.ts +121 -0
- package/src/social-post.ts +24 -0
- package/src/sub-workflow-validation.ts +78 -0
- package/src/supported-fonts.ts +40 -0
- package/src/surround.ts +113 -0
- package/src/switchx-pricing.ts +33 -0
- package/src/text-separators.ts +59 -0
- package/src/to-connected-references.ts +77 -0
- package/src/types.ts +272 -0
- package/src/variant-job-id.ts +17 -0
- package/src/vehicles.ts +213 -0
- package/src/video-analysis-pricing.ts +74 -0
- package/src/video-analysis.ts +127 -0
- package/src/video-duration.ts +25 -0
- package/src/voice-changer-models.ts +36 -0
- package/src/voice-matcher-types.ts +37 -0
- package/src/voices.ts +92 -0
- package/src/weapons.ts +190 -0
- package/src/workflow-export.ts +153 -0
|
@@ -0,0 +1,656 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// -------------------- Type --------------------
|
|
5
|
+
"man": { label: "男性", description: "成年男性" },
|
|
6
|
+
"woman": { label: "女性", description: "成年女性" },
|
|
7
|
+
"not-defined": { label: "未指定", description: "性别未指定 — 保持开放" },
|
|
8
|
+
"beautiful-woman": { label: "美丽女性", description: "古典美感的女性" },
|
|
9
|
+
"girl-next-door": { label: "邻家女孩", description: "亲切、平易近人、健康" },
|
|
10
|
+
"handsome-man": { label: "英俊男性", description: "古典帅气的男性" },
|
|
11
|
+
"boy-next-door": { label: "邻家男孩", description: "亲切、平易近人、健康" },
|
|
12
|
+
"gentleman": { label: "绅士", description: "优雅、经典、精致的男性" },
|
|
13
|
+
"elegant-woman": { label: "优雅女性", description: "端庄、优雅的女性" },
|
|
14
|
+
"rugged-man": { label: "粗犷男性", description: "饱经风霜、粗犷的男性" },
|
|
15
|
+
"bad-boy": { label: "坏小子", description: "叛逆、有棱角的男性气质" },
|
|
16
|
+
"graceful-woman": { label: "优雅女子", description: "温柔、优雅的女性" },
|
|
17
|
+
"baddie": { label: "Baddie 时尚女郎", description: "自信、时髦、有造型的女性" },
|
|
18
|
+
"stylish-influencer": { label: "时尚博主", description: "精致的社交媒体潮流引领者" },
|
|
19
|
+
"stunning-model": { label: "惊艳模特", description: "时尚模特感" },
|
|
20
|
+
"supermodel": { label: "超模", description: "T台与封面的顶级标志性巨星" },
|
|
21
|
+
"femme-fatale": { label: "蛇蝎美人", description: "诱人危险的黑色电影女主" },
|
|
22
|
+
"tough-guy": { label: "硬汉", description: "强硬的男性" },
|
|
23
|
+
"wise-elder": { label: "智者长者", description: "睿智的年长者" },
|
|
24
|
+
"silver-fox": { label: "成熟魅力大叔", description: "气质出众、迷人的年长男性" },
|
|
25
|
+
"mysterious-figure":{ label: "神秘人", description: "神秘的人物" },
|
|
26
|
+
"femboy": { label: "Femboy", description: "柔美的男性气质,性别流动的造型" },
|
|
27
|
+
"twink": { label: "Twink", description: "纤瘦、肌肤光滑、青春感的同志男性" },
|
|
28
|
+
"soft-butch": { label: "柔性 Butch", description: "温和的中性偏阳刚女性" },
|
|
29
|
+
"tomboy": { label: "假小子", description: "女性身体上的男孩气造型与气场" },
|
|
30
|
+
"thick": { label: "丰腴 Thick", description: "健壮丰满的身材,自我接纳的曲线" },
|
|
31
|
+
"bear": { label: "Bear 熊型", description: "魁梧、有胡须、毛发浓密的男性气质" },
|
|
32
|
+
|
|
33
|
+
// -------------------- Age --------------------
|
|
34
|
+
"age-baby": { label: "婴儿", description: "2 岁以下" },
|
|
35
|
+
"age-child": { label: "儿童", description: "约 5–12 岁" },
|
|
36
|
+
"age-teen": { label: "青少年", description: "13–19 岁" },
|
|
37
|
+
"age-20s": { label: "20 多岁", description: "二十几岁" },
|
|
38
|
+
"age-30s": { label: "30 多岁", description: "三十几岁" },
|
|
39
|
+
"age-40s": { label: "40 多岁", description: "四十几岁" },
|
|
40
|
+
"age-50s": { label: "50 多岁", description: "五十几岁" },
|
|
41
|
+
"age-60s": { label: "60 多岁", description: "六十几岁" },
|
|
42
|
+
"age-elderly": { label: "年长", description: "70 岁以上" },
|
|
43
|
+
|
|
44
|
+
// -------------------- Ethnicity --------------------
|
|
45
|
+
"asian-any": { label: "亚裔(不限)", description: "亚裔——未指定地区" },
|
|
46
|
+
"east-asian": { label: "东亚裔(不限)", description: "东亚相貌特征(广义)" },
|
|
47
|
+
"chinese": { label: "华裔", description: "汉族中国人特征" },
|
|
48
|
+
"japanese": { label: "日本裔", description: "日本人相貌特征" },
|
|
49
|
+
"korean": { label: "韩裔", description: "韩国人相貌特征" },
|
|
50
|
+
"mongolian-tibetan": { label: "蒙古裔 / 藏裔", description: "蒙古 / 藏族相貌特征" },
|
|
51
|
+
"south-asian": { label: "南亚 / 印度裔", description: "印度 / 巴基斯坦 / 孟加拉 / 斯里兰卡" },
|
|
52
|
+
"southeast-asian": { label: "东南亚裔(不限)", description: "东南亚相貌特征(广义)" },
|
|
53
|
+
"thai": { label: "泰国裔", description: "泰国人相貌特征" },
|
|
54
|
+
"vietnamese": { label: "越南裔", description: "越南人相貌特征" },
|
|
55
|
+
"indonesian-malay": { label: "印尼 / 马来裔", description: "印尼 / 马来相貌特征" },
|
|
56
|
+
"khmer": { label: "高棉 / 柬埔寨裔", description: "高棉 / 柬埔寨相貌特征" },
|
|
57
|
+
"filipino": { label: "菲律宾裔", description: "菲律宾相貌特征(亚裔加西班牙血统)" },
|
|
58
|
+
"mena-any": { label: "中东 / 北非(不限)", description: "MENA 地区——未指定" },
|
|
59
|
+
"middle-eastern": { label: "中东(阿拉伯)", description: "阿拉伯 / 黎凡特 / 海湾相貌特征" },
|
|
60
|
+
"turkish": { label: "土耳其裔", description: "安纳托利亚土耳其相貌特征" },
|
|
61
|
+
"persian": { label: "波斯 / 伊朗裔", description: "印欧伊朗相貌特征" },
|
|
62
|
+
"israeli": { label: "以色列裔", description: "以色列相貌特征(地中海·黎凡特,广义)" },
|
|
63
|
+
"african": { label: "非洲裔(不限)", description: "撒哈拉以南非洲——未指定地区" },
|
|
64
|
+
"west-african": { label: "西非裔", description: "约鲁巴 / 伊博 / 阿坎 / 沃洛夫" },
|
|
65
|
+
"east-african": { label: "东非裔", description: "索马里 / 埃塞俄比亚 / 斯瓦希里" },
|
|
66
|
+
"central-african": { label: "中非裔", description: "班图 / 刚果 / 安哥拉" },
|
|
67
|
+
"southern-african": { label: "南部非洲裔", description: "祖鲁 / 科萨 / 索托" },
|
|
68
|
+
"afro-caribbean": { label: "非裔加勒比", description: "英语加勒比(牙买加 / 特立尼达 / 巴巴多斯)" },
|
|
69
|
+
"european-any": { label: "欧洲裔(不限)", description: "欧洲——未指定地区" },
|
|
70
|
+
"nordic": { label: "北欧裔(任意)", description: "任何斯堪的纳维亚 / 北欧 — 地区不限" },
|
|
71
|
+
"swedish": { label: "瑞典裔", description: "瑞典 — 高个,常为金发,五官精致" },
|
|
72
|
+
"norwegian": { label: "挪威裔", description: "挪威 — 肤色白皙,常浅色眼睛" },
|
|
73
|
+
"danish": { label: "丹麦裔", description: "丹麦 — 五官柔和,灰金发常见" },
|
|
74
|
+
"finnish": { label: "芬兰裔", description: "芬兰 — 乌拉尔人五官,高颧骨" },
|
|
75
|
+
"icelandic": { label: "冰岛裔", description: "冰岛 — 北欧 + 凯尔特混血,棱角分明的五官" },
|
|
76
|
+
"celtic": { label: "凯尔特裔", description: "英国 / 爱尔兰相貌特征" },
|
|
77
|
+
"mediterranean": { label: "地中海裔", description: "南欧(广义)" },
|
|
78
|
+
"slavic": { label: "斯拉夫裔", description: "东欧相貌特征" },
|
|
79
|
+
"czech": { label: "捷克裔", description: "捷克相貌特征(西斯拉夫,中欧)" },
|
|
80
|
+
"russian": { label: "俄罗斯裔", description: "俄罗斯相貌特征(东斯拉夫)" },
|
|
81
|
+
"ukrainian": { label: "乌克兰裔", description: "乌克兰相貌特征(东斯拉夫)" },
|
|
82
|
+
"italian": { label: "意大利裔", description: "意大利相貌特征" },
|
|
83
|
+
"iberian": { label: "伊比利亚(西班牙 / 葡萄牙)", description: "西班牙 / 葡萄牙,带凯尔特伊比利亚与摩尔血统" },
|
|
84
|
+
"french": { label: "法国裔", description: "法国人相貌特征(南北各异)" },
|
|
85
|
+
"germanic": { label: "日耳曼裔", description: "德国 / 奥地利 / 荷兰 / 瑞士德语区" },
|
|
86
|
+
"greek": { label: "希腊裔", description: "希腊人相貌特征" },
|
|
87
|
+
"baltic": { label: "波罗的海裔", description: "立陶宛 / 拉脱维亚 / 爱沙尼亚" },
|
|
88
|
+
"latin-american": { label: "拉丁美洲裔(不限)", description: "拉丁美洲——未指定地区" },
|
|
89
|
+
"mexican-mesoamerican":{ label: "墨西哥 / 中美裔", description: "墨西哥 / 危地马拉 / 中美 mestizo" },
|
|
90
|
+
"caribbean-latino": { label: "加勒比拉丁裔", description: "古巴 / 多米尼加 / 波多黎各" },
|
|
91
|
+
"brazilian": { label: "巴西裔", description: "巴西(葡萄牙 + 非洲 + 原住民)" },
|
|
92
|
+
"andean-indigenous": { label: "安第斯 / 拉美原住民", description: "克丘亚 / 艾马拉 / 玛雅 / 纳瓦" },
|
|
93
|
+
"southern-cone": { label: "南锥欧洲裔", description: "阿根廷 / 乌拉圭 / 智利(以欧洲血统为主)" },
|
|
94
|
+
"indigenous-any": { label: "原住民(不限)", description: "原住民——未指定族群" },
|
|
95
|
+
"native-american": { label: "美洲原住民", description: "美洲原住民 / 第一民族" },
|
|
96
|
+
"aboriginal-australian":{ label: "澳大利亚原住民", description: "澳大利亚原住民 / 托雷斯海峡岛民" },
|
|
97
|
+
"pacific-islander": { label: "太平洋岛民", description: "波利尼西亚 / 毛利 / 萨摩亚 / 夏威夷" },
|
|
98
|
+
"inuit": { label: "因纽特 / 北极裔", description: "因纽特 / 尤皮克 / 阿留申" },
|
|
99
|
+
"mixed": { label: "混血", description: "混合血统" },
|
|
100
|
+
|
|
101
|
+
// Body (frame / body-mass / bust / waist / hips / silhouette)
|
|
102
|
+
"frame-petite": { label: "娇小", description: "矮小、骨架小巧的身形" },
|
|
103
|
+
"frame-slim": { label: "苗条", description: "纤细、修长的身形" },
|
|
104
|
+
"frame-average": { label: "中等", description: "中等身形" },
|
|
105
|
+
"frame-broad": { label: "宽阔", description: "宽厚、肩部宽阔的身形" },
|
|
106
|
+
"mass-lean": { label: "精瘦", description: "精瘦,体脂偏低" },
|
|
107
|
+
"mass-average": { label: "适中", description: "适中的体型" },
|
|
108
|
+
"mass-full": { label: "丰满", description: "丰满的体型" },
|
|
109
|
+
"mass-heavy": { label: "厚实", description: "厚实、魁梧的体型" },
|
|
110
|
+
"bust-small": { label: "较小", description: "较小的胸部" },
|
|
111
|
+
"bust-average": { label: "适中", description: "适中的胸部" },
|
|
112
|
+
"bust-full": { label: "丰满", description: "丰满的胸部" },
|
|
113
|
+
"bust-very-full": { label: "非常丰满", description: "非常丰满的胸部" },
|
|
114
|
+
"waist-defined": { label: "纤细", description: "纤细、收束分明的腰部" },
|
|
115
|
+
"waist-average": { label: "适中", description: "适中的腰部" },
|
|
116
|
+
"waist-straight": { label: "平直", description: "平直、线条不明显的腰部" },
|
|
117
|
+
"hips-narrow": { label: "较窄", description: "较窄的臀部" },
|
|
118
|
+
"hips-balanced": { label: "均衡", description: "均衡的臀部" },
|
|
119
|
+
"hips-wide": { label: "较宽", description: "较宽的臀部" },
|
|
120
|
+
"silhouette-hourglass": { label: "沙漏型", description: "胸臀均衡,腰部分明" },
|
|
121
|
+
"silhouette-rectangular": { label: "矩形", description: "上下笔直的轮廓" },
|
|
122
|
+
"silhouette-pear": { label: "梨形", description: "臀部比肩部宽" },
|
|
123
|
+
"silhouette-inverted": { label: "倒三角", description: "肩部宽阔,臀部较窄" },
|
|
124
|
+
"silhouette-athletic": { label: "运动型", description: "精瘦紧致,呈 V 形线条" },
|
|
125
|
+
|
|
126
|
+
// -------------------- Face Shape --------------------
|
|
127
|
+
"face-oval": { label: "椭圆脸", description: "略长于宽、线条柔和" },
|
|
128
|
+
"face-round": { label: "圆脸", description: "柔和的圆形脸" },
|
|
129
|
+
"face-square": { label: "方脸", description: "下颌有力,额头与下颌等宽" },
|
|
130
|
+
"face-heart": { label: "心形脸", description: "额头较宽、下巴尖" },
|
|
131
|
+
"face-diamond": { label: "钻石脸", description: "额头与下巴窄、颧骨宽" },
|
|
132
|
+
"face-oblong": { label: "长脸", description: "又长又窄" },
|
|
133
|
+
"face-triangular": { label: "三角脸", description: "额头窄、下颌宽" },
|
|
134
|
+
|
|
135
|
+
// -------------------- Jawline --------------------
|
|
136
|
+
"jaw-strong": { label: "下颌有力", description: "锐利、轮廓分明的下颌线" },
|
|
137
|
+
"jaw-soft": { label: "下颌柔和", description: "柔和圆润的下颌" },
|
|
138
|
+
"jaw-pointed": { label: "尖下颌", description: "下巴尖、下颌窄" },
|
|
139
|
+
"jaw-wide": { label: "宽下颌", description: "宽阔的下颌" },
|
|
140
|
+
"jaw-double": { label: "双下巴", description: "明显的双下巴" },
|
|
141
|
+
|
|
142
|
+
// -------------------- Eye Shape --------------------
|
|
143
|
+
"eye-almond": { label: "杏仁眼", description: "杏仁形,眼角微上扬" },
|
|
144
|
+
"eye-round": { label: "圆眼", description: "圆而宽的眼睛" },
|
|
145
|
+
"eye-hooded": { label: "眼皮包眼", description: "上眼皮部分遮盖眼褶" },
|
|
146
|
+
"eye-monolid": { label: "单眼皮", description: "无明显眼褶,眼睑光滑" },
|
|
147
|
+
"eye-deep-set": { label: "深邃眼", description: "眼眶较深" },
|
|
148
|
+
"eye-downturned": { label: "下垂眼", description: "外眼角下倾" },
|
|
149
|
+
"eye-upturned": { label: "上扬眼", description: "外眼角上挑" },
|
|
150
|
+
"eye-wide-set": { label: "宽距眼", description: "两眼距离较远" },
|
|
151
|
+
"eye-close-set": { label: "近距眼", description: "两眼距离较近" },
|
|
152
|
+
"eye-double-eyelid":{ label: "双眼皮", description: "上眼睑有清晰的双眼皮褶" },
|
|
153
|
+
|
|
154
|
+
// -------------------- Nose --------------------
|
|
155
|
+
"nose-straight": { label: "直鼻", description: "鼻梁笔直" },
|
|
156
|
+
"nose-aquiline": { label: "鹰钩鼻", description: "弯曲鹰钩般的鼻梁" },
|
|
157
|
+
"nose-roman": { label: "罗马鼻", description: "鼻梁高挺,带轻微凸起" },
|
|
158
|
+
"nose-snub": { label: "微翘鼻", description: "短而略上翘" },
|
|
159
|
+
"nose-button": { label: "纽扣鼻", description: "小巧、鼻尖圆润" },
|
|
160
|
+
"nose-broad": { label: "宽鼻", description: "鼻孔宽,鼻梁宽" },
|
|
161
|
+
"nose-narrow": { label: "窄鼻", description: "细窄" },
|
|
162
|
+
"nose-hooked": { label: "钩形鼻", description: "鼻尖明显弯钩" },
|
|
163
|
+
|
|
164
|
+
// -------------------- Lips --------------------
|
|
165
|
+
"lips-thin": { label: "薄唇", description: "嘴唇较薄" },
|
|
166
|
+
"lips-medium": { label: "中等唇", description: "唇部丰满程度中等" },
|
|
167
|
+
"lips-full": { label: "丰唇", description: "丰润饱满的嘴唇" },
|
|
168
|
+
"lips-wide": { label: "宽嘴", description: "嘴形宽阔" },
|
|
169
|
+
"lips-cupids-bow": { label: "丘比特弓唇", description: "上唇丘比特弓明显" },
|
|
170
|
+
"lips-small": { label: "小嘴", description: "小巧嘴形" },
|
|
171
|
+
|
|
172
|
+
// -------------------- Lip State --------------------
|
|
173
|
+
"lip-state-chapped": { label: "干裂", description: "干裂、风吹日晒过的唇" },
|
|
174
|
+
"lip-state-glossy": { label: "唇蜜感", description: "高光泽、湿润感的唇" },
|
|
175
|
+
"lip-state-bare": { label: "素唇", description: "自然、未上妆" },
|
|
176
|
+
"lip-state-bold-red": { label: "正红唇", description: "饱和正红色口红宣言" },
|
|
177
|
+
"lip-state-bitten": { label: "咬唇", description: "顽皮地咬一下下唇" },
|
|
178
|
+
"lip-state-parted": { label: "微张", description: "嘴唇微张,似有呼吸" },
|
|
179
|
+
"lip-state-pursed": { label: "撅嘴", description: "嘴唇紧紧抿起向前送" },
|
|
180
|
+
"lip-state-pouting": { label: "嘟嘴", description: "饱满的撅嘴表情" },
|
|
181
|
+
|
|
182
|
+
// -------------------- Hair Color --------------------
|
|
183
|
+
"hair-platinum": { label: "铂金色头发", description: "极浅的、冰雪般的铂金色" },
|
|
184
|
+
"hair-creamy": { label: "奶油色头发", description: "暖奶油 / 香草色金发" },
|
|
185
|
+
"hair-blonde": { label: "金发", description: "经典金色头发" },
|
|
186
|
+
"hair-honey": { label: "蜂蜜色头发", description: "暖蜂蜜金色金发" },
|
|
187
|
+
"hair-strawberry": { label: "草莓金发", description: "带粉红的金发" },
|
|
188
|
+
"hair-ash-blonde": { label: "亚麻金发", description: "冷调、灰调的金发" },
|
|
189
|
+
"hair-ginger": { label: "姜黄色头发", description: "明亮的姜黄色(红橙)" },
|
|
190
|
+
"hair-copper": { label: "铜色头发", description: "鲜艳铜色橙红" },
|
|
191
|
+
"hair-red": { label: "红色头发", description: "经典红发" },
|
|
192
|
+
"hair-auburn": { label: "赤褐色头发", description: "深红棕色" },
|
|
193
|
+
"hair-burgundy": { label: "酒红色头发", description: "暗红酒色" },
|
|
194
|
+
"hair-light-brown": { label: "浅棕色头发", description: "浅棕色头发" },
|
|
195
|
+
"hair-caramel": { label: "焦糖色头发", description: "暖焦糖棕色" },
|
|
196
|
+
"hair-brown": { label: "棕色头发", description: "中棕色头发" },
|
|
197
|
+
"hair-chestnut": { label: "栗色头发", description: "暖红棕色栗子色" },
|
|
198
|
+
"hair-chocolate": { label: "巧克力色头发", description: "深巧克力棕色" },
|
|
199
|
+
"hair-dark-brown": { label: "深棕色头发", description: "深棕色头发" },
|
|
200
|
+
"hair-black": { label: "黑色头发", description: "经典黑发" },
|
|
201
|
+
"hair-jet-black": { label: "墨黑色头发", description: "带蓝色调的极黑色" },
|
|
202
|
+
"hair-gray": { label: "灰色头发", description: "灰色头发" },
|
|
203
|
+
"hair-salt-pepper": { label: "花白头发", description: "黑灰相间的头发" },
|
|
204
|
+
"hair-white": { label: "白色头发", description: "白发" },
|
|
205
|
+
"hair-silver": { label: "银色", description: "明亮金属银" },
|
|
206
|
+
"hair-rose-gold": { label: "玫瑰金", description: "柔和玫瑰金金属" },
|
|
207
|
+
"hair-dyed": { label: "彩色(任意)", description: "鲜艳染发 — 不限颜色" },
|
|
208
|
+
"hair-blue": { label: "蓝色", description: "鲜艳蓝色染发" },
|
|
209
|
+
"hair-pastel-blue": { label: "浅蓝", description: "柔和粉彩天蓝" },
|
|
210
|
+
"hair-teal": { label: "蓝绿", description: "高饱和蓝绿" },
|
|
211
|
+
"hair-mint": { label: "薄荷绿", description: "浅薄荷绿" },
|
|
212
|
+
"hair-green": { label: "绿色", description: "鲜艳绿色染发" },
|
|
213
|
+
"hair-lavender": { label: "薰衣草", description: "柔和薰衣草紫" },
|
|
214
|
+
"hair-purple": { label: "紫色", description: "深邃浓郁紫" },
|
|
215
|
+
"hair-magenta": { label: "洋红", description: "鲜艳洋红粉紫" },
|
|
216
|
+
"hair-pink": { label: "粉色", description: "鲜艳粉色染发" },
|
|
217
|
+
"hair-pastel-pink": { label: "浅粉", description: "柔和粉彩棉花糖粉" },
|
|
218
|
+
"hair-peach": { label: "桃色", description: "暖桃金粉" },
|
|
219
|
+
"hair-mermaid": { label: "美人鱼", description: "蓝绿紫海洋混色" },
|
|
220
|
+
"hair-rainbow": { label: "彩虹", description: "多色彩虹挑染" },
|
|
221
|
+
|
|
222
|
+
// -------------------- Hair Base --------------------
|
|
223
|
+
"base-bald": { label: "光头 / 剃光", description: "光头或完全剃光" },
|
|
224
|
+
"base-buzz": { label: "板寸", description: "极短的板寸" },
|
|
225
|
+
"base-short-straight": { label: "短直发", description: "短而直的发质" },
|
|
226
|
+
"base-short-wavy": { label: "短波浪", description: "短而带波浪" },
|
|
227
|
+
"base-short-curly": { label: "短卷发", description: "短而卷的发质" },
|
|
228
|
+
"base-short-coily": { label: "短紧卷", description: "短而紧密卷曲" },
|
|
229
|
+
"base-medium-straight": { label: "中长直发", description: "及肩长度,直发" },
|
|
230
|
+
"base-medium-wavy": { label: "中长波浪", description: "及肩长度,波浪" },
|
|
231
|
+
"base-medium-curly": { label: "中长卷发", description: "及肩长度,卷发" },
|
|
232
|
+
"base-medium-coily": { label: "中长紧卷", description: "及肩长度,紧密卷曲" },
|
|
233
|
+
"base-long-straight": { label: "长直发", description: "及背长度,直发" },
|
|
234
|
+
"base-long-wavy": { label: "长波浪", description: "及背长度,波浪" },
|
|
235
|
+
"base-long-curly": { label: "长卷发", description: "及背长度,卷发" },
|
|
236
|
+
"base-long-coily": { label: "长紧卷", description: "及背长度,紧密卷曲" },
|
|
237
|
+
"base-very-long-straight": { label: "超长直发", description: "及腰长度,直发" },
|
|
238
|
+
"base-very-long-wavy": { label: "超长波浪", description: "及腰长度,波浪" },
|
|
239
|
+
"base-very-long-curly": { label: "超长卷发", description: "及腰长度,卷发" },
|
|
240
|
+
"base-afro": { label: "爆炸头", description: "蓬松圆润的爆炸头" },
|
|
241
|
+
"base-thinning": { label: "稀疏 / 后退发际", description: "可见稀疏或发际线后退" },
|
|
242
|
+
"base-wet": { label: "湿发", description: "湿润、贴顺的头发" },
|
|
243
|
+
|
|
244
|
+
// -------------------- Eyebrows --------------------
|
|
245
|
+
"brows-natural": { label: "自然眉", description: "自然未修饰的眉" },
|
|
246
|
+
"brows-thick": { label: "粗 / 浓眉", description: "浓密粗壮的眉" },
|
|
247
|
+
"brows-thin": { label: "细 / 铅笔眉", description: "细而铅笔状的眉" },
|
|
248
|
+
"brows-arched": { label: "弯眉", description: "弧度强烈、戏剧性弯眉" },
|
|
249
|
+
"brows-straight": { label: "平眉", description: "平直的水平眉" },
|
|
250
|
+
"brows-bold": { label: "醒目浓眉", description: "线条清晰、深色饱满的眉" },
|
|
251
|
+
"brows-soft": { label: "柔和 / 浅淡眉", description: "柔和、浅淡、若有若无的眉" },
|
|
252
|
+
"brows-microbladed": { label: "雾眉", description: "纹绣般干净利落的眉" },
|
|
253
|
+
"brows-tinted": { label: "染色眉", description: "染成与发色不同的颜色" },
|
|
254
|
+
"brows-unibrow": { label: "一字眉", description: "连在一起的一字眉" },
|
|
255
|
+
|
|
256
|
+
// -------------------- Skin Tone --------------------
|
|
257
|
+
"skin-very-fair": { label: "极白", description: "极白 / 苍白皮肤" },
|
|
258
|
+
"skin-fair": { label: "白皙", description: "白皙皮肤" },
|
|
259
|
+
"skin-medium": { label: "中等", description: "中等肤色" },
|
|
260
|
+
"skin-olive": { label: "橄榄色", description: "橄榄色皮肤" },
|
|
261
|
+
"skin-tan": { label: "小麦色", description: "小麦色皮肤" },
|
|
262
|
+
"skin-brown": { label: "棕色", description: "棕色皮肤" },
|
|
263
|
+
"skin-dark": { label: "深色", description: "深色皮肤" },
|
|
264
|
+
|
|
265
|
+
// -------------------- Eye Color --------------------
|
|
266
|
+
"eyes-brown": { label: "棕色眼睛", description: "棕色眼睛" },
|
|
267
|
+
"eyes-blue": { label: "蓝色眼睛", description: "蓝色眼睛" },
|
|
268
|
+
"eyes-green": { label: "绿色眼睛", description: "绿色眼睛" },
|
|
269
|
+
"eyes-hazel": { label: "榛色眼睛", description: "榛色眼睛" },
|
|
270
|
+
"eyes-gray": { label: "灰色眼睛", description: "灰色眼睛" },
|
|
271
|
+
"eyes-amber": { label: "琥珀色眼睛", description: "琥珀色眼睛" },
|
|
272
|
+
"eyes-violet": { label: "紫罗兰", description: "罕见紫罗兰双眼 (Liz Taylor)" },
|
|
273
|
+
"eyes-gold": { label: "金色", description: "明亮金色虹膜" },
|
|
274
|
+
"eyes-silver": { label: "银色", description: "浅银灰虹膜" },
|
|
275
|
+
"eyes-red": { label: "红色", description: "红色虹膜(白化/奇幻)" },
|
|
276
|
+
"eyes-pink": { label: "粉色", description: "柔和粉色虹膜(白化/奇幻)" },
|
|
277
|
+
"eyes-turquoise": { label: "绿松石", description: "鲜艳绿松石蓝绿虹膜" },
|
|
278
|
+
|
|
279
|
+
// -------------------- Eye State --------------------
|
|
280
|
+
"eye-state-closed": { label: "闭眼", description: "双眼紧闭、安详" },
|
|
281
|
+
"eye-state-half-lidded": { label: "半阖", description: "眼帘沉重、慵懒目光" },
|
|
282
|
+
"eye-state-wide-eyed": { label: "睁大", description: "双眼大睁、惊讶警觉" },
|
|
283
|
+
"eye-state-staring-camera": { label: "凝视镜头", description: "与镜头持续直视" },
|
|
284
|
+
"eye-state-gazing-away": { label: "望向远方", description: "目光偏离镜头、若有所思" },
|
|
285
|
+
"eye-state-gazing-up": { label: "向上看", description: "目光抬向上方" },
|
|
286
|
+
"eye-state-gazing-down": { label: "向下看", description: "目光低垂" },
|
|
287
|
+
"eye-state-glassy": { label: "湿润", description: "眼里含泪、湿亮" },
|
|
288
|
+
|
|
289
|
+
// -------------------- Facial Hair --------------------
|
|
290
|
+
"face-clean-shaven": { label: "胡须刮净", description: "干净刮净的脸" },
|
|
291
|
+
"face-stubble": { label: "胡渣", description: "轻度胡渣" },
|
|
292
|
+
"face-mustache": { label: "胡须", description: "胡须" },
|
|
293
|
+
"face-goatee": { label: "山羊胡", description: "山羊胡" },
|
|
294
|
+
"face-short-beard": { label: "短络腮胡", description: "修剪过的短络腮胡" },
|
|
295
|
+
"face-full-beard": { label: "络腮胡", description: "浓密的络腮胡" },
|
|
296
|
+
|
|
297
|
+
// -------------------- Skin Texture --------------------
|
|
298
|
+
"texture-smooth": { label: "光滑", description: "无瑕、丝滑光滑的皮肤" },
|
|
299
|
+
"texture-wrinkled": { label: "皱纹", description: "苍老、布满细纹的皮肤" },
|
|
300
|
+
"texture-goosebumps": { label: "起鸡皮疙瘩", description: "皮肤上起的鸡皮疙瘩" },
|
|
301
|
+
"texture-dewy": { label: "水光感", description: "光泽、水润的肌肤" },
|
|
302
|
+
"texture-glistening": { label: "闪亮", description: "汗水或油光的反光" },
|
|
303
|
+
"texture-weathered": { label: "饱经风霜", description: "饱晒、粗糙的皮肤" },
|
|
304
|
+
"texture-porcelain": { label: "瓷肌", description: "无瑕、近乎半透明的瓷质感肌肤" },
|
|
305
|
+
"texture-sun-kissed": { label: "阳光小麦色", description: "暖色小麦肌带健康光泽" },
|
|
306
|
+
"texture-tanned": { label: "晒黑", description: "深而均匀晒黑的皮肤" },
|
|
307
|
+
"texture-tan-lines": { label: "晒痕", description: "泳装留下的晒痕" },
|
|
308
|
+
"texture-freckled": { label: "雀斑", description: "脸颊和鼻梁上的雀斑" },
|
|
309
|
+
"texture-ruddy": { label: "红润", description: "脸颊和鼻头泛着粉色" },
|
|
310
|
+
"texture-ashen": { label: "苍白", description: "冷调苍白、近乎贫血的肤色" },
|
|
311
|
+
"texture-oily": { label: "油亮", description: "T 区微微出油的光泽" },
|
|
312
|
+
"texture-matte": { label: "哑光", description: "毛孔隐形的哑光肌" },
|
|
313
|
+
"texture-blemished": { label: "瑕疵肌", description: "可见的瑕疵、真实皮肤的不完美" },
|
|
314
|
+
"texture-baby-soft": { label: "婴儿肌", description: "幼细、毛孔细致、年轻光滑" },
|
|
315
|
+
"texture-shower-fresh-wet":{ label: "出浴湿润肌", description: "刚出浴的湿润肌肤,有水珠停留" },
|
|
316
|
+
|
|
317
|
+
// -------------------- Distinctive Features --------------------
|
|
318
|
+
"feature-glasses": { label: "眼镜", description: "戴眼镜" },
|
|
319
|
+
"feature-freckles": { label: "雀斑", description: "可见雀斑" },
|
|
320
|
+
"feature-tattoos": { label: "纹身", description: "可见纹身" },
|
|
321
|
+
"feature-scar": { label: "疤痕", description: "面部疤痕" },
|
|
322
|
+
"feature-dimples": { label: "酒窝", description: "脸颊酒窝" },
|
|
323
|
+
"feature-piercing": { label: "穿孔", description: "可见穿孔" },
|
|
324
|
+
"feature-birthmark": { label: "胎记", description: "脸部或肩部可见胎记" },
|
|
325
|
+
"feature-mole": { label: "美人痣", description: "上唇附近一颗醒目的痣" },
|
|
326
|
+
"feature-gap-teeth": { label: "缝牙", description: "门牙之间有缝隙" },
|
|
327
|
+
"feature-aegyo-sal": { label: "卧蚕", description: "K-beauty 钟爱的眼下饱满卧蚕" },
|
|
328
|
+
"feature-eye-bags": { label: "眼袋", description: "轻微的眼下黑眼圈" },
|
|
329
|
+
"feature-dimpled-chin": { label: "下巴酒窝", description: "下巴上柔和的小酒窝" },
|
|
330
|
+
"feature-cleft-chin": { label: "下巴沟", description: "下巴上明显的纵向沟" },
|
|
331
|
+
"feature-heterochromia": { label: "异色瞳", description: "两眼虹膜颜色不同" },
|
|
332
|
+
"feature-vitiligo": { label: "白癜风", description: "皮肤上有色素脱失斑" },
|
|
333
|
+
"feature-sleeve-tattoo": { label: "全臂纹身", description: "一只手臂的整套纹身花臂" },
|
|
334
|
+
"feature-face-tattoo": { label: "脸部纹身", description: "眼角或颧骨附近的小型脸部纹身" },
|
|
335
|
+
"feature-hand-tattoos": { label: "手部纹身", description: "指节 / 手指上的纹身" },
|
|
336
|
+
"feature-visible-piercings":{ label: "多处穿孔", description: "多个可见的穿孔(鼻中隔、鼻翼、唇钉、多耳钉)" },
|
|
337
|
+
"feature-bare-shoulders": { label: "裸肩", description: "肩膀裸露在外" },
|
|
338
|
+
"feature-collarbone-visible":{ label: "锁骨明显", description: "锁骨清晰可见、迎光" },
|
|
339
|
+
"feature-midriff-visible": { label: "腰腹露出", description: "上下衣之间露出腰腹" },
|
|
340
|
+
"feature-navel-visible": { label: "肚脐外露", description: "裸露肚子上可见肚脐" },
|
|
341
|
+
"feature-elongated-neck": { label: "天鹅颈", description: "细长如天鹅般的颈部" },
|
|
342
|
+
"feature-back-tattoo": { label: "背部纹身", description: "横跨整个背部的大型纹身" },
|
|
343
|
+
"feature-chest-tattoo": { label: "胸前纹身", description: "胸口 / 锁骨处的纹身" },
|
|
344
|
+
"feature-leg-tattoo": { label: "腿部纹身", description: "腿 / 小腿 / 大腿上可见的纹身" },
|
|
345
|
+
"feature-forearm-tattoo": { label: "前臂纹身", description: "前臂内侧或外侧的纹身" },
|
|
346
|
+
"feature-ear-piercings": { label: "多耳穿孔", description: "多个堆叠的耳部穿孔(耳骨、耳轮、耳窝)" },
|
|
347
|
+
"feature-lip-piercing": { label: "唇钉", description: "唇环 / 唇钉" },
|
|
348
|
+
"feature-nostril-piercing": { label: "鼻翼穿孔", description: "单只鼻翼上的钉饰或环" },
|
|
349
|
+
|
|
350
|
+
// ----- New age entries -----
|
|
351
|
+
"age-toddler": { label: "幼儿", description: "约 2-3 岁" },
|
|
352
|
+
"age-young-child": { label: "幼童", description: "约 4-6 岁" },
|
|
353
|
+
"age-pre-teen": { label: "学龄前少年", description: "约 10-12 岁" },
|
|
354
|
+
"age-early-teen": { label: "青春期前期", description: "约 13-15 岁" },
|
|
355
|
+
"age-late-teen": { label: "青春期后期", description: "约 16-19 岁" },
|
|
356
|
+
"age-early-20s": { label: "二十出头", description: "约 20-23 岁" },
|
|
357
|
+
"age-late-20s": { label: "二十多岁后期", description: "约 24-29 岁" },
|
|
358
|
+
"age-custom": { label: "自定义年龄...", description: "以年为单位指定确切年龄" },
|
|
359
|
+
|
|
360
|
+
// ----- Primitive / Wild -----
|
|
361
|
+
"caveman": { label: "穴居男人", description: "石器时代的原始男性" },
|
|
362
|
+
"cavewoman": { label: "穴居女人", description: "石器时代的原始女性" },
|
|
363
|
+
"apeman": { label: "猿人", description: "半人半猿的混合体" },
|
|
364
|
+
"feral-wildman": { label: "野人", description: "毛发蓬乱的原始野人" },
|
|
365
|
+
"neanderthal": { label: "尼安德特人", description: "前现代人类物种" },
|
|
366
|
+
|
|
367
|
+
// ----- Fantasy -----
|
|
368
|
+
"elf-man": { label: "精灵(男)", description: "尖耳朵的男性人形生物" },
|
|
369
|
+
"elf-woman": { label: "精灵(女)", description: "尖耳朵的女性人形生物" },
|
|
370
|
+
"elf": { label: "精灵", description: "尖耳朵的修长人形生物" },
|
|
371
|
+
"half-elf": { label: "半精灵", description: "人类与精灵的混血" },
|
|
372
|
+
"dwarf": { label: "矮人", description: "粗壮多须的人形生物" },
|
|
373
|
+
"orc": { label: "兽人", description: "獠牙粗重的人形生物" },
|
|
374
|
+
"goblin": { label: "哥布林", description: "矮小狡黠的人形生物" },
|
|
375
|
+
"tiefling": { label: "提夫林", description: "有角且具地狱血统的人形生物" },
|
|
376
|
+
"faun": { label: "羊男 / 萨提尔", description: "羊腿带角的人形生物" },
|
|
377
|
+
"centaur": { label: "半人马", description: "马身上的人类躯干" },
|
|
378
|
+
"vampire-man": { label: "吸血鬼(男)", description: "苍白带尖牙的男性不死生物" },
|
|
379
|
+
"vampire-woman": { label: "吸血鬼(女)", description: "苍白带尖牙的女性不死生物" },
|
|
380
|
+
"vampire": { label: "吸血鬼", description: "苍白带尖牙的不死生物" },
|
|
381
|
+
"werewolf": { label: "狼人", description: "部分变形的狼人" },
|
|
382
|
+
"mermaid": { label: "美人鱼(女)", description: "拥有鱼尾的女性人形" },
|
|
383
|
+
"merman": { label: "美人鱼(男)", description: "拥有鱼尾的男性人形" },
|
|
384
|
+
"dragonkin": { label: "龙裔", description: "有鳞的龙形人形生物" },
|
|
385
|
+
"wizard": { label: "巫师", description: "穿长袍的男性施法者" },
|
|
386
|
+
"witch": { label: "女巫", description: "穿长袍的女性施法者" },
|
|
387
|
+
"sorcerer": { label: "男魔法师", description: "飘逸长袍中的男性魔法师" },
|
|
388
|
+
"sorceress": { label: "女魔法师", description: "飘逸长袍中的女性魔法师" },
|
|
389
|
+
"knight-man": { label: "骑士(男)", description: "穿板甲的男性战士" },
|
|
390
|
+
"knight-woman": { label: "骑士(女)", description: "穿板甲的女性战士" },
|
|
391
|
+
"knight": { label: "骑士", description: "穿板甲的战士" },
|
|
392
|
+
"barbarian-man": { label: "蛮族战士(男)", description: "穿兽皮的健壮男性战士" },
|
|
393
|
+
"barbarian-woman": { label: "蛮族战士(女)", description: "穿兽皮的健壮女性战士" },
|
|
394
|
+
"barbarian": { label: "蛮族战士", description: "穿兽皮的健壮战士" },
|
|
395
|
+
"druid": { label: "德鲁伊", description: "与自然结合的神秘者" },
|
|
396
|
+
"ranger": { label: "游侠", description: "穿斗篷的弓箭手 / 荒野侦察兵" },
|
|
397
|
+
"necromancer": { label: "死灵法师", description: "苍白的黑魔法施法者" },
|
|
398
|
+
"prince": { label: "王子", description: "皇室年轻男性" },
|
|
399
|
+
"princess": { label: "公主", description: "皇室年轻女性" },
|
|
400
|
+
|
|
401
|
+
// ----- Mythic / Divine -----
|
|
402
|
+
"angel": { label: "天使", description: "带翅膀的神圣人形" },
|
|
403
|
+
"demon": { label: "恶魔", description: "带角的地狱人形" },
|
|
404
|
+
"ghost": { label: "鬼魂", description: "半透明的幽灵形象" },
|
|
405
|
+
"valkyrie": { label: "女武神", description: "北欧战士灵魂女性" },
|
|
406
|
+
"god": { label: "男神", description: "男性神祇" },
|
|
407
|
+
"goddess": { label: "女神", description: "女性神祇" },
|
|
408
|
+
|
|
409
|
+
// ----- Sci-Fi -----
|
|
410
|
+
"android-man": { label: "机器人(男)", description: "男性人形机器人" },
|
|
411
|
+
"android-woman": { label: "机器人(女)", description: "女性人形机器人" },
|
|
412
|
+
"android-neutral": { label: "机器人", description: "人形机器人,性别未指定" },
|
|
413
|
+
"cyborg-man": { label: "改造人(男)", description: "男性人机混合体" },
|
|
414
|
+
"cyborg-woman": { label: "改造人(女)", description: "女性人机混合体" },
|
|
415
|
+
"cyborg": { label: "改造人", description: "人机混合体" },
|
|
416
|
+
"robot": { label: "机器人", description: "完全机械的人形机器人" },
|
|
417
|
+
"alien": { label: "外星人", description: "非人类人形生物" },
|
|
418
|
+
"astronaut": { label: "宇航员", description: "穿宇航服的太空探险家" },
|
|
419
|
+
"space-marine": { label: "太空陆战队", description: "穿动力装甲的士兵" },
|
|
420
|
+
"ai-hologram": { label: "AI 全息影像", description: "立体光影构成的人形" },
|
|
421
|
+
|
|
422
|
+
// ----- Heroes & Villains -----
|
|
423
|
+
"superhero": { label: "超级英雄", description: "戴面具披斗篷的英雄" },
|
|
424
|
+
"superheroine": { label: "超级女英雄", description: "戴面具披斗篷的女英雄" },
|
|
425
|
+
"masked-vigilante": { label: "蒙面侠客", description: "深色战衣的英雄" },
|
|
426
|
+
"supervillain": { label: "超级反派", description: "戏剧化的反派原型" },
|
|
427
|
+
"caped-crusader-man": { label: "披风骑士(男)", description: "深色护甲带兜帽的男性英雄" },
|
|
428
|
+
"caped-crusader-woman": { label: "披风骑士(女)", description: "深色护甲带兜帽的女性英雄" },
|
|
429
|
+
"caped-crusader": { label: "披风骑士", description: "深色护甲带兜帽的英雄" },
|
|
430
|
+
"super-soldier": { label: "超级士兵", description: "爱国的外骨骼装甲战士" },
|
|
431
|
+
"mutant": { label: "变种人", description: "拥有可见变异的人类" },
|
|
432
|
+
"magical-girl": { label: "魔法少女", description: "变身少女女主角原型" },
|
|
433
|
+
// ----- Anime / Anthro -----
|
|
434
|
+
"catgirl": { label: "猫娘", description: "有猫耳和尾巴的女性" },
|
|
435
|
+
"catboy": { label: "猫男", description: "有猫耳和尾巴的男性" },
|
|
436
|
+
"anthro": { label: "兽人化", description: "动物头部的双足人形生物" },
|
|
437
|
+
|
|
438
|
+
// ----- Iconic / Public Domain -----
|
|
439
|
+
"sherlock-holmes": { label: "夏洛克·福尔摩斯", description: "维多利亚时代的咨询侦探" },
|
|
440
|
+
"dracula": { label: "德古拉伯爵", description: "斯托克笔下的哥特吸血鬼伯爵" },
|
|
441
|
+
"frankenstein-monster": { label: "弗兰肯斯坦的怪物", description: "雪莱笔下被复活的造物" },
|
|
442
|
+
"phantom-opera": { label: "歌剧魅影", description: "勒鲁笔下蒙面的歌剧隐士" },
|
|
443
|
+
"mr-hyde": { label: "海德先生", description: "史蒂文森笔下的怪物化身" },
|
|
444
|
+
"king-arthur": { label: "亚瑟王", description: "传奇的中世纪国王" },
|
|
445
|
+
"merlin": { label: "梅林", description: "亚瑟王的法师顾问" },
|
|
446
|
+
"robin-hood": { label: "罗宾汉", description: "森林中的法外弓箭手" },
|
|
447
|
+
"joan-of-arc": { label: "圣女贞德", description: "穿铠甲的中世纪女战士" },
|
|
448
|
+
"cleopatra": { label: "克利奥帕特拉", description: "埃及最后的法老" },
|
|
449
|
+
"captain-nemo": { label: "尼摩船长", description: "凡尔纳笔下的潜艇船长" },
|
|
450
|
+
"alice-wonderland": { label: "爱丽丝(梦游仙境)", description: "卡罗尔笔下的仙境女孩" },
|
|
451
|
+
"peter-pan": { label: "彼得·潘", description: "永远不会长大的男孩" },
|
|
452
|
+
"dorothy-oz": { label: "桃乐丝(奥兹)", description: "穿蓝色格子裙的奥兹女孩" },
|
|
453
|
+
"tin-man": { label: "铁皮人", description: "奥兹的铁皮樵夫" },
|
|
454
|
+
"scarecrow-oz": { label: "稻草人(奥兹)", description: "奥兹的稻草制稻草人" },
|
|
455
|
+
"cowardly-lion": { label: "胆小狮", description: "奥兹的拟人化狮子" },
|
|
456
|
+
"santa-claus": { label: "圣诞老人", description: "送圣诞礼物的老人" },
|
|
457
|
+
"grim-reaper": { label: "死神", description: "死亡的人格化形象" },
|
|
458
|
+
// ----- New Type — Warriors / Martial -----
|
|
459
|
+
"ninja": { label: "忍者", description: "隐秘的忍者刺客" },
|
|
460
|
+
"kunoichi": { label: "女忍者", description: "女性忍者" },
|
|
461
|
+
"samurai-man": { label: "武士(男)", description: "披甲日本武士(男)" },
|
|
462
|
+
"samurai-woman": { label: "武士(女)", description: "女武士(女武者)" },
|
|
463
|
+
"samurai": { label: "武士", description: "披甲日本武士" },
|
|
464
|
+
"karate-fighter": { label: "空手家", description: "穿道服的空手道修习者" },
|
|
465
|
+
"kung-fu-master": { label: "功夫大师", description: "中国武术大师" },
|
|
466
|
+
"shaolin-monk": { label: "少林僧", description: "佛教武僧" },
|
|
467
|
+
"sumo-wrestler": { label: "相扑力士", description: "日本相扑选手" },
|
|
468
|
+
"gladiator": { label: "角斗士", description: "罗马竞技场战士" },
|
|
469
|
+
"spartan-warrior": { label: "斯巴达战士", description: "古希腊重装步兵" },
|
|
470
|
+
"viking-warrior": { label: "维京战士", description: "北欧劫掠者" },
|
|
471
|
+
"mongol-warrior": { label: "蒙古战士", description: "草原骑射手" },
|
|
472
|
+
"centurion": { label: "百夫长", description: "罗马军团军官" },
|
|
473
|
+
"crusader": { label: "十字军骑士", description: "中世纪十字军" },
|
|
474
|
+
"pirate": { label: "海盗", description: "黄金时代海盗" },
|
|
475
|
+
"musketeer": { label: "火枪手", description: "17世纪法国剑客" },
|
|
476
|
+
|
|
477
|
+
// ----- New Type — Professions / Roles -----
|
|
478
|
+
"police-officer": { label: "警官", description: "穿制服的警员" },
|
|
479
|
+
"policeman": { label: "男警察", description: "男性警察" },
|
|
480
|
+
"policewoman": { label: "女警察", description: "女性警察" },
|
|
481
|
+
"firefighter": { label: "消防员", description: "穿消防服的应急人员" },
|
|
482
|
+
"doctor": { label: "医生", description: "穿白大褂的医生" },
|
|
483
|
+
"surgeon": { label: "外科医生", description: "手术室外科医生" },
|
|
484
|
+
"nurse": { label: "护士", description: "医院护士" },
|
|
485
|
+
"chef": { label: "厨师", description: "厨师服的厨师" },
|
|
486
|
+
"teacher": { label: "教师", description: "教室里的教育者" },
|
|
487
|
+
"priest": { label: "神父", description: "天主教神职人员" },
|
|
488
|
+
"nun": { label: "修女", description: "天主教修女" },
|
|
489
|
+
"soldier": { label: "士兵", description: "现代军人" },
|
|
490
|
+
"lawyer": { label: "律师", description: "西装律师" },
|
|
491
|
+
"judge": { label: "法官", description: "穿法袍的法官" },
|
|
492
|
+
"scientist": { label: "科学家", description: "穿白大褂的研究员" },
|
|
493
|
+
"pilot": { label: "飞行员", description: "民航飞行员" },
|
|
494
|
+
"flight-attendant": { label: "空乘人员", description: "客舱乘务员" },
|
|
495
|
+
"construction-worker": { label: "建筑工人", description: "戴安全帽的建筑工人" },
|
|
496
|
+
"businessman": { label: "商人", description: "西装男士" },
|
|
497
|
+
"businesswoman": { label: "女商人", description: "职业装女性" },
|
|
498
|
+
"farmer": { label: "农民", description: "农业工作者" },
|
|
499
|
+
"mechanic": { label: "技工", description: "汽车/工业技工" },
|
|
500
|
+
"artist": { label: "艺术家", description: "画家 / 视觉艺术家" },
|
|
501
|
+
"musician": { label: "音乐家", description: "拿乐器的演奏者" },
|
|
502
|
+
"athlete": { label: "运动员", description: "职业运动员" },
|
|
503
|
+
"detective": { label: "侦探", description: "便装侦探" },
|
|
504
|
+
"journalist": { label: "记者", description: "拿笔记本的记者" },
|
|
505
|
+
"barista": { label: "咖啡师", description: "咖啡馆店员" },
|
|
506
|
+
|
|
507
|
+
// Regional Aesthetic
|
|
508
|
+
// ----- USA — Mainstream -----
|
|
509
|
+
"cali-beach": { label: "加州海滩", description: "悠闲的加州海滨小镇美学" },
|
|
510
|
+
"valley-girl": { label: "Valley Girl 山谷女孩", description: "南加州山谷美学(女性)" },
|
|
511
|
+
"norcal-hippie": { label: "北加州嬉皮", description: "北加州伯克利 / 湾区嬉皮美学" },
|
|
512
|
+
"boho-la": { label: "波西米亚洛城", description: "洛杉矶峡谷波西米亚美学(女性)" },
|
|
513
|
+
"texas-cowgirl": { label: "德州女牛仔", description: "德州西部牧场美学(女性)" },
|
|
514
|
+
"texas-cowboy": { label: "德州牛仔", description: "德州西部牧场美学(男性)" },
|
|
515
|
+
"southern-belle": { label: "南方淑女", description: "查尔斯顿 / 萨凡纳战前优雅美学(女性)" },
|
|
516
|
+
"southern-gentleman": { label: "南方绅士", description: "老南方绅士美学(男性)" },
|
|
517
|
+
"miami-latina": { label: "迈阿密拉丁女郎", description: "南海滩加勒比拉丁美学(女性)" },
|
|
518
|
+
"miami-latino": { label: "迈阿密拉丁男郎", description: "南海滩加勒比拉丁美学(男性)" },
|
|
519
|
+
"hawaii-island": { label: "夏威夷海岛", description: "波利尼西亚-太平洋夏威夷美学" },
|
|
520
|
+
"nyc-fashion": { label: "纽约时尚", description: "曼哈顿时尚大片美学(女性)" },
|
|
521
|
+
"nyc-sharp": { label: "纽约精英", description: "曼哈顿权力剪裁美学(男性)" },
|
|
522
|
+
"brooklyn-hipster": { label: "布鲁克林潮人", description: "威廉斯堡创意阶层美学" },
|
|
523
|
+
"new-england-prep": { label: "新英格兰学院风", description: "鳕鱼角 / 楠塔基特老钱学院风美学" },
|
|
524
|
+
"pnw-granola": { label: "太平洋西北自然派", description: "波特兰 / 西雅图户外风美学" },
|
|
525
|
+
"nashville-country": { label: "纳什维尔乡村", description: "音乐之城现代乡村流行美学(女性)" },
|
|
526
|
+
"nashville-cowboy": { label: "纳什维尔牛仔", description: "音乐之城现代牛仔美学(男性)" },
|
|
527
|
+
"vegas-glam": { label: "拉斯维加斯魅惑", description: "拉斯维加斯大道魅惑美学(女性)" },
|
|
528
|
+
"vegas-suit": { label: "拉斯维加斯西装客", description: "拉斯维加斯大道西装美学(男性)" },
|
|
529
|
+
|
|
530
|
+
// ----- USA — African-American -----
|
|
531
|
+
"harlem-classic": { label: "哈莱姆经典", description: "黑人纽约传承美学,爵士时代优雅" },
|
|
532
|
+
"atl-southern": { label: "亚特兰大南方风", description: "亚特兰大黑人南方嘻哈 / R&B 美学" },
|
|
533
|
+
"nola-creole": { label: "新奥尔良克里奥尔", description: "新奥尔良路易斯安那法 - 加勒比 - 非洲美学" },
|
|
534
|
+
"dmv-go-go": { label: "DMV Go-Go", description: "华盛顿 / 马里兰 / 弗吉尼亚黑人 DMV go-go 美学" },
|
|
535
|
+
"west-coast-hip-hop": { label: "西海岸", description: "南中央 / 康普顿西海岸嘻哈美学" },
|
|
536
|
+
"chicago-south-side": { label: "芝加哥南区", description: "中西部黑人都市芝加哥美学" },
|
|
537
|
+
|
|
538
|
+
// ----- Europe -----
|
|
539
|
+
"parisienne": { label: "巴黎女郎(Parisienne)", description: "左岸巴黎法式优雅美学(女性)" },
|
|
540
|
+
"parisian-flaneur": { label: "巴黎漫游者(Flâneur)", description: "左岸巴黎法式优雅美学(男性)" },
|
|
541
|
+
"milanese-fashion": { label: "米兰时尚", description: "意大利米兰高级时装美学" },
|
|
542
|
+
"sicilian-beach": { label: "西西里海滩", description: "地中海南意大利海滩美学" },
|
|
543
|
+
"madrileña": { label: "马德里女郎(Madrileña)", description: "马德里西班牙美学(女性)" },
|
|
544
|
+
"madrileño": { label: "马德里男郎(Madrileño)", description: "马德里西班牙美学(男性)" },
|
|
545
|
+
"catalan-modern": { label: "加泰罗尼亚现代", description: "巴塞罗那地中海设计美学" },
|
|
546
|
+
"greek-mediterranean": { label: "希腊地中海", description: "爱琴海岛屿希腊美学" },
|
|
547
|
+
"scandi-minimal": { label: "北欧极简", description: "北欧极简线条美学" },
|
|
548
|
+
"english-rose": { label: "英伦玫瑰", description: "英国乡村美学(女性)" },
|
|
549
|
+
"london-prep": { label: "伦敦学院风", description: "梅菲尔 / 切尔西精致英伦美学(男性)" },
|
|
550
|
+
"manchester-indie": { label: "曼彻斯特独立派", description: "北英格兰演出与雨水的工人阶级酷感美学" },
|
|
551
|
+
"berlin-alt": { label: "柏林另类", description: "克罗伊茨贝格电子乐与艺术反主流美学" },
|
|
552
|
+
"munich-traditional": { label: "慕尼黑传统", description: "巴伐利亚啤酒节传统美学" },
|
|
553
|
+
"eastern-european-glam": { label: "东欧魅惑", description: "莫斯科 / 基辅冬日魅惑美学(女性)" },
|
|
554
|
+
"eastern-european-stoic": { label: "东欧坚毅", description: "莫斯科 / 基辅风霜坚毅美学(男性)" },
|
|
555
|
+
|
|
556
|
+
// ----- Asia -----
|
|
557
|
+
"tokyo-harajuku": { label: "东京原宿", description: "东京俏皮表现力日本街头美学" },
|
|
558
|
+
"ginza-office": { label: "银座职场", description: "东京银座日式企业优雅美学" },
|
|
559
|
+
"shibuya-streetwear": { label: "涩谷街头", description: "东京涩谷街头时尚美学" },
|
|
560
|
+
"osaka-everyday": { label: "大阪日常", description: "大阪温暖随意的关西美学" },
|
|
561
|
+
"seoul-k-pop": { label: "首尔 K-Pop", description: "首尔韩流精致美学" },
|
|
562
|
+
"gangnam-glam": { label: "江南魅惑", description: "首尔江南韩国奢华区美学" },
|
|
563
|
+
"shanghai-modern": { label: "上海摩登", description: "上海中国都市美学" },
|
|
564
|
+
"beijing-hutong": { label: "北京胡同", description: "北京老四合院传统与现代交融美学" },
|
|
565
|
+
"hong-kong-cinematic": { label: "香港电影感", description: "香港霓虹黑色电影王家卫美学" },
|
|
566
|
+
"mumbai-bollywood": { label: "孟买宝莱坞", description: "孟买印度电影业美学" },
|
|
567
|
+
"south-india-traditional": { label: "南印度传统", description: "泰米尔 / 喀拉拉寺庙小镇古典美学" },
|
|
568
|
+
"bangkok-street": { label: "曼谷街头", description: "曼谷泰国夜市霓虹都市美学" },
|
|
569
|
+
|
|
570
|
+
// ----- Latin America -----
|
|
571
|
+
"carioca-rio": { label: "卡里奥卡(里约)", description: "里约热内卢海滩与贫民窟音乐巴西美学" },
|
|
572
|
+
"paulista": { label: "圣保罗人(Paulista)", description: "圣保罗大都市巴西创意阶层美学" },
|
|
573
|
+
"buenos-aires-tango": { label: "布宜诺斯艾利斯探戈", description: "布宜诺斯艾利斯雷科莱塔 / 圣特尔莫探戈美学(女性)" },
|
|
574
|
+
"porteño": { label: "Porteño 港城男士", description: "布宜诺斯艾利斯精致米隆加美学(男性)" },
|
|
575
|
+
"mexico-city-chic": { label: "墨西哥城雅致", description: "墨西哥城罗马 / 波兰科现代墨西哥美学" },
|
|
576
|
+
"chilango-traditional": { label: "Chilango 传统", description: "墨西哥城温暖民俗与节庆美学" },
|
|
577
|
+
"bogota-cosmopolitan": { label: "波哥大都市派", description: "波哥大哥伦比亚首都精致安第斯美学" },
|
|
578
|
+
|
|
579
|
+
// ----- Middle East -----
|
|
580
|
+
"beirut-riviera": { label: "贝鲁特里维埃拉", description: "黎巴嫩地中海都市美学" },
|
|
581
|
+
"tel-aviv-beach": { label: "特拉维夫海滩", description: "特拉维夫地中海沿海创业能量美学" },
|
|
582
|
+
"jerusalem-stone": { label: "耶路撒冷石城", description: "耶路撒冷老城石灰岩传承美学" },
|
|
583
|
+
"sabra": { label: "萨布拉(Sabra)", description: "本土以色列直率温暖的萨布拉美学" },
|
|
584
|
+
"dubai-modern": { label: "迪拜现代", description: "海湾奢华迪拜都市酋长国美学" },
|
|
585
|
+
"persian-glam": { label: "波斯魅惑", description: "伊朗传承与魅惑的波斯美学" },
|
|
586
|
+
"istanbul-bosphorus": { label: "伊斯坦布尔博斯普鲁斯", description: "伊斯坦布尔东西交融博斯普鲁斯奥斯曼与现代美学" },
|
|
587
|
+
|
|
588
|
+
// ----- North Africa -----
|
|
589
|
+
"cairene-cosmopolitan": { label: "开罗都市派", description: "开罗埃及阿拉伯大都会美学" },
|
|
590
|
+
"maghreb-coastal": { label: "马格里布海岸", description: "突尼斯 / 阿尔及尔法国 - 地中海 - 北非殖民港口美学" },
|
|
591
|
+
"marrakech-bohemian": { label: "马拉喀什波西米亚", description: "马拉喀什摩洛哥麦地那温暖香料美学" },
|
|
592
|
+
|
|
593
|
+
// ----- Sub-Saharan Africa -----
|
|
594
|
+
"lagos-afro-glam": { label: "拉各斯非洲魅惑", description: "🇬🇧 拉各斯尼日利亚英语区西非大都会美学" },
|
|
595
|
+
"accra-afro-fashion": { label: "阿克拉非洲时尚", description: "🇬🇧 阿克拉加纳英语区西非肯特布与现代交融美学" },
|
|
596
|
+
"dakar-francophone": { label: "达喀尔法语圈", description: "🇫🇷 达喀尔塞内加尔法语区西非沿海都市美学" },
|
|
597
|
+
"abidjan-cosmopolitan": { label: "阿比让都市派", description: "🇫🇷 阿比让科特迪瓦法语区西非都市美学" },
|
|
598
|
+
"kinshasa-sape": { label: "金沙萨 SAPE", description: "🇫🇷 金沙萨刚果法语区中非 SAPE 花花公子美学" },
|
|
599
|
+
"nairobi-cosmopolitan": { label: "内罗毕都市派", description: "🇬🇧 内罗毕肯尼亚英语区东非现代都市美学" },
|
|
600
|
+
"addis-habesha": { label: "亚的斯哈贝沙", description: "亚的斯亚贝巴埃塞俄比亚哈贝沙高地传承美学(埃塞俄比亚从未被殖民)" },
|
|
601
|
+
"swahili-coast": { label: "斯瓦希里海岸", description: "🇬🇧 桑给巴尔 / 蒙巴萨英语区东非沿海斯瓦希里美学" },
|
|
602
|
+
"johannesburg-urban": { label: "约翰内斯堡都市", description: "🇬🇧 约翰内斯堡南非英语区南部非洲黑人都市美学" },
|
|
603
|
+
"cape-town-cosmopolitan": { label: "开普敦都市派", description: "🇬🇧 开普敦南非英语区南部非洲沿海城市美学" },
|
|
604
|
+
"luanda-lusophone": { label: "罗安达葡语圈", description: "🇵🇹 罗安达安哥拉葡语区南部非洲基松巴与大西洋海岸美学" },
|
|
605
|
+
|
|
606
|
+
// ----- Oceania -----
|
|
607
|
+
"bondi-beach": { label: "邦迪海滩", description: "邦迪澳大利亚沿海盐与阳光美学" },
|
|
608
|
+
"australian-outback": { label: "澳洲内陆", description: "乡村澳洲内陆美学(女性)" },
|
|
609
|
+
"outback-stockman": { label: "内陆牧人", description: "乡村澳洲内陆美学(男性)" },
|
|
610
|
+
"auckland-coastal": { label: "奥克兰海滨", description: "奥克兰新西兰港口城市太平洋美学" },
|
|
611
|
+
|
|
612
|
+
// Audit follow-up gaps (2026-05-06)
|
|
613
|
+
"androgynous": { label: "中性", description: "刻意融合男性与女性特征" },
|
|
614
|
+
"goth": { label: "哥特", description: "哥特亚文化美学 — 暗黑、浪漫、戏剧性" },
|
|
615
|
+
"eye-droopy": { label: "下垂眼睑", description: "眼睑低垂 — 慵懒 / 忧郁的目光(眼睑位置,非眼角角度)" },
|
|
616
|
+
"lip-state-bold-black": { label: "醒目黑唇", description: "饱和黑色口红宣言(哥特 / 前卫)" },
|
|
617
|
+
"lip-state-burgundy": { label: "酒红唇", description: "深酒红色口红" },
|
|
618
|
+
"lip-state-plum": { label: "梅紫唇", description: "深紫调口红" },
|
|
619
|
+
"lip-state-mauve": { label: "藕荷唇", description: "柔和藕荷 / 灰粉色口红" },
|
|
620
|
+
"eyes-black": { label: "黑色眼睛", description: "纯黑色虹膜(比棕色更深)" },
|
|
621
|
+
"skin-very-dark": { label: "极深 / 乌木色", description: "极深、乌木色肤色(肤色谱中最深一端)" },
|
|
622
|
+
"texture-acne-scarred": { label: "痘印肌", description: "可见痘印疤痕(与瑕疵肌不同 — 已愈合的疤痕纹理)" },
|
|
623
|
+
"face-five-oclock-shadow": { label: "傍晚胡渣", description: "较重的当日胡须 — 比轻度胡渣更密" },
|
|
624
|
+
"feature-under-eye-circles": { label: "黑眼圈", description: "眼下淡淡的暗影(与浮肿眼袋不同)" },
|
|
625
|
+
"feature-fangs": { label: "尖牙", description: "可见尖牙(吸血鬼 / 角色原型)" },
|
|
626
|
+
|
|
627
|
+
// ----- 面部结构:颧骨 / 丰满度 / 眼睛 / 鼻尖 / 嘴唇 -----
|
|
628
|
+
"cheekbones-average": { label: "适中", description: "颧骨突出度适中(无强调)" },
|
|
629
|
+
"cheekbones-low": { label: "低平", description: "低平的颧骨" },
|
|
630
|
+
"cheekbones-high-defined": { label: "高而分明", description: "高耸、轮廓分明的颧骨" },
|
|
631
|
+
"cheekbones-sculpted": { label: "高而立体", description: "棱角分明、立体高耸的颧骨" },
|
|
632
|
+
"cheekbones-wide": { label: "宽阔", description: "宽阔而突出的颧骨" },
|
|
633
|
+
"facial-fullness-average": { label: "适中", description: "面部丰满度适中" },
|
|
634
|
+
"facial-fullness-gaunt": { label: "瘦削", description: "脸颊凹陷,面部脂肪极少" },
|
|
635
|
+
"facial-fullness-lean": { label: "清瘦", description: "面部脂肪偏少,颧骨下方略有凹陷" },
|
|
636
|
+
"facial-fullness-full": { label: "丰润", description: "柔软饱满的脸颊" },
|
|
637
|
+
"facial-fullness-round": { label: "圆润", description: "圆脸,柔和圆润的脸颊" },
|
|
638
|
+
"eye-wide": { label: "大眼", description: "宽大的眼睛" },
|
|
639
|
+
"eye-narrow": { label: "细长", description: "细长的眼睛" },
|
|
640
|
+
"eyelid-standard": { label: "标准", description: "标准上眼睑" },
|
|
641
|
+
"canthal-neutral": { label: "中性", description: "中性的眼角倾斜" },
|
|
642
|
+
"eye-spacing-average": { label: "适中", description: "适中的双眼间距" },
|
|
643
|
+
"eyeset-average": { label: "适中", description: "适中的眉眼间距" },
|
|
644
|
+
"eyeset-low": { label: "低位", description: "眉眼间距较小(hunter eyes)" },
|
|
645
|
+
"eyeset-high": { label: "高位", description: "眉眼间距较大(doe eyes)" },
|
|
646
|
+
"nose-tip-natural": { label: "自然", description: "自然的鼻尖(无强调)" },
|
|
647
|
+
"nose-tip-refined": { label: "精致", description: "精致、窄小的鼻尖" },
|
|
648
|
+
"nose-tip-upturned": { label: "上翘", description: "略微上翘的鼻尖" },
|
|
649
|
+
"nose-tip-rounded": { label: "圆润", description: "柔和圆润的鼻尖" },
|
|
650
|
+
"nose-tip-drooping": { label: "下垂", description: "略微下垂、朝下的鼻尖" },
|
|
651
|
+
"lips-full-lower": { label: "下唇丰满", description: "下唇更为丰满的丰润嘴唇" },
|
|
652
|
+
"lips-natural": { label: "自然", description: "自然的唇形" },
|
|
653
|
+
"lips-heart": { label: "心形唇", description: "唇峰分明的心形嘴唇" },
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export default map
|