Skip to content

Commit ea518cf

Browse files
committed
Add studio types for podcast creation and configuration
1 parent a199c6b commit ea518cf

6 files changed

+155
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
from .body_create_podcast_v_1_studio_podcasts_post_duration_scale import (
4+
BodyCreatePodcastV1StudioPodcastsPostDurationScale,
5+
)
6+
from .body_create_podcast_v_1_studio_podcasts_post_mode import (
7+
BodyCreatePodcastV1StudioPodcastsPostMode,
8+
BodyCreatePodcastV1StudioPodcastsPostMode_Bulletin,
9+
BodyCreatePodcastV1StudioPodcastsPostMode_Conversation,
10+
)
11+
from .body_create_podcast_v_1_studio_podcasts_post_quality_preset import (
12+
BodyCreatePodcastV1StudioPodcastsPostQualityPreset,
13+
)
14+
from .body_create_podcast_v_1_studio_podcasts_post_source import BodyCreatePodcastV1StudioPodcastsPostSource
15+
from .body_create_podcast_v_1_studio_podcasts_post_source_item import (
16+
BodyCreatePodcastV1StudioPodcastsPostSourceItem,
17+
BodyCreatePodcastV1StudioPodcastsPostSourceItem_Text,
18+
BodyCreatePodcastV1StudioPodcastsPostSourceItem_Url,
19+
)
20+
21+
__all__ = [
22+
"BodyCreatePodcastV1StudioPodcastsPostDurationScale",
23+
"BodyCreatePodcastV1StudioPodcastsPostMode",
24+
"BodyCreatePodcastV1StudioPodcastsPostMode_Bulletin",
25+
"BodyCreatePodcastV1StudioPodcastsPostMode_Conversation",
26+
"BodyCreatePodcastV1StudioPodcastsPostQualityPreset",
27+
"BodyCreatePodcastV1StudioPodcastsPostSource",
28+
"BodyCreatePodcastV1StudioPodcastsPostSourceItem",
29+
"BodyCreatePodcastV1StudioPodcastsPostSourceItem_Text",
30+
"BodyCreatePodcastV1StudioPodcastsPostSourceItem_Url",
31+
]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import typing
4+
5+
BodyCreatePodcastV1StudioPodcastsPostDurationScale = typing.Union[
6+
typing.Literal["short", "default", "long"], typing.Any
7+
]
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
from __future__ import annotations
4+
from ...core.unchecked_base_model import UncheckedBaseModel
5+
import typing
6+
from ...types.podcast_conversation_mode_data import PodcastConversationModeData
7+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
8+
import pydantic
9+
from ...types.podcast_bulletin_mode_data import PodcastBulletinModeData
10+
import typing_extensions
11+
from ...core.unchecked_base_model import UnionMetadata
12+
13+
14+
class BodyCreatePodcastV1StudioPodcastsPostMode_Conversation(UncheckedBaseModel):
15+
"""
16+
The type of podcast to generate
17+
"""
18+
19+
type: typing.Literal["conversation"] = "conversation"
20+
conversation: PodcastConversationModeData
21+
22+
if IS_PYDANTIC_V2:
23+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24+
else:
25+
26+
class Config:
27+
frozen = True
28+
smart_union = True
29+
extra = pydantic.Extra.allow
30+
31+
32+
class BodyCreatePodcastV1StudioPodcastsPostMode_Bulletin(UncheckedBaseModel):
33+
"""
34+
The type of podcast to generate
35+
"""
36+
37+
type: typing.Literal["bulletin"] = "bulletin"
38+
bulletin: PodcastBulletinModeData
39+
40+
if IS_PYDANTIC_V2:
41+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
42+
else:
43+
44+
class Config:
45+
frozen = True
46+
smart_union = True
47+
extra = pydantic.Extra.allow
48+
49+
50+
BodyCreatePodcastV1StudioPodcastsPostMode = typing_extensions.Annotated[
51+
typing.Union[
52+
BodyCreatePodcastV1StudioPodcastsPostMode_Conversation, BodyCreatePodcastV1StudioPodcastsPostMode_Bulletin
53+
],
54+
UnionMetadata(discriminant="type"),
55+
]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import typing
4+
5+
BodyCreatePodcastV1StudioPodcastsPostQualityPreset = typing.Union[
6+
typing.Literal["standard", "high", "highest", "ultra", "ultra_lossless"], typing.Any
7+
]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import typing
4+
from ...types.podcast_text_source import PodcastTextSource
5+
from ...types.podcast_url_source import PodcastUrlSource
6+
from .body_create_podcast_v_1_studio_podcasts_post_source_item import BodyCreatePodcastV1StudioPodcastsPostSourceItem
7+
8+
BodyCreatePodcastV1StudioPodcastsPostSource = typing.Union[
9+
PodcastTextSource, PodcastUrlSource, typing.List[BodyCreatePodcastV1StudioPodcastsPostSourceItem]
10+
]
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
from __future__ import annotations
4+
from ...core.unchecked_base_model import UncheckedBaseModel
5+
import typing
6+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
7+
import pydantic
8+
import typing_extensions
9+
from ...core.unchecked_base_model import UnionMetadata
10+
11+
12+
class BodyCreatePodcastV1StudioPodcastsPostSourceItem_Text(UncheckedBaseModel):
13+
type: typing.Literal["text"] = "text"
14+
text: str
15+
16+
if IS_PYDANTIC_V2:
17+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18+
else:
19+
20+
class Config:
21+
frozen = True
22+
smart_union = True
23+
extra = pydantic.Extra.allow
24+
25+
26+
class BodyCreatePodcastV1StudioPodcastsPostSourceItem_Url(UncheckedBaseModel):
27+
type: typing.Literal["url"] = "url"
28+
url: str
29+
30+
if IS_PYDANTIC_V2:
31+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
32+
else:
33+
34+
class Config:
35+
frozen = True
36+
smart_union = True
37+
extra = pydantic.Extra.allow
38+
39+
40+
BodyCreatePodcastV1StudioPodcastsPostSourceItem = typing_extensions.Annotated[
41+
typing.Union[
42+
BodyCreatePodcastV1StudioPodcastsPostSourceItem_Text, BodyCreatePodcastV1StudioPodcastsPostSourceItem_Url
43+
],
44+
UnionMetadata(discriminant="type"),
45+
]

0 commit comments

Comments
 (0)