protocol: carousel-builder-import version: 1 visibility: public canonical_url: "https://instagram-linkedin-carousel-builder.vercel.app/deep-link-contract.yaml" url_template: "https://instagram-linkedin-carousel-builder.vercel.app/#carousel={{BASE64URL_JSON_PAYLOAD}}" agent_instruction: >- Create a JSON payload that matches `payload`, encode its UTF-8 JSON bytes as Base64URL without padding, replace {{BASE64URL_JSON_PAYLOAD}} in url_template, and return the complete URL to the user. Do not URL-encode the Base64URL value and do not put the payload in query parameters. encoding: serialization: JSON character_encoding: UTF-8 transport_encoding: Base64URL without padding location: URL hash parameter "carousel" payload: format: required: false default: feed allowed_values: [feed, story, reels, linkedin-p, linkedin-s] slides: required: true min_items: 1 items: title: type: string required: true text: type: string required: true behavior: - "A valid payload replaces all current slides." - "Slides are created in payload order." - "Images and crop settings are always empty after import." - "An invalid or incomplete payload is ignored and the app opens normally." example_payload: format: linkedin-p slides: - title: "Как перестать откладывать" text: "Три шага, которые можно сделать сегодня." - title: "Шаг 1" text: "Выберите одну маленькую задачу." example_url: "https://instagram-linkedin-carousel-builder.vercel.app/#carousel={{BASE64URL_JSON_PAYLOAD}}"