用途
adcp-creative 是 AdCP Creative Protocol 的实践技能,用于与创意智能体执行标准化的创意发现、生成、预览与效果数据查询任务。其目标是把创意相关工作流统一到 AdCP 定义的规范接口之下,使买方与卖方能够在同一套协议语义中协作。
主要能力
技能覆盖以下标准化任务:
- get_adcp_capabilities:发现该创意智能体支持的规范创意能力,通常约 1 秒返回,用于读取 creative.supported_formats[] 等能力信息。
- list_transformers:发现可选择的制作服务,约 1 秒返回。
- build_creative:根据简报从零生成创意,或将已有创意转换为其他格式,耗时约 30 秒至 5 分钟。
- preview_creative:获取创意的视觉预览,支持单条与批量两种请求类型,约 5 秒返回。
- get_creative_delivery:获取变体级别的投放数据,包括展示、点击、完成等指标,约 5 至 30 秒返回。
典型的执行顺序是:先读取能力,再构建创意生成或转换清单,随后预览渲染效果,最后通过 sync_creatives(媒体购买任务)进行投放。
使用方式
能力发现方面,可调用 get_adcp_capabilities 并传入 protocols: ["creative"],响应中包含带 capability_id 的 supported_formats[] 以及 supports_generation、supports_transformers 等能力标记。
创意构建方面,build_creative 支持两种模式:纯生成模式提供 target_capability_id、brand 与自然语言 message;转换模式在 message 之外还需提供包含既有资产的完整 creative_manifest,由创意智能体适配到目标格式。多输出可使用 target_capability_ids[]。请求需携带 idempotency_key。
预览方面,preview_creative 的 request_type 可取 "single" 或 "batch",并提供完整的 creative_manifest。可通过 inputs 数组生成不同宏或上下文的变体,output_format 可选 "url"(默认)或 "html"。响应包含 previews 与 expires_at。
get_creative_delivery 用于检索变体级投放数据,请求需至少包含一个范围过滤条件(media_buy_ids 或 creative_ids),可附加 start_date、end_date、max_variants 与 account。响应含 creatives、variant_id、generation_context、delivery_metrics 与 ext(平台互动指标)。
规范格式与清单
AdCP 3.2 中,产品与清单使用 15 个规范 format_kind 值:image、html5、display_tag、image_carousel、video_hosted、video_vast、audio_hosted、audio_vast、audio_daast、sponsored_placement、native_in_feed、responsive_creative、agent_placement、seller_rendered_stateful_display、coordinated_placements。超出这些规范形态的才使用 custom,并需提供必需的 format_shape 与 format_schema。
ProductFormatDeclaration 包含 format_kind(区分为主)、params(收窄格式的参数,如尺寸、时长、编解码器、字符限制、CTA 枚举、sizes[] 等),以及可选的 format_option_id、v1_format_ref、seller_preference。格式可声明在 adagents.json 的顶层 formats[]、产品内联的 Product.format_options[]、Placement.format_options[] 或创意智能体的 supported_formats[] 中。
图片、html5、display_tag 的尺寸灵活性采用三选一模式:固定 width+height、多尺寸 sizes:[{w,h}],或响应式 min_width/max_width/min_height/max_height。
清单与资产
Creative Manifest 将格式规范与实际资产配对。常见 asset_type 包括:image(JPEG、PNG、WebP)、video(MP4、WebM 或 VAST 标签)、audio(MP3、M4A 或 DAAST 标签)、text(标题、描述、CTA)、html(HTML5 创意或第三方标签)、javascript(JavaScript 标签)、url(跟踪像素、点击跳转 URL)。生成式创意可通过 brand.domain 提供品牌上下文,由智能体解析 brand.json 获取品牌识别信息。
适用场景与限制
适用于程序化广告中的创意能力发现、生成与转换、投放前预览验证,以及变体级效果数据查询。需要注意:AdCP 3.2 中 list_creative_formats 已弃用,不应驱动新工作流。买方侧的基础机制(幂等重放、oneOf 变体、异步 status:'submitted' 轮询、adcp_error.issues[] 错误恢复)位于 call-adcp-agent 技能中,本技能仅覆盖按任务的语义。转换跟踪不属于创意格式范畴,像素触发、转化事件与归因属于 sync_event_sources 与 event_log,不应将 pixel_id 塞入格式声明的 platform_extensions。capability_id 仅作为智能体本地操作选择器,不会写入产品或清单。发布者目录解析需通过 AgenticAdvertising.org 的注册表接口,按发布者来源、社区目录、fail-closed 的顺序进行,且不得由销售或创意智能体自行合成发布者权威。
错误处理
常见错误包括:400 Bad Request(清单或能力选择器无效)、404 Not Found(该智能体不支持此能力)、422 Validation Error(清单不符合格式要求)。错误响应包含 error.code 与 error.message,例如 FORMAT_NOT_SUPPORTED。