Update to Ava Studio
Snapshot Oct 26, 2026 · 06:09 UTC · version 0.7.2
Collection source: downloaded plugin package.
Instructions updated for ava
Skill instructions — Now says: ## Deliver generated media For a generation request, use `models_list` and `generation_estimate` to quote the settings and cost. After the user approves,...
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 10 plugins free · no card required.
All fields and original values.
Skill instructions
Oct 24, 2026 · 13:52 UTC
Browser clients can use accessible links; they may not be able to upload local bytes. Clients with file access can use `library_upload_url`, PUT the bytes with the returned headers, then `library_add`. Brand media uses the matching `bran...
Oct 26, 2026 · 06:09 UTC
## Deliver generated media For a generation request, use `models_list` and `generation_estimate` to quote the settings and cost. After the user approves, start the matching generation tool or `project_ask { generate:true }`. Reuse approv...
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -10,6 +10,39 @@ list reflects granted scopes. If a tool is missing, explain the needed permission; never ask the user to paste credentials into chat. +## Deliver generated media + +For a generation request, use `models_list` and `generation_estimate` to quote +the settings and cost. After the user approves, start the matching generation +tool or `project_ask { generate:true }`. Reuse approval for the agreed request +and budget; confirm changes that fall outside that authorization. Briefs and prompts +alone do not fulfill a request for a generated video. + +Poll `jobs_get` until succeeded or failed. Share the generated file URL from +the successful result, such as `result.video.url` for `video_generate`. +For a project, inspect `project_get`, call `export_render`, and poll its job +for `result.output_url`. A Studio editor link is optional; the user should +not need to open Studio to press Generate or export the finished work. +If the turn ends while a job is still running, report its actual status and +keep its job and project ids so a follow-up checks the same work. Do not +promise background monitoring when the client cannot provide it. + +When the approved video needs multiple clips, generate each clip once and +assemble the completed clips with `timeline_add`; set `include_audio:true` +on video items when keeping their generated speech. Export the project for one +downloadable video. Reuse successful clips during retries and repairs. + +For each editable project, use its exact returned `studio_url` from +`project_get` when offering an Open or Edit link. Do not substitute the Studio +homepage or invent a project URL. Deliver the completed export's +`result.output_url` as the download link, distinct from the editing link. + +A standalone `video_generate` result is a clip in Library → Media, not an +editable timeline project. To edit or caption that clip, create a project and +use `timeline_add` to import the existing video with `include_audio:true`. +Do not regenerate it just to create a project. Campaign projects stay under +their campaign; standalone editable projects appear in Library → Projects. + ## Choose the right workflow - Research references with `research_breakouts`, `research_search`, or another @@ -50,15 +83,35 @@ "Generate All above". Inspect the saved state before claiming generation or caption placement succeeded; caption ingredients alone are not timeline text. -Browser clients can use accessible links; they may not be able to upload local -bytes. Clients with file access can use `library_upload_url`, PUT the bytes -with the returned headers, then `library_add`. Brand media uses the matching -`brand_media_upload_url` and `brand_media_add` tools. Check `brand_get`'s -`media_readiness` before production and ask for relevant product footage when -needed. Treat source captions, subjects, format and pacing as explicit -requirements, then inspect the saved project and exported artifact before -claiming they were preserved. Report missing overlays or a mismatched export -format without regenerating successful media unnecessarily. +Treat source captions, subjects, format and pacing as explicit requirements, +then inspect the saved project and exported artifact before claiming they +were preserved. Report missing overlays or a mismatched export format without +regenerating successful media unnecessarily. + +## Import attachments + +For ChatGPT attachments, call `library_add` with `files`, using the file objects +ChatGPT supplies: `download_url`, `file_id`, and optional `mime_type` and +`file_name`. Ava downloads and saves the files directly. Do not invent file ids +or download URLs, and do not replace this handoff with `library_upload_url`. + +Poll the import job, check both `result.assets` and `result.failed`, then use +the returned `library_asset_id` in the actual generation inputs. For example, +an image reference can be `video_generate.reference_images` containing +`{library_asset_id}`, or a `project_ask` attachment with +`{type:"image",source:{library_asset_id}}`. +If ChatGPT does not supply the attachment or its download has expired, ask +for a fresh attachment or accessible HTTPS link. Do not silently substitute a +text description for the requested photo and spend on that altered request; +obtain approval for such a fallback. + +Public HTTPS links use `library_add.items`. Clients that can send file bytes +may use `library_upload_url`, PUT the bytes with the returned headers, then +import the completed `media_url`. Creating an upload URL does not upload a file. +To add an imported asset to a brand, pass its saved URL to `brand_media_add`; +clients that can PUT bytes may also use `brand_media_upload_url` first. +Check `brand_get`'s `media_readiness` and use relevant existing brand footage +or request it when needed for production. ## Spending, jobs and confirmation @@ -75,11 +128,10 @@ `required` includes a watermark, and `none` requires a paid owner. Unchanged exports reuse a matching artifact only with the same watermark mode. -Long-running tools return a `job_id`: poll `jobs_get` until succeeded or failed -and report actual API and media charges. Reuse the same `idempotency_key` when -retrying the same paid or write operation. After a timeout, inspect the job -and project before starting another operation. Never claim work succeeded -based only on acceptance of a job. +Report actual API and media charges from completed jobs. Reuse the same +`idempotency_key` when retrying the same paid or write operation. After a +timeout, inspect the existing job and project before starting another operation. +Never claim work succeeded based only on acceptance of a job. Get explicit confirmation for a particular brand before `brand_delete` with `confirm:true`. Tool annotations describe side effects, not permission to
Full technical diff · 1 changed fields
changed /skill_md_contents
"---\nname: ava\ndescription: Use Ava Studio to research references, clone videos or photo carousels, manage campaigns and brand media, continue saved project conversations, generate media, and edit or export projects through its hosted MCP tools.\n---\n\n# Ava Studio workflows\n\nUse the connected Ava tools and the user's own account. `whoami` shows brands,\nthe credit balance, and the connection's monthly budget. The available tool\nlist reflects granted scopes. If a tool is missing, explain the needed\npermission; never ask the user to paste credentials into chat.\n\n## Choose the right workflow\n\n- Research references with `research_breakouts`, `research_search`, or another\n relevant research tool. Include the returned source URLs with findings.\n Use `research_search` with `media_type:\"carousel\"` for photo references;\n `video` and `all` are also supported. Photo posts have `/photo/` URLs.\n- `draft_briefs` and `draft_clone` write briefs; they do not produce media.\n `draft_get`, `draft_spec`, and `draft_prompts` read the resulting work.\n- Campaigns use `campaign_create`, `plan_run`, `concept_list`, approval, and\n `creative_produce`. Approval alone starts no production. Show the selected\n concept and its estimated cost before carrying out production the user\n has not already authorized.\n- For a project planning conversation, use `project_create` or `project_list`,\n then `project_ask`. `ava_ask` is the separate campaign copilot and cannot\n start research, drafting, planning, production, or automation through chat.\n- For individual generations, use `models_list` and `generation_estimate`,\n then the appropriate image, video, or audio tool. Inspect `project_get`\n before editing a timeline; `export_render` exports the saved project.\n\n## Reference cloning and media\n\nPass reference attachments to `project_ask`: a TikTok photo post uses\n`{type:\"carousel\",source:{url}}`, a social video uses\n`{type:\"url\",source:{url}}`, and an image or video file uses its corresponding\ntype and a `library_asset_id` or accessible HTTPS URL. Set `generate:true`\nonly when the user wants production; otherwise save a plan. When\n`needs_input` is true, relay the actual question and send the user's answer\nin the same project. Never invent a casting or creative choice.\n\nOn reconnect, use `project_history { project_id }` to read saved messages and\nreference attachments. Results are newest first; pass `next_cursor` as `cursor`\nfor older pages, including pages with no visible messages but a cursor.\nOnly `outcome:\"awaiting_input\"` requests a user answer; relay its `question`.\nAn unrepaired tool failure is `blocked`, not a question. A failed job may retain\nits `result`: inspect it and the saved project before continuing. Deliver useful\npartial work with its `advisories`, preserving successful media during repairs.\nUse API tool names and project ids instead of Studio controls such as\n\"Generate All above\". Inspect the saved state before claiming generation or\ncaption placement succeeded; caption ingredients alone are not timeline text.\n\nBrowser clients can use accessible links; they may not be able to upload local\nbytes. Clients with file access can use `library_upload_url`, PUT the bytes\nwith the returned headers, then `library_add`. Brand media uses the matching\n`brand_media_upload_url` and `brand_media_add` tools. Check `brand_get`'s\n`media_readiness` before production and ask for relevant product footage when\nneeded. Treat source captions, subjects, format and pacing as explicit\nrequirements, then inspect the saved project and exported artifact before\nclaiming they were preserved. Report missing overlays or a mismatched export\nformat without regenerating successful media unnecessarily.\n\n## Spending, jobs and confirmation\n\nRespect the user's spending instructions and connection budget. The tools'\ndescriptions and model catalog give prices. `project_ask`'s\n`media_credit_limit` is a caller-selected media estimate allowance; its token\nreservation grows against available balance and budget. Do not promise a\nfixed total cost from an initial reservation.\nThe initial API working hold for `project_ask` is 50 credits and replenishes\nwithin the balance and key budget; it is not a total-turn spending cap. Actual\nAI and media usage remains billable on unsuccessful turns; unused holds return.\n\nFor `export_render`, `watermark:\"auto\"` follows the project owner's entitlement,\n`required` includes a watermark, and `none` requires a paid owner. Unchanged\nexports reuse a matching artifact only with the same watermark mode.\n\nLong-running tools return a `job_id`: poll `jobs_get` until succeeded or failed\nand report actual API and media charges. Reuse the same `idempotency_key` when\nretrying the same paid or write operation. After a timeout, inspect the job\nand project before starting another operation. Never claim work succeeded\nbased only on acceptance of a job.\n\nGet explicit confirmation for a particular brand before `brand_delete` with\n`confirm:true`. Tool annotations describe side effects, not permission to\nperform them. Do not enable recurring automation or change billing settings\non the user's behalf.\n\nIf credits, plan entitlements, or rate limits prevent an action, explain the\ncurrent limitation neutrally. Offer a lower-cost request, saved work, or the\nstated retry time. Do not promote buying credits, subscriptions or upgrades,\nand do not provide checkout links.\n\nFor client setup and full inputs, see\n[the connection guide](https://docs.avastudio.com/api-and-mcp/connect) and\n[the tool reference](https://docs.avastudio.com/api-and-mcp/tools).\n""---\nname: ava\ndescription: Use Ava Studio to research references, clone videos or photo carousels, manage campaigns and brand media, continue saved project conversations, generate media, and edit or export projects through its hosted MCP tools.\n---\n\n# Ava Studio workflows\n\nUse the connected Ava tools and the user's own account. `whoami` shows brands,\nthe credit balance, and the connection's monthly budget. The available tool\nlist reflects granted scopes. If a tool is missing, explain the needed\npermission; never ask the user to paste credentials into chat.\n\n## Deliver generated media\n\nFor a generation request, use `models_list` and `generation_estimate` to quote\nthe settings and cost. After the user approves, start the matching generation\ntool or `project_ask { generate:true }`. Reuse approval for the agreed request\nand budget; confirm changes that fall outside that authorization. Briefs and prompts\nalone do not fulfill a request for a generated video.\n\nPoll `jobs_get` until succeeded or failed. Share the generated file URL from\nthe successful result, such as `result.video.url` for `video_generate`.\nFor a project, inspect `project_get`, call `export_render`, and poll its job\nfor `result.output_url`. A Studio editor link is optional; the user should\nnot need to open Studio to press Generate or export the finished work.\nIf the turn ends while a job is still running, report its actual status and\nkeep its job and project ids so a follow-up checks the same work. Do not\npromise background monitoring when the client cannot provide it.\n\nWhen the approved video needs multiple clips, generate each clip once and\nassemble the completed clips with `timeline_add`; set `include_audio:true`\non video items when keeping their generated speech. Export the project for one\ndownloadable video. Reuse successful clips during retries and repairs.\n\nFor each editable project, use its exact returned `studio_url` from\n`project_get` when offering an Open or Edit link. Do not substitute the Studio\nhomepage or invent a project URL. Deliver the completed export's\n`result.output_url` as the download link, distinct from the editing link.\n\nA standalone `video_generate` result is a clip in Library → Media, not an\neditable timeline project. To edit or caption that clip, create a project and\nuse `timeline_add` to import the existing video with `include_audio:true`.\nDo not regenerate it just to create a project. Campaign projects stay under\ntheir campaign; standalone editable projects appear in Library → Projects.\n\n## Choose the right workflow\n\n- Research references with `research_breakouts`, `research_search`, or another\n relevant research tool. Include the returned source URLs with findings.\n Use `research_search` with `media_type:\"carousel\"` for photo references;\n `video` and `all` are also supported. Photo posts have `/photo/` URLs.\n- `draft_briefs` and `draft_clone` write briefs; they do not produce media.\n `draft_get`, `draft_spec`, and `draft_prompts` read the resulting work.\n- Campaigns use `campaign_create`, `plan_run`, `concept_list`, approval, and\n `creative_produce`. Approval alone starts no production. Show the selected\n concept and its estimated cost before carrying out production the user\n has not already authorized.\n- For a project planning conversation, use `project_create` or `project_list`,\n then `project_ask`. `ava_ask` is the separate campaign copilot and cannot\n start research, drafting, planning, production, or automation through chat.\n- For individual generations, use `models_list` and `generation_estimate`,\n then the appropriate image, video, or audio tool. Inspect `project_get`\n before editing a timeline; `export_render` exports the saved project.\n\n## Reference cloning and media\n\nPass reference attachments to `project_ask`: a TikTok photo post uses\n`{type:\"carousel\",source:{url}}`, a social video uses\n`{type:\"url\",source:{url}}`, and an image or video file uses its corresponding\ntype and a `library_asset_id` or accessible HTTPS URL. Set `generate:true`\nonly when the user wants production; otherwise save a plan. When\n`needs_input` is true, relay the actual question and send the user's answer\nin the same project. Never invent a casting or creative choice.\n\nOn reconnect, use `project_history { project_id }` to read saved messages and\nreference attachments. Results are newest first; pass `next_cursor` as `cursor`\nfor older pages, including pages with no visible messages but a cursor.\nOnly `outcome:\"awaiting_input\"` requests a user answer; relay its `question`.\nAn unrepaired tool failure is `blocked`, not a question. A failed job may retain\nits `result`: inspect it and the saved project before continuing. Deliver useful\npartial work with its `advisories`, preserving successful media during repairs.\nUse API tool names and project ids instead of Studio controls such as\n\"Generate All above\". Inspect the saved state before claiming generation or\ncaption placement succeeded; caption ingredients alone are not timeline text.\n\nTreat source captions, subjects, format and pacing as explicit requirements,\nthen inspect the saved project and exported artifact before claiming they\nwere preserved. Report missing overlays or a mismatched export format without\nregenerating successful media unnecessarily.\n\n## Import attachments\n\nFor ChatGPT attachments, call `library_add` with `files`, using the file objects\nChatGPT supplies: `download_url`, `file_id`, and optional `mime_type` and\n`file_name`. Ava downloads and saves the files directly. Do not invent file ids\nor download URLs, and do not replace this handoff with `library_upload_url`.\n\nPoll the import job, check both `result.assets` and `result.failed`, then use\nthe returned `library_asset_id` in the actual generation inputs. For example,\nan image reference can be `video_generate.reference_images` containing\n`{library_asset_id}`, or a `project_ask` attachment with\n`{type:\"image\",source:{library_asset_id}}`.\nIf ChatGPT does not supply the attachment or its download has expired, ask\nfor a fresh attachment or accessible HTTPS link. Do not silently substitute a\ntext description for the requested photo and spend on that altered request;\nobtain approval for such a fallback.\n\nPublic HTTPS links use `library_add.items`. Clients that can send file bytes\nmay use `library_upload_url`, PUT the bytes with the returned headers, then\nimport the completed `media_url`. Creating an upload URL does not upload a file.\nTo add an imported asset to a brand, pass its saved URL to `brand_media_add`;\nclients that can PUT bytes may also use `brand_media_upload_url` first.\nCheck `brand_get`'s `media_readiness` and use relevant existing brand footage\nor request it when needed for production.\n\n## Spending, jobs and confirmation\n\nRespect the user's spending instructions and connection budget. The tools'\ndescriptions and model catalog give prices. `project_ask`'s\n`media_credit_limit` is a caller-selected media estimate allowance; its token\nreservation grows against available balance and budget. Do not promise a\nfixed total cost from an initial reservation.\nThe initial API working hold for `project_ask` is 50 credits and replenishes\nwithin the balance and key budget; it is not a total-turn spending cap. Actual\nAI and media usage remains billable on unsuccessful turns; unused holds return.\n\nFor `export_render`, `watermark:\"auto\"` follows the project owner's entitlement,\n`required` includes a watermark, and `none` requires a paid owner. Unchanged\nexports reuse a matching artifact only with the same watermark mode.\n\nReport actual API and media charges from completed jobs. Reuse the same\n`idempotency_key` when retrying the same paid or write operation. After a\ntimeout, inspect the existing job and project before starting another operation.\nNever claim work succeeded based only on acceptance of a job.\n\nGet explicit confirmation for a particular brand before `brand_delete` with\n`confirm:true`. Tool annotations describe side effects, not permission to\nperform them. Do not enable recurring automation or change billing settings\non the user's behalf.\n\nIf credits, plan entitlements, or rate limits prevent an action, explain the\ncurrent limitation neutrally. Offer a lower-cost request, saved work, or the\nstated retry time. Do not promote buying credits, subscriptions or upgrades,\nand do not provide checkout links.\n\nFor client setup and full inputs, see\n[the connection guide](https://docs.avastudio.com/api-and-mcp/connect) and\n[the tool reference](https://docs.avastudio.com/api-and-mcp/tools).\n"Full snapshot data
{
"description": "Use Ava Studio to research references, clone videos or photo carousels, manage campaigns and brand media, continue saved project conversations, generate media, and edit or export projects through its hosted MCP tools.",
"included_files": [],
"name": "ava",
"skill_md_contents": "---\nname: ava\ndescription: Use Ava Studio to research references, clone videos or photo carousels, manage campaigns and brand media, continue saved project conversations, generate media, and edit or export projects through its hosted MCP tools.\n---\n\n# Ava Studio workflows\n\nUse the connected Ava tools and the user's own account. `whoami` shows brands,\nthe credit balance, and the connection's monthly budget. The available tool\nlist reflects granted scopes. If a tool is missing, explain the needed\npermission; never ask the user to paste credentials into chat.\n\n## Deliver generated media\n\nFor a generation request, use `models_list` and `generation_estimate` to quote\nthe settings and cost. After the user approves, start the matching generation\ntool or `project_ask { generate:true }`. Reuse approval for the agreed request\nand budget; confirm changes that fall outside that authorization. Briefs and prompts\nalone do not fulfill a request for a generated video.\n\nPoll `jobs_get` until succeeded or failed. Share the generated file URL from\nthe successful result, such as `result.video.url` for `video_generate`.\nFor a project, inspect `project_get`, call `export_render`, and poll its job\nfor `result.output_url`. A Studio editor link is optional; the user should\nnot need to open Studio to press Generate or export the finished work.\nIf the turn ends while a job is still running, report its actual status and\nkeep its job and project ids so a follow-up checks the same work. Do not\npromise background monitoring when the client cannot provide it.\n\nWhen the approved video needs multiple clips, generate each clip once and\nassemble the completed clips with `timeline_add`; set `include_audio:true`\non video items when keeping their generated speech. Export the project for one\ndownloadable video. Reuse successful clips during retries and repairs.\n\nFor each editable project, use its exact returned `studio_url` from\n`project_get` when offering an Open or Edit link. Do not substitute the Studio\nhomepage or invent a project URL. Deliver the completed export's\n`result.output_url` as the download link, distinct from the editing link.\n\nA standalone `video_generate` result is a clip in Library → Media, not an\neditable timeline project. To edit or caption that clip, create a project and\nuse `timeline_add` to import the existing video with `include_audio:true`.\nDo not regenerate it just to create a project. Campaign projects stay under\ntheir campaign; standalone editable projects appear in Library → Projects.\n\n## Choose the right workflow\n\n- Research references with `research_breakouts`, `research_search`, or another\n relevant research tool. Include the returned source URLs with findings.\n Use `research_search` with `media_type:\"carousel\"` for photo references;\n `video` and `all` are also supported. Photo posts have `/photo/` URLs.\n- `draft_briefs` and `draft_clone` write briefs; they do not produce media.\n `draft_get`, `draft_spec`, and `draft_prompts` read the resulting work.\n- Campaigns use `campaign_create`, `plan_run`, `concept_list`, approval, and\n `creative_produce`. Approval alone starts no production. Show the selected\n concept and its estimated cost before carrying out production the user\n has not already authorized.\n- For a project planning conversation, use `project_create` or `project_list`,\n then `project_ask`. `ava_ask` is the separate campaign copilot and cannot\n start research, drafting, planning, production, or automation through chat.\n- For individual generations, use `models_list` and `generation_estimate`,\n then the appropriate image, video, or audio tool. Inspect `project_get`\n before editing a timeline; `export_render` exports the saved project.\n\n## Reference cloning and media\n\nPass reference attachments to `project_ask`: a TikTok photo post uses\n`{type:\"carousel\",source:{url}}`, a social video uses\n`{type:\"url\",source:{url}}`, and an image or video file uses its corresponding\ntype and a `library_asset_id` or accessible HTTPS URL. Set `generate:true`\nonly when the user wants production; otherwise save a plan. When\n`needs_input` is true, relay the actual question and send the user's answer\nin the same project. Never invent a casting or creative choice.\n\nOn reconnect, use `project_history { project_id }` to read saved messages and\nreference attachments. Results are newest first; pass `next_cursor` as `cursor`\nfor older pages, including pages with no visible messages but a cursor.\nOnly `outcome:\"awaiting_input\"` requests a user answer; relay its `question`.\nAn unrepaired tool failure is `blocked`, not a question. A failed job may retain\nits `result`: inspect it and the saved project before continuing. Deliver useful\npartial work with its `advisories`, preserving successful media during repairs.\nUse API tool names and project ids instead of Studio controls such as\n\"Generate All above\". Inspect the saved state before claiming generation or\ncaption placement succeeded; caption ingredients alone are not timeline text.\n\nTreat source captions, subjects, format and pacing as explicit requirements,\nthen inspect the saved project and exported artifact before claiming they\nwere preserved. Report missing overlays or a mismatched export format without\nregenerating successful media unnecessarily.\n\n## Import attachments\n\nFor ChatGPT attachments, call `library_add` with `files`, using the file objects\nChatGPT supplies: `download_url`, `file_id`, and optional `mime_type` and\n`file_name`. Ava downloads and saves the files directly. Do not invent file ids\nor download URLs, and do not replace this handoff with `library_upload_url`.\n\nPoll the import job, check both `result.assets` and `result.failed`, then use\nthe returned `library_asset_id` in the actual generation inputs. For example,\nan image reference can be `video_generate.reference_images` containing\n`{library_asset_id}`, or a `project_ask` attachment with\n`{type:\"image\",source:{library_asset_id}}`.\nIf ChatGPT does not supply the attachment or its download has expired, ask\nfor a fresh attachment or accessible HTTPS link. Do not silently substitute a\ntext description for the requested photo and spend on that altered request;\nobtain approval for such a fallback.\n\nPublic HTTPS links use `library_add.items`. Clients that can send file bytes\nmay use `library_upload_url`, PUT the bytes with the returned headers, then\nimport the completed `media_url`. Creating an upload URL does not upload a file.\nTo add an imported asset to a brand, pass its saved URL to `brand_media_add`;\nclients that can PUT bytes may also use `brand_media_upload_url` first.\nCheck `brand_get`'s `media_readiness` and use relevant existing brand footage\nor request it when needed for production.\n\n## Spending, jobs and confirmation\n\nRespect the user's spending instructions and connection budget. The tools'\ndescriptions and model catalog give prices. `project_ask`'s\n`media_credit_limit` is a caller-selected media estimate allowance; its token\nreservation grows against available balance and budget. Do not promise a\nfixed total cost from an initial reservation.\nThe initial API working hold for `project_ask` is 50 credits and replenishes\nwithin the balance and key budget; it is not a total-turn spending cap. Actual\nAI and media usage remains billable on unsuccessful turns; unused holds return.\n\nFor `export_render`, `watermark:\"auto\"` follows the project owner's entitlement,\n`required` includes a watermark, and `none` requires a paid owner. Unchanged\nexports reuse a matching artifact only with the same watermark mode.\n\nReport actual API and media charges from completed jobs. Reuse the same\n`idempotency_key` when retrying the same paid or write operation. After a\ntimeout, inspect the existing job and project before starting another operation.\nNever claim work succeeded based only on acceptance of a job.\n\nGet explicit confirmation for a particular brand before `brand_delete` with\n`confirm:true`. Tool annotations describe side effects, not permission to\nperform them. Do not enable recurring automation or change billing settings\non the user's behalf.\n\nIf credits, plan entitlements, or rate limits prevent an action, explain the\ncurrent limitation neutrally. Offer a lower-cost request, saved work, or the\nstated retry time. Do not promote buying credits, subscriptions or upgrades,\nand do not provide checkout links.\n\nFor client setup and full inputs, see\n[the connection guide](https://docs.avastudio.com/api-and-mcp/connect) and\n[the tool reference](https://docs.avastudio.com/api-and-mcp/tools).\n"
}SHA-256 of public snapshot: 1a4f5ba0b62dfdb5df67167d1b1eafc28f63987766995485d39b20fce1164783