Skip to content

Generate a video

POSThttps://api.vidmoat.com/v1/ai/videos
Bearer tokenScope ai.video80 to 320 credits per secondTry it in the playground

Start a generated clip with Grok, Alibaba HappyHorse or Wan 3.0. Returns a job to poll. Paid Studio only; trials and full-waiver promotions are excluded.

Body#

  • promptstringrequired
    Up to 800 characters.
  • durationSecintegerdefault 5
    Whole seconds, from the provider's minimum (Grok 1, Wan 2, HappyHorse 3) to 15.
  • providerenumdefault grok
    qwen is Alibaba HappyHorse 1.1. Auto picks the cheapest compatible route (and is the default when you ask for 1080p without a provider).
    One of grok, qwen, wan, auto
  • resolutionenumdefault 720p
    Grok does not do 1080p.
    One of 480p, 720p, 1080p
  • aspectRatiostringdefault 16:9
    16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 or 21:9 (Wan: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9).
  • referenceUrlsarray of strings
    Up to 7 reference images for consistency: your uploads or public HTTPS images. Grok with references is limited to 720p. Not with imageUrl.
  • imageUrlstring
    A starting frame. Not with referenceUrls.
  • withAudiobooleandefault false
    Generate audio where the provider supports it (not HappyHorse).
  • projectIdstring
    Project to attach the job to.
  • maxCreditsnumber
    Never spend more than this.
  • quoteOnlyboolean
    true returns the route and price without starting a job.

Response#

Returns 202.

Response fields#

  • idstring
    The job id. Poll it with Get a generation job.
  • statusstring
    PROCESSING.
  • durationSecinteger
    Seconds billed.
  • creditsobject
    { charged, remaining, basis }.
  • pollstring
    The path to poll.

Errors#

Besides the errors any request can get (authentication, rate limits):

StatusCodeWhen
400invalid_requestNo prompt, or a refused reference.
402plan_requiredThe plan has no video generation.
402insufficient_creditsNot enough credits, or the account is on a trial or a full-waiver promotion.
402quota_exceededA video job is already running on the account.
422prompt_rejectedThe prompt failed the safety check. Nothing was charged. field names the field.
502provider_errorThe generation provider failed. The charge is refunded.