layer 1.0.77__tar.gz → 1.0.84__tar.gz
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.
- {layer-1.0.77 → layer-1.0.84}/PKG-INFO +1 -1
- {layer-1.0.77 → layer-1.0.84}/pyproject.toml +1 -1
- {layer-1.0.77 → layer-1.0.84}/pyproject.toml.orig +1 -1
- {layer-1.0.77 → layer-1.0.84}/src/layer/_api/models.py +345 -2
- {layer-1.0.77 → layer-1.0.84}/README.md +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/__init__.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/__main__.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_api/__init__.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_api/client.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/__init__.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/auth_commands.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/base_model_commands.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/context.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/context_commands.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/generate_commands.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/main.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/_cli/output.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/auth.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/catalog.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/config.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/credentials.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/download.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/exit_codes.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/generate.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/oauth.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/params.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/sessions.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/sse.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/uploads.py +0 -0
- {layer-1.0.77 → layer-1.0.84}/src/layer/workspaces.py +0 -0
|
@@ -83,6 +83,17 @@ class AudioOutputFormat(Enum):
|
|
|
83
83
|
flac = "flac"
|
|
84
84
|
|
|
85
85
|
|
|
86
|
+
class AutoDeleteRunStatus(Enum):
|
|
87
|
+
running = "running"
|
|
88
|
+
finished = "finished"
|
|
89
|
+
failed = "failed"
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class AutoDeleteTrigger(Enum):
|
|
93
|
+
schedule = "schedule"
|
|
94
|
+
manual = "manual"
|
|
95
|
+
|
|
96
|
+
|
|
86
97
|
class BlueprintRunStatus(Enum):
|
|
87
98
|
"""
|
|
88
99
|
Enum representing the status of a blueprint run.
|
|
@@ -734,6 +745,41 @@ class SessionName1(RootModel[str]):
|
|
|
734
745
|
)
|
|
735
746
|
|
|
736
747
|
|
|
748
|
+
class FileContentCategory(Enum):
|
|
749
|
+
image = "image"
|
|
750
|
+
video = "video"
|
|
751
|
+
mesh = "mesh"
|
|
752
|
+
audio = "audio"
|
|
753
|
+
pose = "pose"
|
|
754
|
+
safetensors = "safetensors"
|
|
755
|
+
playable = "playable"
|
|
756
|
+
spine = "spine"
|
|
757
|
+
font = "font"
|
|
758
|
+
world = "world"
|
|
759
|
+
pbr_materials = "pbr_materials"
|
|
760
|
+
other = "other"
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
class FileDependencyOutput(BaseModel):
|
|
764
|
+
kind: str = Field(
|
|
765
|
+
...,
|
|
766
|
+
description="What depends on the file: `style`, `reference_set`, `workflow`, `skill`, `template`, `content_policy_rule`, `base_model`, `workspace_share`, `trend`, `ua_creative`, `export` or `scoring_run`.",
|
|
767
|
+
title="Kind",
|
|
768
|
+
)
|
|
769
|
+
owner_id: str = Field(..., description="Id of the thing that depends on the file.", title="Owner Id")
|
|
770
|
+
owner_name: str | None = Field(..., description="Its name, when it has one.", title="Owner Name")
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
class FileIdsInput(BaseModel):
|
|
774
|
+
file_ids: list[UUID] = Field(
|
|
775
|
+
...,
|
|
776
|
+
description="At most 500 file ids.",
|
|
777
|
+
max_length=500,
|
|
778
|
+
min_length=1,
|
|
779
|
+
title="File Ids",
|
|
780
|
+
)
|
|
781
|
+
|
|
782
|
+
|
|
737
783
|
class FileScore(BaseModel):
|
|
738
784
|
rule_id: UUID = Field(..., description="The rule that produced this verdict.", title="Rule Id")
|
|
739
785
|
rule_name: str = Field(
|
|
@@ -780,6 +826,8 @@ class FileSourceType(Enum):
|
|
|
780
826
|
composite = "composite"
|
|
781
827
|
google_drive = "google_drive"
|
|
782
828
|
miro = "miro"
|
|
829
|
+
linear = "linear"
|
|
830
|
+
jira = "jira"
|
|
783
831
|
transformed_reference = "transformed_reference"
|
|
784
832
|
skill_resource = "skill_resource"
|
|
785
833
|
skill_bundle = "skill_bundle"
|
|
@@ -1582,6 +1630,15 @@ class RequestUploadUrlResponse(BaseModel):
|
|
|
1582
1630
|
)
|
|
1583
1631
|
|
|
1584
1632
|
|
|
1633
|
+
class RestoreDeletedFilesOutput(BaseModel):
|
|
1634
|
+
restored_files: int = Field(
|
|
1635
|
+
...,
|
|
1636
|
+
description="Files restored. Ids not in the trash are left silently.",
|
|
1637
|
+
title="Restored Files",
|
|
1638
|
+
)
|
|
1639
|
+
restored_bytes: int = Field(..., description="Bytes those files hold.", title="Restored Bytes")
|
|
1640
|
+
|
|
1641
|
+
|
|
1585
1642
|
class Role(Enum):
|
|
1586
1643
|
admin = "admin"
|
|
1587
1644
|
editor = "editor"
|
|
@@ -1727,6 +1784,18 @@ class SkippedFile(BaseModel):
|
|
|
1727
1784
|
)
|
|
1728
1785
|
|
|
1729
1786
|
|
|
1787
|
+
class SkippedFileOutput(BaseModel):
|
|
1788
|
+
file_id: UUID = Field(..., description="Id of the file left.", title="File Id")
|
|
1789
|
+
message: str = Field(
|
|
1790
|
+
...,
|
|
1791
|
+
description="What holds the file, and what to do about it.",
|
|
1792
|
+
title="Message",
|
|
1793
|
+
)
|
|
1794
|
+
dependencies: list[FileDependencyOutput] = Field(
|
|
1795
|
+
..., description="Everything that holds the file.", title="Dependencies"
|
|
1796
|
+
)
|
|
1797
|
+
|
|
1798
|
+
|
|
1730
1799
|
class SpriteSheetAnimationView(BaseModel):
|
|
1731
1800
|
name: str = Field(..., description="The animation's name.", title="Name")
|
|
1732
1801
|
frames: list[int] = Field(
|
|
@@ -1752,6 +1821,59 @@ class State2(Enum):
|
|
|
1752
1821
|
terminal_failure = "terminal_failure"
|
|
1753
1822
|
|
|
1754
1823
|
|
|
1824
|
+
class StorageSliceOutput(BaseModel):
|
|
1825
|
+
key: str | None = Field(
|
|
1826
|
+
...,
|
|
1827
|
+
description="What the slice is: an origin (`generated`, `uploaded`), a content category (`image`, `video`, ...), an age (`under_30_days`, `30_to_90_days`, `90_to_365_days`, `over_1_year`), a project id (`none` for files in no project) or a member's principal id. Null for the slice that totals everything not listed.",
|
|
1828
|
+
title="Key",
|
|
1829
|
+
)
|
|
1830
|
+
label: str = Field(..., description="What to call the slice.", title="Label")
|
|
1831
|
+
files: int = Field(..., description="Files in the slice.", title="Files")
|
|
1832
|
+
bytes: int = Field(..., description="Bytes those files hold.", title="Bytes")
|
|
1833
|
+
|
|
1834
|
+
|
|
1835
|
+
class StoredFileOrigin(Enum):
|
|
1836
|
+
"""
|
|
1837
|
+
Whether a file is the output of a generation, or something a person put in the workspace.
|
|
1838
|
+
"""
|
|
1839
|
+
|
|
1840
|
+
generated = "generated"
|
|
1841
|
+
uploaded = "uploaded"
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
class StoredFileOutput(BaseModel):
|
|
1845
|
+
file_id: UUID = Field(..., description="Id of the file.", title="File Id")
|
|
1846
|
+
name: str = Field(..., description="The file's name.", title="Name")
|
|
1847
|
+
content_type: str = Field(..., description="The file's MIME type.", title="Content Type")
|
|
1848
|
+
content_category: FileContentCategory = Field(..., description="What kind of asset the file is.")
|
|
1849
|
+
origin: StoredFileOrigin = Field(
|
|
1850
|
+
...,
|
|
1851
|
+
description="Whether a generation produced the file or a person uploaded it.",
|
|
1852
|
+
)
|
|
1853
|
+
size_bytes: int = Field(..., description="Bytes the file holds.", title="Size Bytes")
|
|
1854
|
+
created_at: AwareDatetime = Field(..., description="When the file was created.", title="Created At")
|
|
1855
|
+
created_by_name: str | None = Field(..., description="Who created the file, when known.", title="Created By Name")
|
|
1856
|
+
deleted_at: AwareDatetime | None = Field(
|
|
1857
|
+
...,
|
|
1858
|
+
description="When the file was deleted; set in the trash only.",
|
|
1859
|
+
title="Deleted At",
|
|
1860
|
+
)
|
|
1861
|
+
deleted_by_name: str | None = Field(
|
|
1862
|
+
...,
|
|
1863
|
+
description="Who deleted the file; null for an automatic delete.",
|
|
1864
|
+
title="Deleted By Name",
|
|
1865
|
+
)
|
|
1866
|
+
|
|
1867
|
+
|
|
1868
|
+
class StoredFilePageOutput(BaseModel):
|
|
1869
|
+
files: list[StoredFileOutput] = Field(..., title="Files")
|
|
1870
|
+
next_cursor: str | None = Field(
|
|
1871
|
+
...,
|
|
1872
|
+
description="Pass as `cursor` for the next page; null on the last page.",
|
|
1873
|
+
title="Next Cursor",
|
|
1874
|
+
)
|
|
1875
|
+
|
|
1876
|
+
|
|
1755
1877
|
class StyleCategory(Enum):
|
|
1756
1878
|
"""
|
|
1757
1879
|
What a reference set *is*.
|
|
@@ -2019,6 +2141,10 @@ class UsageLimitMode(Enum):
|
|
|
2019
2141
|
|
|
2020
2142
|
|
|
2021
2143
|
class UsageLimitPeriod(Enum):
|
|
2144
|
+
"""
|
|
2145
|
+
How often a usage cap resets: at midnight UTC, on Monday, or on the 1st of the month.
|
|
2146
|
+
"""
|
|
2147
|
+
|
|
2022
2148
|
daily = "daily"
|
|
2023
2149
|
weekly = "weekly"
|
|
2024
2150
|
monthly = "monthly"
|
|
@@ -2379,6 +2505,70 @@ class WorkspaceUsageOutput(BaseModel):
|
|
|
2379
2505
|
)
|
|
2380
2506
|
|
|
2381
2507
|
|
|
2508
|
+
class AutoDeletePreviewOutput(BaseModel):
|
|
2509
|
+
files: int = Field(..., description="Files the rules would delete now.", title="Files")
|
|
2510
|
+
bytes: int = Field(..., description="Bytes those files hold.", title="Bytes")
|
|
2511
|
+
is_at_least: bool = Field(
|
|
2512
|
+
...,
|
|
2513
|
+
description="Whether counting stopped at 20,000 files, so the run would delete at least this many.",
|
|
2514
|
+
title="Is At Least",
|
|
2515
|
+
)
|
|
2516
|
+
sample: list[StoredFileOutput] = Field(..., description="The largest of those files.", title="Sample")
|
|
2517
|
+
|
|
2518
|
+
|
|
2519
|
+
class AutoDeleteRuleIO(BaseModel):
|
|
2520
|
+
older_than_days: int = Field(
|
|
2521
|
+
...,
|
|
2522
|
+
description="Delete files created at least this many days ago (7 or more).",
|
|
2523
|
+
ge=7,
|
|
2524
|
+
le=3650,
|
|
2525
|
+
title="Older Than Days",
|
|
2526
|
+
)
|
|
2527
|
+
origin: StoredFileOrigin | None = Field(None, description="Generated or uploaded files only; both when null.")
|
|
2528
|
+
content_categories: list[FileContentCategory] | None = Field(
|
|
2529
|
+
None,
|
|
2530
|
+
description="Only these content categories; every category when empty.",
|
|
2531
|
+
title="Content Categories",
|
|
2532
|
+
)
|
|
2533
|
+
keep_labeled: bool | None = Field(True, description="Keep files with a label.", title="Keep Labeled")
|
|
2534
|
+
keep_in_folder: bool | None = Field(True, description="Keep files filed in a folder.", title="Keep In Folder")
|
|
2535
|
+
keep_liked: bool | None = Field(True, description="Keep files someone liked.", title="Keep Liked")
|
|
2536
|
+
keep_pinned: bool | None = Field(True, description="Keep files someone pinned.", title="Keep Pinned")
|
|
2537
|
+
|
|
2538
|
+
|
|
2539
|
+
class AutoDeleteRunOutput(BaseModel):
|
|
2540
|
+
run_id: UUID = Field(..., description="Id of the run.", title="Run Id")
|
|
2541
|
+
trigger: AutoDeleteTrigger = Field(..., description="Whether the nightly schedule or a person started it.")
|
|
2542
|
+
status: AutoDeleteRunStatus = Field(..., description="`running`, `finished` or `failed`.")
|
|
2543
|
+
policy_workspace_id: UUID = Field(
|
|
2544
|
+
...,
|
|
2545
|
+
description="The workspace whose policy the run applied.",
|
|
2546
|
+
title="Policy Workspace Id",
|
|
2547
|
+
)
|
|
2548
|
+
started_at: AwareDatetime = Field(..., title="Started At")
|
|
2549
|
+
finished_at: AwareDatetime | None = Field(..., title="Finished At")
|
|
2550
|
+
deleted_files: int = Field(
|
|
2551
|
+
...,
|
|
2552
|
+
description="Files deleted. They stay in the trash for 29 days.",
|
|
2553
|
+
title="Deleted Files",
|
|
2554
|
+
)
|
|
2555
|
+
deleted_bytes: int = Field(..., description="Bytes those files held.", title="Deleted Bytes")
|
|
2556
|
+
kept_in_use: int = Field(
|
|
2557
|
+
...,
|
|
2558
|
+
description="Files a rule reached that were kept because something depends on them.",
|
|
2559
|
+
title="Kept In Use",
|
|
2560
|
+
)
|
|
2561
|
+
is_capped: bool = Field(
|
|
2562
|
+
...,
|
|
2563
|
+
description="Whether the run stopped at 50,000 files, leaving the rest for the next one.",
|
|
2564
|
+
title="Is Capped",
|
|
2565
|
+
)
|
|
2566
|
+
|
|
2567
|
+
|
|
2568
|
+
class AutoDeleteRunsOutput(BaseModel):
|
|
2569
|
+
runs: list[AutoDeleteRunOutput] = Field(..., description="Most recent first.", title="Runs")
|
|
2570
|
+
|
|
2571
|
+
|
|
2382
2572
|
class BaseModelCapabilitiesREST(BaseModel):
|
|
2383
2573
|
"""
|
|
2384
2574
|
ToolModelCapabilities without the MCP token-saving serializer — returns all fields for REST.
|
|
@@ -2506,6 +2696,11 @@ class BaseModelCapabilitiesREST(BaseModel):
|
|
|
2506
2696
|
description="ISO 639-1 codes a `dub_video` model can speak, passed to forge as `target_language`.",
|
|
2507
2697
|
title="Dub Languages",
|
|
2508
2698
|
)
|
|
2699
|
+
speech_languages: list[str] | None = Field(
|
|
2700
|
+
None,
|
|
2701
|
+
description="Language codes a text-to-speech model can be told to read the script in, passed to forge as `speech_language`. Empty: the model takes no language and detects it from the text.",
|
|
2702
|
+
title="Speech Languages",
|
|
2703
|
+
)
|
|
2509
2704
|
voice_reference_set_required: bool | None = Field(
|
|
2510
2705
|
False,
|
|
2511
2706
|
description="Speaks only in a trained voice, so a generation needs a reference set holding one. Without it the provider falls back to its own default voice.",
|
|
@@ -2693,6 +2888,20 @@ class CreateReferenceSetResponse(BaseModel):
|
|
|
2693
2888
|
)
|
|
2694
2889
|
|
|
2695
2890
|
|
|
2891
|
+
class DeleteStoredFilesOutput(BaseModel):
|
|
2892
|
+
deleted_files: int = Field(
|
|
2893
|
+
...,
|
|
2894
|
+
description="Files deleted. They stay in the trash for 29 days.",
|
|
2895
|
+
title="Deleted Files",
|
|
2896
|
+
)
|
|
2897
|
+
deleted_bytes: int = Field(..., description="Bytes those files held.", title="Deleted Bytes")
|
|
2898
|
+
skipped: list[SkippedFileOutput] = Field(
|
|
2899
|
+
...,
|
|
2900
|
+
description="Files left because something depends on them. Ids that are not a stored file are left silently.",
|
|
2901
|
+
title="Skipped",
|
|
2902
|
+
)
|
|
2903
|
+
|
|
2904
|
+
|
|
2696
2905
|
class EstimateInferencePriceV2Output(BaseModel):
|
|
2697
2906
|
estimated_price_creative_units: float = Field(
|
|
2698
2907
|
...,
|
|
@@ -3206,6 +3415,7 @@ class OutputFit(BaseModel):
|
|
|
3206
3415
|
scale: OutputFitScale | None = "PLACE"
|
|
3207
3416
|
anchor: OutputFitAnchor | None = "CENTER"
|
|
3208
3417
|
padding: int | None = Field(0, ge=0, le=512, title="Padding")
|
|
3418
|
+
corner_radius: int | None = Field(0, ge=0, le=512, title="Corner Radius")
|
|
3209
3419
|
|
|
3210
3420
|
|
|
3211
3421
|
class ProjectDetail(BaseModel):
|
|
@@ -3486,6 +3696,37 @@ class StartTrainingResponse(BaseModel):
|
|
|
3486
3696
|
)
|
|
3487
3697
|
|
|
3488
3698
|
|
|
3699
|
+
class StorageBreakdownOutput(BaseModel):
|
|
3700
|
+
total_files: int = Field(
|
|
3701
|
+
...,
|
|
3702
|
+
description="Stored files when the breakdown was computed.",
|
|
3703
|
+
title="Total Files",
|
|
3704
|
+
)
|
|
3705
|
+
total_bytes: int = Field(..., description="Bytes those files hold.", title="Total Bytes")
|
|
3706
|
+
by_origin: list[StorageSliceOutput] = Field(..., description="Generated and uploaded files.", title="By Origin")
|
|
3707
|
+
by_category: list[StorageSliceOutput] = Field(
|
|
3708
|
+
...,
|
|
3709
|
+
description="Files by content category, most bytes first.",
|
|
3710
|
+
title="By Category",
|
|
3711
|
+
)
|
|
3712
|
+
by_age: list[StorageSliceOutput] = Field(..., description="Files by age, youngest first.", title="By Age")
|
|
3713
|
+
by_project: list[StorageSliceOutput] = Field(
|
|
3714
|
+
...,
|
|
3715
|
+
description="The projects holding the most, then the rest together, then files in no project. A file in several projects counts in each.",
|
|
3716
|
+
title="By Project",
|
|
3717
|
+
)
|
|
3718
|
+
by_member: list[StorageSliceOutput] = Field(
|
|
3719
|
+
...,
|
|
3720
|
+
description="The members who created the most, then everyone else together.",
|
|
3721
|
+
title="By Member",
|
|
3722
|
+
)
|
|
3723
|
+
largest_files: list[StoredFileOutput] = Field(
|
|
3724
|
+
...,
|
|
3725
|
+
description="The largest stored files, largest first.",
|
|
3726
|
+
title="Largest Files",
|
|
3727
|
+
)
|
|
3728
|
+
|
|
3729
|
+
|
|
3489
3730
|
class TileGrid(BaseModel):
|
|
3490
3731
|
"""
|
|
3491
3732
|
One tile's place on the grid. Every tile of a set shares all but the footprint and height.
|
|
@@ -3598,6 +3839,62 @@ class UpdateMemberBody(BaseModel):
|
|
|
3598
3839
|
)
|
|
3599
3840
|
|
|
3600
3841
|
|
|
3842
|
+
class WorkspaceStorageOutput(BaseModel):
|
|
3843
|
+
used_bytes: int = Field(
|
|
3844
|
+
...,
|
|
3845
|
+
description="Bytes the workspace stores now: a live count.",
|
|
3846
|
+
title="Used Bytes",
|
|
3847
|
+
)
|
|
3848
|
+
quota_bytes: int | None = Field(
|
|
3849
|
+
...,
|
|
3850
|
+
description="The most the workspace may store; null when it has no limit.",
|
|
3851
|
+
title="Quota Bytes",
|
|
3852
|
+
)
|
|
3853
|
+
breakdown: StorageBreakdownOutput | None = Field(
|
|
3854
|
+
...,
|
|
3855
|
+
description="What the stored files are, as of `breakdown_computed_at`; null until first computed.",
|
|
3856
|
+
)
|
|
3857
|
+
breakdown_computed_at: AwareDatetime | None = Field(
|
|
3858
|
+
...,
|
|
3859
|
+
description="When the breakdown was computed. It trails `used_bytes`, which is live.",
|
|
3860
|
+
title="Breakdown Computed At",
|
|
3861
|
+
)
|
|
3862
|
+
is_breakdown_computing: bool = Field(
|
|
3863
|
+
...,
|
|
3864
|
+
description="Whether a fresh breakdown is being computed.",
|
|
3865
|
+
title="Is Breakdown Computing",
|
|
3866
|
+
)
|
|
3867
|
+
breakdown_recompute_available_at: AwareDatetime | None = Field(
|
|
3868
|
+
...,
|
|
3869
|
+
description="When a fresh breakdown can next be asked for: 15 minutes after the last was computed. Null when it can be now.",
|
|
3870
|
+
title="Breakdown Recompute Available At",
|
|
3871
|
+
)
|
|
3872
|
+
|
|
3873
|
+
|
|
3874
|
+
class AutoDeletePolicyIO(BaseModel):
|
|
3875
|
+
is_enabled: bool | None = Field(False, description="Whether the rules run every night.", title="Is Enabled")
|
|
3876
|
+
rules: list[AutoDeleteRuleIO] | None = Field(
|
|
3877
|
+
None,
|
|
3878
|
+
description="A file any rule reaches is deleted. A file something depends on, or that is public or featured, never is.",
|
|
3879
|
+
max_length=10,
|
|
3880
|
+
title="Rules",
|
|
3881
|
+
)
|
|
3882
|
+
is_locked: bool | None = Field(
|
|
3883
|
+
False,
|
|
3884
|
+
description="Whether every workspace under this one must follow these rules, whatever they set.",
|
|
3885
|
+
title="Is Locked",
|
|
3886
|
+
)
|
|
3887
|
+
notify_admins: bool | None = Field(
|
|
3888
|
+
False,
|
|
3889
|
+
description="Whether admins are told what each run deleted.",
|
|
3890
|
+
title="Notify Admins",
|
|
3891
|
+
)
|
|
3892
|
+
|
|
3893
|
+
|
|
3894
|
+
class AutoDeletePreviewInput(BaseModel):
|
|
3895
|
+
rules: list[AutoDeleteRuleIO] = Field(..., description="The rules to preview.", max_length=10, title="Rules")
|
|
3896
|
+
|
|
3897
|
+
|
|
3601
3898
|
class BaseModelDefaultsOutput(BaseModel):
|
|
3602
3899
|
"""
|
|
3603
3900
|
Layer's curated recommendations, filtered to what this workspace may run.
|
|
@@ -3625,6 +3922,21 @@ class BaseModelDefaultsOutput(BaseModel):
|
|
|
3625
3922
|
)
|
|
3626
3923
|
|
|
3627
3924
|
|
|
3925
|
+
class EffectiveAutoDeletePolicyOutput(BaseModel):
|
|
3926
|
+
policy: AutoDeletePolicyIO
|
|
3927
|
+
source_workspace_id: UUID = Field(
|
|
3928
|
+
...,
|
|
3929
|
+
description="The workspace that set the policy: this one or an ancestor.",
|
|
3930
|
+
title="Source Workspace Id",
|
|
3931
|
+
)
|
|
3932
|
+
source_workspace_name: str | None = Field(..., description="That workspace's name.", title="Source Workspace Name")
|
|
3933
|
+
is_locked_by_ancestor: bool = Field(
|
|
3934
|
+
...,
|
|
3935
|
+
description="Whether an ancestor locked it, so this workspace cannot set its own.",
|
|
3936
|
+
title="Is Locked By Ancestor",
|
|
3937
|
+
)
|
|
3938
|
+
|
|
3939
|
+
|
|
3628
3940
|
class FileMetadataView(BaseModel):
|
|
3629
3941
|
"""
|
|
3630
3942
|
What an engine needs beyond the image to build a resource from a file. Each kind is null when absent.
|
|
@@ -3901,6 +4213,22 @@ class WorkflowRunAsset(BaseModel):
|
|
|
3901
4213
|
)
|
|
3902
4214
|
|
|
3903
4215
|
|
|
4216
|
+
class AutoDeleteOutput(BaseModel):
|
|
4217
|
+
is_available: bool = Field(
|
|
4218
|
+
...,
|
|
4219
|
+
description="Whether the workspace can use auto-delete: Enterprise only.",
|
|
4220
|
+
title="Is Available",
|
|
4221
|
+
)
|
|
4222
|
+
policy: AutoDeletePolicyIO | None = Field(
|
|
4223
|
+
...,
|
|
4224
|
+
description="The policy this workspace set itself; null when it follows another.",
|
|
4225
|
+
)
|
|
4226
|
+
effective_policy: EffectiveAutoDeletePolicyOutput | None = Field(
|
|
4227
|
+
...,
|
|
4228
|
+
description="The policy that applies to this workspace; null when none does.",
|
|
4229
|
+
)
|
|
4230
|
+
|
|
4231
|
+
|
|
3904
4232
|
class EstimateInferencePriceRequest(BaseModel):
|
|
3905
4233
|
"""
|
|
3906
4234
|
REST request body for estimating inference price. workspace_id comes from path.
|
|
@@ -4313,6 +4641,11 @@ class EstimateInferencePriceV2Request(BaseModel):
|
|
|
4313
4641
|
None, description="Style exaggeration (0-1).", title="Style Exaggeration"
|
|
4314
4642
|
)
|
|
4315
4643
|
speed: Speed | None = Field(None, description="Speech speed multiplier.", title="Speed")
|
|
4644
|
+
speech_language: str | None = Field(
|
|
4645
|
+
None,
|
|
4646
|
+
description="The language the speech is in, as one of the codes the model's capabilities list under `speech_languages`. Omit to let the model detect it from the text.",
|
|
4647
|
+
title="Speech Language",
|
|
4648
|
+
)
|
|
4316
4649
|
upscale_ratio: float | None = Field(None, description="Upscale factor (e.g. 2.0, 4.0).", title="Upscale Ratio")
|
|
4317
4650
|
creativity: float | None = Field(
|
|
4318
4651
|
None,
|
|
@@ -4477,7 +4810,7 @@ class EstimateInferencePriceV2Request(BaseModel):
|
|
|
4477
4810
|
)
|
|
4478
4811
|
output_fit: OutputFit | None = Field(
|
|
4479
4812
|
None,
|
|
4480
|
-
description="Fit the image onto its delivery canvas after everything else the run does: `trim` its transparent margin, keep the drawing's own size (`canvas: CONTENT`) or place it on a `FIXED` `width` x `height` canvas, scaled as `scale` says and aligned on `anchor` (`BASE` stands a game tile's base on the bottom centre), with `padding` px of transparent margin. Image outputs only.",
|
|
4813
|
+
description="Fit the image onto its delivery canvas after everything else the run does: `trim` its transparent margin, keep the drawing's own size (`canvas: CONTENT`) or place it on a `FIXED` `width` x `height` canvas, scaled as `scale` says and aligned on `anchor` (`BASE` stands a game tile's base on the bottom centre), with `padding` px of transparent margin and `corner_radius` px rounded corners cut to transparent. Image outputs only.",
|
|
4481
4814
|
)
|
|
4482
4815
|
nine_slice: bool | None = Field(
|
|
4483
4816
|
None,
|
|
@@ -4940,6 +5273,11 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
4940
5273
|
None, description="Style exaggeration (0-1).", title="Style Exaggeration"
|
|
4941
5274
|
)
|
|
4942
5275
|
speed: Speed | None = Field(None, description="Speech speed multiplier.", title="Speed")
|
|
5276
|
+
speech_language: str | None = Field(
|
|
5277
|
+
None,
|
|
5278
|
+
description="The language the speech is in, as one of the codes the model's capabilities list under `speech_languages`. Omit to let the model detect it from the text.",
|
|
5279
|
+
title="Speech Language",
|
|
5280
|
+
)
|
|
4943
5281
|
upscale_ratio: float | None = Field(None, description="Upscale factor (e.g. 2.0, 4.0).", title="Upscale Ratio")
|
|
4944
5282
|
creativity: float | None = Field(
|
|
4945
5283
|
None,
|
|
@@ -5104,7 +5442,7 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
5104
5442
|
)
|
|
5105
5443
|
output_fit: OutputFit | None = Field(
|
|
5106
5444
|
None,
|
|
5107
|
-
description="Fit the image onto its delivery canvas after everything else the run does: `trim` its transparent margin, keep the drawing's own size (`canvas: CONTENT`) or place it on a `FIXED` `width` x `height` canvas, scaled as `scale` says and aligned on `anchor` (`BASE` stands a game tile's base on the bottom centre), with `padding` px of transparent margin. Image outputs only.",
|
|
5445
|
+
description="Fit the image onto its delivery canvas after everything else the run does: `trim` its transparent margin, keep the drawing's own size (`canvas: CONTENT`) or place it on a `FIXED` `width` x `height` canvas, scaled as `scale` says and aligned on `anchor` (`BASE` stands a game tile's base on the bottom centre), with `padding` px of transparent margin and `corner_radius` px rounded corners cut to transparent. Image outputs only.",
|
|
5108
5446
|
)
|
|
5109
5447
|
nine_slice: bool | None = Field(
|
|
5110
5448
|
None,
|
|
@@ -5166,6 +5504,11 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
5166
5504
|
None,
|
|
5167
5505
|
description="Deliver this run's terminal events to a URL instead of polling for them. See the Webhooks section of this document for the payload, headers and retry behaviour.",
|
|
5168
5506
|
)
|
|
5507
|
+
inference_tool_key: str | None = Field(
|
|
5508
|
+
None,
|
|
5509
|
+
description="The Layer tool this run is, such as `image.upscale`, so the asset it makes reopens in that tool in the Layer app. The run must be one the tool makes: a `base_model_id` from the tool's models, with every value the tool fixes left as the tool sets it. A run that is not is refused with a 422 naming why (`UNKNOWN_INFERENCE_TOOL`, `INFERENCE_TOOL_MODEL_NOT_IN_POOL`, `INFERENCE_TOOL_PIN_MISMATCH`, `INFERENCE_TOOL_NO_REFRAME` or `INFERENCE_TOOL_UPSCALE_COPIES_SOURCE`).",
|
|
5510
|
+
title="Inference Tool Key",
|
|
5511
|
+
)
|
|
5169
5512
|
|
|
5170
5513
|
|
|
5171
5514
|
class GetWorkflowRunOutput(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|