adcp-creative
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAdCP Creative Protocol
AdCP Creative Protocol
This skill enables you to execute the AdCP Creative Protocol with creative agents. Use the standard MCP tools (, , ) exposed by the connected agent.
list_creative_formatsbuild_creativepreview_creative该技能可让你借助创意代理执行AdCP Creative Protocol操作。使用已连接代理提供的标准MCP工具(、、)。
list_creative_formatsbuild_creativepreview_creativeOverview
概述
The Creative Protocol provides 3 standardized tasks for building and previewing advertising creatives:
| Task | Purpose | Response Time |
|---|---|---|
| View format specifications | ~1s |
| Generate or transform creatives | ~30s-5m |
| Get visual previews | ~5s |
创意协议提供3项标准化任务,用于构建和预览广告创意:
| 任务 | 用途 | 响应时间 |
|---|---|---|
| 查看格式规范 | ~1秒 |
| 生成或转换创意内容 | ~30秒-5分钟 |
| 获取视觉预览 | ~5秒 |
Typical Workflow
典型工作流
- Discover formats: to see available format specs
list_creative_formats - Build creative: to generate or transform a manifest
build_creative - Preview: to see how it renders
preview_creative - Sync: Use (media-buy task) to traffic the creative
sync_creatives
- 了解格式:调用查看可用的格式规范
list_creative_formats - 构建创意:调用生成或转换创意清单
build_creative - 预览效果:调用查看渲染效果
preview_creative - 同步创意:使用(媒体采购任务)投放创意
sync_creatives
Task Reference
任务参考
list_creative_formats
list_creative_formats
Discover creative formats and their specifications.
Request:
json
{
"type": "video",
"asset_types": ["image", "text"]
}Key fields:
- (array, optional): Request specific format IDs
format_ids - (string, optional): Filter by type:
type,video,display,audiodooh - (array, optional): Filter by accepted asset types
asset_types - ,
max_width(integer, optional): Dimension constraintsmax_height - (boolean, optional): Filter for responsive formats
is_responsive - (string, optional): Search formats by name
name_search
Response contains:
- : Array of format definitions with
formats,format_id,name,type,assets_requiredrenders - : Optional array of other creative agents providing additional formats
creative_agents
查看创意格式及其规范。
请求示例:
json
{
"type": "video",
"asset_types": ["image", "text"]
}关键字段:
- (数组,可选):请求特定格式ID
format_ids - (字符串,可选):按类型过滤:
type、video、display、audiodooh - (数组,可选):按支持的素材类型过滤
asset_types - 、
max_width(整数,可选):尺寸限制max_height - (布尔值,可选):过滤自适应格式
is_responsive - (字符串,可选):按名称搜索格式
name_search
响应包含:
- :格式定义数组,包含
formats、format_id、name、type、assets_requiredrenders - (可选):提供额外格式的其他创意代理数组
creative_agents
build_creative
build_creative
Generate a creative from scratch or transform an existing creative to a different format.
Pure Generation (from brief):
json
{
"message": "Create a banner promoting our winter sale with a warm, inviting feel",
"target_format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250_generative"
},
"brand": {
"domain": "mybrand.com"
}
}Transformation (resize/reformat):
json
{
"message": "Adapt this leaderboard to a 300x250 banner",
"creative_manifest": {
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_728x90"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.mybrand.com/leaderboard.png",
"width": 728,
"height": 90
},
"headline": {
"asset_type": "text",
"content": "Spring Sale - 30% Off"
}
}
},
"target_format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
}
}Key fields:
- (string, optional): Natural language instructions for generation/transformation
message - (object, optional): Source manifest - minimal for generation, complete for transformation
creative_manifest - (object, required): Format to generate -
target_format_id{ agent_url, id }
Response contains:
- : Complete manifest ready for
creative_manifestorpreview_creativesync_creatives
从零生成创意内容,或将现有创意转换为其他格式。
纯生成(基于创意简报):
json
{
"message": "Create a banner promoting our winter sale with a warm, inviting feel",
"target_format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250_generative"
},
"brand": {
"domain": "mybrand.com"
}
}转换(调整尺寸/格式):
json
{
"message": "Adapt this leaderboard to a 300x250 banner",
"creative_manifest": {
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_728x90"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.mybrand.com/leaderboard.png",
"width": 728,
"height": 90
},
"headline": {
"asset_type": "text",
"content": "Spring Sale - 30% Off"
}
}
},
"target_format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
}
}关键字段:
- (字符串,可选):生成/转换的自然语言指令
message - (对象,可选):源创意清单——生成时可简化,转换时需完整
creative_manifest - (对象,必填):目标生成格式——
target_format_id{ agent_url, id }
响应包含:
- :可用于
creative_manifest或preview_creative的完整创意清单sync_creatives
preview_creative
preview_creative
Generate visual previews of creative manifests.
Single preview:
json
{
"request_type": "single",
"creative_manifest": {
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.example.com/banner.png",
"width": 300,
"height": 250
}
}
}
}With device variants:
json
{
"request_type": "single",
"creative_manifest": { /* includes format_id, assets */ },
"inputs": [
{ "name": "Desktop", "macros": { "DEVICE_TYPE": "desktop" } },
{ "name": "Mobile", "macros": { "DEVICE_TYPE": "mobile" } }
]
}Batch preview (5-10x faster):
json
{
"request_type": "batch",
"requests": [
{ "creative_manifest": { /* creative 1 */ } },
{ "creative_manifest": { /* creative 2 */ } }
]
}Key fields:
- (string, required):
request_typeor"single""batch" - (object, optional): Format identifier. Defaults to
format_idif omitted.creative_manifest.format_id - (object, required): Complete creative manifest
creative_manifest - (array, optional): Generate variants with different macros/contexts
inputs - (string, optional):
output_format(default) or"url""html"
Response contains:
- : Array of preview objects with
previewsorpreview_urlpreview_html - : When preview URLs expire
expires_at
生成创意清单的视觉预览。
单份预览:
json
{
"request_type": "single",
"creative_manifest": {
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.example.com/banner.png",
"width": 300,
"height": 250
}
}
}
}包含设备变体:
json
{
"request_type": "single",
"creative_manifest": { /* includes format_id, assets */ },
"inputs": [
{ "name": "Desktop", "macros": { "DEVICE_TYPE": "desktop" } },
{ "name": "Mobile", "macros": { "DEVICE_TYPE": "mobile" } }
]
}批量预览(快5-10倍):
json
{
"request_type": "batch",
"requests": [
{ "creative_manifest": { /* creative 1 */ } },
{ "creative_manifest": { /* creative 2 */ } }
]
}关键字段:
- (字符串,必填):
request_type或"single""batch" - (对象,可选):格式标识符。若省略,默认使用
format_idcreative_manifest.format_id - (对象,必填):完整的创意清单
creative_manifest - (数组,可选):使用不同宏/上下文生成变体
inputs - (字符串,可选):
output_format(默认)或"url""html"
响应包含:
- :预览对象数组,包含
previews或preview_urlpreview_html - :预览URL的过期时间
expires_at
Key Concepts
核心概念
Format IDs
格式ID
All format references use structured objects:
json
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
}
}The specifies the creative agent authoritative for this format.
agent_url所有格式引用均使用结构化对象:
json
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
}
}agent_urlCreative Manifests
创意清单
Manifests pair format specifications with actual assets:
json
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.example.com/banner.png",
"width": 300,
"height": 250
},
"headline": {
"asset_type": "text",
"content": "Shop Now"
},
"clickthrough_url": {
"asset_type": "url",
"url": "https://brand.com/sale"
}
}
}创意清单将格式规范与实际素材配对:
json
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "display_300x250"
},
"assets": {
"banner_image": {
"asset_type": "image",
"url": "https://cdn.example.com/banner.png",
"width": 300,
"height": 250
},
"headline": {
"asset_type": "text",
"content": "Shop Now"
},
"clickthrough_url": {
"asset_type": "url",
"url": "https://brand.com/sale"
}
}
}Asset Types
素材类型
Common asset types:
- : Static images (JPEG, PNG, WebP)
image - : Video files (MP4, WebM) or VAST tags
video - : Audio files (MP3, M4A) or DAAST tags
audio - : Headlines, descriptions, CTAs
text - : HTML5 creatives or third-party tags
html - : JavaScript tags
javascript - : Tracking pixels, clickthrough URLs
url
常见素材类型:
- :静态图片(JPEG、PNG、WebP)
image - :视频文件(MP4、WebM)或VAST标签
video - :音频文件(MP3、M4A)或DAAST标签
audio - :标题、描述、行动号召(CTA)
text - :HTML5创意或第三方标签
html - :JavaScript标签
javascript - :追踪像素、跳转URL
url
Brand identity
品牌标识
For generative creatives, provide brand context by domain:
json
{
"brand": {
"domain": "acmecorp.com"
}
}The agent resolves the domain to retrieve the brand's identity (name, colors, guidelines, etc.) from its file.
brand.json对于生成式创意,可通过域名提供品牌上下文:
json
{
"brand": {
"domain": "acmecorp.com"
}
}代理会解析域名,从其文件中获取品牌标识(名称、颜色、规范等)。
brand.jsonGenerative vs Transformation
生成式与转换式
- Pure Generation: Provide ,
target_format_id, and a natural languagebrand. Creative agent generates all output assets from scratch.message - Transformation: Complete manifest with existing assets. Creative agent adapts to target format, following guidance.
message
- 纯生成:提供、
target_format_id和自然语言brand。创意代理从零生成所有输出素材。message - 转换式:提供包含现有素材的完整创意清单。创意代理会根据的指导,将其适配到目标格式。
message
Error Handling
错误处理
Common error patterns:
- 400 Bad Request: Invalid manifest or format_id
- 404 Not Found: Format not supported by this agent
- 422 Validation Error: Manifest doesn't match format requirements
Error responses include:
json
{
"error": {
"code": "INVALID_FORMAT_ID",
"message": "format_id must be a structured object with 'agent_url' and 'id' fields"
}
}常见错误类型:
- 400 Bad Request:无效的创意清单或format_id
- 404 Not Found:该代理不支持此格式
- 422 Validation Error:创意清单不符合格式要求
错误响应示例:
json
{
"error": {
"code": "INVALID_FORMAT_ID",
"message": "format_id must be a structured object with 'agent_url' and 'id' fields"
}
}