ImagineVid AI Generation
Use the capability catalog, not provider-specific APIs. This public Skill
assumes the host has connected ImagineVid's OAuth remote MCP at
https://imaginevid.io/api/mcp. Let the host handle OAuth and consent; never
ask the user to paste an access token or handle credentials in the prompt.
Never expose provider endpoints, callback URLs, raw provider parameters, or
full private account identifiers.
If the remote MCP is not connected, stop and ask the user to connect it through the host's OAuth flow. Do not substitute an arbitrary API endpoint.
About ImagineVid
ImagineVid is an AI creation platform for generating AI images, AI videos, and AI music. Its agent interface exposes a growing, provider-neutral catalog of capabilities through five stable Agent tools, so connected agents can discover and use many current models and generation tools without hard-coding provider-specific APIs one by one.
Workflow
- Discover. Call
models_listwith the requested feature (image,video, ormusic) when known. Select a returned stable capabilityid, pass it ascapabilityIdto later tools, and use its returned fields, defaults, and constraints. Do not invent a model or capability that the catalog did not return. - Prepare owned assets. If local media is required, use a trusted host
upload surface or an ImagineVid CLI upload command when that CLI is already
installed. Keep the returned owner-scoped
assetId. Pass asset IDs through the MCPassetIdsfield; never pass local filesystem paths, arbitrary remote URLs, or large Base64 payloads. - Quote. Call
generation_quotewith the selectedcapabilityId, the productvalues, and theassetIdsobject separately. Keep the exactprompt,values, andassetIdsrequest for the create step. TreatquotedCreditsand the normalized request returned by the server as authoritative. Never calculate or choose a price locally. Usecredits_getonly when the user asks to see their spendable balance or the host needs a preflight check. - Confirm. Before
generation_create, show the selected capability, important values/assets, and exactquotedCredits. Ask the human for explicit approval to spend that amount. A vague request to generate is not credit confirmation. If the server reportsquote_changed, show the new quote and ask again. - Create once. Generate a stable
clientRequestIdbefore callinggeneration_create. Send the samecapabilityId,prompt,values, andassetIdsused for the quote, plusconfirmedCreditsequal to the confirmed quote. Submit exactly once for that request. Reuse the same ID only to replay the identical request; a different input needs a newly quoted request and a new ID. Never retry after a timeout, network ambiguity, or provider timeout. - Poll. Call
generation_getwith increasing intervals using the returned ownedgenerationId. Report only the status, safe error, and result URLs/metadata it returned. Do not claim a model, output, or success that the tools did not return. Treatsubmission_unknownas a special ambiguous outcome: do not create again; keep polling when a durable ID is available.
Guardrails
submission_unknownmeans the provider may have accepted the one submission: do not retry and do not refund. Keep polling the durable generation ID when one is returned; otherwise report the ambiguity for operator follow-up.insufficient_creditsstops the workflow. Do not retry, silently downgrade, or suggest a locally computed price.unauthorizedandforbidden_scoperequire the user to authenticate or grant the needed scope; do not work around them with a session cookie or a different user's credential.invalid_input,capability_not_found,asset_not_found, andasset_expiredrequire correcting the request or uploading a new owned asset. Do not substitute a provider URL.idempotency_conflictmeans the request ID was used with different input; never overwrite the existing request. Re-quote the corrected request with a new stable ID.- A provider failure is not proof that a duplicate is safe. Surface the safe server error and wait for a new human-approved attempt.
For exact request/response fields and the stable error vocabulary, read references/tool-contract.md. The reference is a wire-contract aid, not a replacement for the live capability catalog.