SuperAPI AI Directory

media-tools

Agents & models

View repository

Updated 10-17 17:08

About this skill

Media Tools

Before taking any action for this skill, read Shared workflow rules. Read it again after context recovery when doing media work. Do not rely on automatic loading of plugin-root AGENTS.md. Resolve this installed skill's plugin root by going up two directories from its containing skill directory, then validate .mcp.json and the plugin manifest. Environment variables are optional; use the installed skill path, never a guessed marketplace checkout.

Fulfill the requested media operation without adding a video production workflow or a local animation project.

Scope and shared rules

  • Resolve the plugin root from a valid AO_HARNESS_ROOT, otherwise from this file's <harness-root>/skills/media-tools/SKILL.md path. Read docs/shared-rules.md for the public allowlist, updates, identity, approvals, idempotency, storage, and recovery rules.
  • Audio, images/keyframes, transcription, import, and existing-job queries belong here. A request to generate any new video clip belongs to skills/video-director/SKILL.md, regardless of model, clip count, or whether the user supplied a prompt. A video status query does not require Director planning again.
  • Use only the live opus-video-tools schema and available model metadata. Honor the requested model if exposed and compatible. Do not invent model names or fields, use private provider scripts, or silently substitute an unavailable model.
  • Do not load the Seedance skillpack for independent audio or images, require a video storyboard, add camera directions to speech, or create a Remotion project for an assets-only request.

Execute the requested operation

  1. Identify the desired output and input/reference roles. Use generate_audio for speech, music, or sound effects; generate_keyframes for images; transcribe_audio for timing/text; and import_assets for asset registration, according to the live schema. Use get_status, list_jobs, and resolve_job for existing work.
  2. Verify opus_video_tools_whoami before new project creation, complete host sign-in if needed, and resolve an unexpected organization. Bind new generation/storage work to an explicit backend project. Status and recovery use the original job/project context instead of creating another project. Never reuse a previous organization's assets after switching organizations.
  3. Prepare a review artifact appropriate to the medium: exact text, language, and voice for speech; a brief and duration for music/SFX; prompt, dimensions/aspect, and reference usage for images; input and desired operation for transcription/import. State requested outputs and the paid request count where relevant. Do not fabricate prices or require absent video layers. Follow shared paid approval rules; preserve the scope of an already approved request.
  4. Save each exposed requestKey as a UUID together with the exact arguments before submitting project creation or generation/transcription. Preserve the key for an identical retry only. Changed work needs a new key and, when paid, a new bound approval. Finish any returned asset upload/finalization steps before using its durable reference.
  5. Submit only the requested operations. Poll asynchronous jobs with get_status, using watch windows of at most 45 seconds or ordinary polling, until completed, failed, or submission_unknown. Continue across timed-out watch windows without resubmitting paid work. Resolve unknown submissions only under the shared explicit duplicate-spend-risk procedure.
  6. Deliver the actual completed audio, image, transcript, or asset reference using the host's supported media presentation. Save durable project/job/asset IDs and exact request records. Do not claim a mix, preview, or export that was not produced and verified. Further editing or local assembly occurs only when requested.