This repository was archived by the owner on Mar 15, 2026. It is now read-only.
Update to latest AdCP spec: consistent build_creative and preview_creative - #26
Merged
Conversation
…ative - Updated schemas from adcontextprotocol.org - Removed deprecated schemas (promoted-offerings-asset, creative-library-item, snippet-type, asset-types index) - Added build-creative schemas from /media-buy/ endpoint - Regenerated Pydantic models Key API changes: - preview_creative: Removed promoted_offerings, brand_card, asset_filters parameters - These should now be included inside creative_manifest.assets - build_creative: Complete rewrite to match new spec - Now takes target_format_id and creative_manifest (with input assets) - Returns creative_manifest in structured_content - Simpler, more consistent API aligned with preview_creative The new spec makes both tools consistent: they both accept creative_manifest as input, making the API more intuitive and easier to use. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The CI check was failing because the schema generation script wasn't adding the necessary type: ignore comment for the webhook method field. This fix ensures the generated schemas are deterministic and pass mypy validation consistently. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
After regenerating schemas, the auto-generated class names changed: - Assets31 (was UrlAsset) is now VastAsset - Assets33 is now UrlAsset - Assets28 is VideoAsset - Assets32 is TextAsset Updated all test imports to use the correct asset classes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates creative agent to align with the latest AdCP specification, making
build_creativeandpreview_creativeconsistent in how they handle creative manifests.Changes
Schema Updates
promoted-offerings-asset.jsoncreative-library-item.jsonsnippet-type.jsonstandard-formats/asset-types/index.jsonbuild-creative-request/responseschemas from/media-buy/endpointAPI Changes
preview_creativepromoted_offerings,brand_card,asset_filterscreative_manifest.assetsbuild_creativecreative_manifestwith input assets (e.g.,promoted_offerings)creative_manifestinstructured_contentpreview_creative- both now work with manifestsThe Fix
The original issue was an MCP call trying to use
build_creativewith acreative_manifestparameter, which the old implementation didn't support. Now both tools work consistently:Much more intuitive and spec-compliant! 🎉
Test Plan
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com