Module adcp.types.generated_poc.format
Classes
class Asset (**data: Any)-
Expand source code
class Asset(AdCPBaseModel): asset_id: Annotated[str, Field(description='Identifier for this asset within the group')] asset_role: Annotated[ str | None, Field( description="Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only." ), ] = None asset_type: Annotated[AssetType, Field(description='Type of asset')] required: Annotated[ bool | None, Field(description='Whether this asset is required in each repetition') ] = None requirements: Annotated[ dict[str, Any] | None, Field(description='Technical requirements for this asset') ] = NoneBase model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var asset_id : strvar asset_role : str | Nonevar asset_type : AssetTypevar model_configvar required : bool | Nonevar requirements : dict[str, typing.Any] | None
Inherited members
class AssetType (*args, **kwds)-
Expand source code
class AssetType(Enum): image = 'image' video = 'video' audio = 'audio' vast = 'vast' daast = 'daast' text = 'text' markdown = 'markdown' html = 'html' css = 'css' javascript = 'javascript' url = 'url' webhook = 'webhook' promoted_offerings = 'promoted_offerings'Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3Access them by:
- attribute access::
>>> Color.RED <Color.RED: 1>- value lookup:
>>> Color(1) <Color.RED: 1>- name lookup:
>>> Color['RED'] <Color.RED: 1>Enumerations can be iterated over, and know how many members they have:
>>> len(Color) 3>>> list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
Ancestors
- enum.Enum
Class variables
var audiovar cssvar daastvar htmlvar imagevar javascriptvar markdownvar promoted_offeringsvar textvar urlvar vastvar videovar webhook
class AssetsRequired (**data: Any)-
Expand source code
class AssetsRequired(AdCPBaseModel): asset_id: Annotated[ str, Field( description='Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.' ), ] asset_role: Annotated[ str | None, Field( description="Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only." ), ] = None asset_type: Annotated[AssetType, Field(description='Type of asset')] item_type: Annotated[ Literal['individual'], Field(description='Discriminator indicating this is an individual asset requirement'), ] required: Annotated[bool | None, Field(description='Whether this asset is required')] = None requirements: Annotated[ dict[str, Any] | None, Field( description='Technical requirements for this asset (dimensions, file size, duration, etc.)' ), ] = NoneBase model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var asset_id : strvar asset_role : str | Nonevar asset_type : AssetTypevar item_type : Literal['individual']var model_configvar required : bool | Nonevar requirements : dict[str, typing.Any] | None
Inherited members
class AssetsRequired1 (**data: Any)-
Expand source code
class AssetsRequired1(AdCPBaseModel): asset_group_id: Annotated[ str, Field(description="Identifier for this asset group (e.g., 'product', 'slide', 'card')") ] assets: Annotated[list[Asset], Field(description='Assets within each repetition of this group')] item_type: Annotated[ Literal['repeatable_group'], Field(description='Discriminator indicating this is a repeatable asset group'), ] max_count: Annotated[int, Field(description='Maximum number of repetitions allowed', ge=1)] min_count: Annotated[int, Field(description='Minimum number of repetitions required', ge=1)]Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var asset_group_id : strvar assets : list[Asset]var item_type : Literal['repeatable_group']var max_count : intvar min_count : intvar model_config
Inherited members
class Dimensions (**data: Any)-
Expand source code
class Dimensions(AdCPBaseModel): aspect_ratio: Annotated[ str | None, Field( description="Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1')", pattern='^\\d+:\\d+$', ), ] = None height: Annotated[ float | None, Field(description='Fixed height in specified units', ge=0.0) ] = None max_height: Annotated[ float | None, Field(description='Maximum height for responsive renders', ge=0.0) ] = None max_width: Annotated[ float | None, Field(description='Maximum width for responsive renders', ge=0.0) ] = None min_height: Annotated[ float | None, Field(description='Minimum height for responsive renders', ge=0.0) ] = None min_width: Annotated[ float | None, Field(description='Minimum width for responsive renders', ge=0.0) ] = None responsive: Annotated[ Responsive | None, Field(description='Indicates which dimensions are responsive/fluid') ] = None unit: Annotated[Unit, Field(description='Unit of measurement for dimensions')] width: Annotated[float | None, Field(description='Fixed width in specified units', ge=0.0)] = ( None )Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var aspect_ratio : str | Nonevar height : float | Nonevar max_height : float | Nonevar max_width : float | Nonevar min_height : float | Nonevar min_width : float | Nonevar model_configvar responsive : Responsive | Nonevar unit : Unitvar width : float | None
Inherited members
class Format (**data: Any)-
Expand source code
class Format(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) assets_required: Annotated[ list[AssetsRequired | AssetsRequired1] | None, Field( description='Array of required assets or asset groups for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Can contain individual assets or repeatable asset sequences (e.g., carousel products, slideshow frames).' ), ] = None delivery: Annotated[ dict[str, Any] | None, Field(description='Delivery method specifications (e.g., hosted, VAST, third-party tags)'), ] = None description: Annotated[ str | None, Field( description='Plain text explanation of what this format does and what assets it requires' ), ] = None example_url: Annotated[ AnyUrl | None, Field( description='Optional URL to showcase page with examples and interactive demos of this format' ), ] = None format_card: Annotated[ FormatCard | None, Field( description='Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.' ), ] = None format_card_detailed: Annotated[ FormatCardDetailed | None, Field( description='Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.' ), ] = None format_id: Annotated[ format_id_1.FormatId, Field(description='Structured format identifier with agent URL and format name'), ] name: Annotated[str, Field(description='Human-readable format name')] output_format_ids: Annotated[ list[format_id_1.FormatId] | None, Field( description='For generative formats: array of format IDs that this format can generate. When a format accepts inputs like brand_manifest and message, this specifies what concrete output formats can be produced (e.g., a generative banner format might output standard image banner formats).' ), ] = None preview_image: Annotated[ AnyUrl | None, Field( description='DEPRECATED: Use format_card instead. Optional preview image URL for format browsing/discovery UI. Should be 400x300px (4:3 aspect ratio) PNG or JPG. Used as thumbnail/card image in format browsers. This field is maintained for backward compatibility but format_card provides a more flexible, structured approach.' ), ] = None renders: Annotated[ list[Render] | None, Field( description='Specification of rendered pieces for this format. Most formats produce a single render. Companion ad formats (video + banner), adaptive formats, and multi-placement formats produce multiple renders. Each render specifies its role and dimensions.', min_length=1, ), ] = None supported_macros: Annotated[ list[str] | None, Field( description='List of universal macros supported by this format (e.g., MEDIA_BUY_ID, CACHEBUSTER, DEVICE_ID). Used for validation and developer tooling.' ), ] = None type: Annotated[ Type, Field( description='Media type of this format - determines rendering method and asset requirements' ), ]Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var assets_required : list[AssetsRequired | AssetsRequired1] | Nonevar delivery : dict[str, typing.Any] | Nonevar description : str | Nonevar example_url : pydantic.networks.AnyUrl | Nonevar format_card : FormatCard | Nonevar format_card_detailed : FormatCardDetailed | Nonevar format_id : FormatIdvar model_configvar name : strvar output_format_ids : list[FormatId] | Nonevar preview_image : pydantic.networks.AnyUrl | Nonevar renders : list[Render] | Nonevar supported_macros : list[str] | Nonevar type : Type
Inherited members
class FormatCard (**data: Any)-
Expand source code
class FormatCard(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) format_id: Annotated[ format_id_1.FormatId, Field( description='Creative format defining the card layout (typically format_card_standard)' ), ] manifest: Annotated[ dict[str, Any], Field(description='Asset manifest for rendering the card, structure defined by the format'), ]Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var format_id : FormatIdvar manifest : dict[str, typing.Any]var model_config
Inherited members
class FormatCardDetailed (**data: Any)-
Expand source code
class FormatCardDetailed(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) format_id: Annotated[ format_id_1.FormatId, Field( description='Creative format defining the detailed card layout (typically format_card_detailed)' ), ] manifest: Annotated[ dict[str, Any], Field( description='Asset manifest for rendering the detailed card, structure defined by the format' ), ]Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var format_id : FormatIdvar manifest : dict[str, typing.Any]var model_config
Inherited members
class Render (**data: Any)-
Expand source code
class Render(AdCPBaseModel): dimensions: Annotated[Dimensions, Field(description='Dimensions for this rendered piece')] role: Annotated[ str, Field( description="Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')" ), ]Base model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var dimensions : Dimensionsvar model_configvar role : str
Inherited members
class Responsive (**data: Any)-
Expand source code
class Responsive(AdCPBaseModel): height: bool width: boolBase model for AdCP types with spec-compliant serialization.
AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var height : boolvar model_configvar width : bool
Inherited members
class Type (*args, **kwds)-
Expand source code
class Type(Enum): audio = 'audio' video = 'video' display = 'display' native = 'native' dooh = 'dooh' rich_media = 'rich_media' universal = 'universal'Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3Access them by:
- attribute access::
>>> Color.RED <Color.RED: 1>- value lookup:
>>> Color(1) <Color.RED: 1>- name lookup:
>>> Color['RED'] <Color.RED: 1>Enumerations can be iterated over, and know how many members they have:
>>> len(Color) 3>>> list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
Ancestors
- enum.Enum
Class variables
var audiovar displayvar doohvar nativevar rich_mediavar universalvar video
class Unit (*args, **kwds)-
Expand source code
class Unit(Enum): px = 'px' dp = 'dp' inches = 'inches' cm = 'cm'Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3Access them by:
- attribute access::
>>> Color.RED <Color.RED: 1>- value lookup:
>>> Color(1) <Color.RED: 1>- name lookup:
>>> Color['RED'] <Color.RED: 1>Enumerations can be iterated over, and know how many members they have:
>>> len(Color) 3>>> list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
Ancestors
- enum.Enum
Class variables
var cmvar dpvar inchesvar px