Skip to main content

movoa

Unlimited AI video generator with sound: on paid plans the tenth take of a shot costs what the first did, and your first clip is free to make right now. This is the official Python SDK for Movoa: one API key turns a prompt into text to video, or a still into photo to video, and every clip comes back as AI video with audio.

pip install movoa
from movoa import generate_video

clip = generate_video("a paper boat drifting down a rain gutter, low angle, slow push-in")
print(clip)  # URL of the finished MP4, sound included

Standard library only, no dependencies. generate_video submits the run, waits for it and returns the URL of the finished file.

API key

Sign in on movoa.ai, create a key at movoa.ai/settings/apikeys, then pass it as api_key= or export it:

export MOVOA_API_KEY=sk-...

Runs cost credits on your Movoa account, at the prices on movoa.ai/pricing.

from movoa import credits
print(credits())  # remaining credits on the account

Text to video and photo to video

from movoa import generate_video

# text to video, vertical, 10 seconds
generate_video("a fox trotting through fresh snow at dawn, tracking shot",
               duration=10, aspect_ratio="9:16")

# photo to video: the photo becomes the first frame
generate_video("the camera slowly orbits the statue", image_url="https://example.com/statue.jpg")

# another model
generate_video("a street drummer in the rain, close-up", model="seedance-2-5", duration=10, resolution="720p")
model options
minimax-h3 (default) duration 4 / 5 / 6 / 8 / 10 / 15 · resolution 480p / 768p · aspect_ratio 16:9 / 9:16 / 1:1
veo-3-1-fast duration 8 · resolution 720p · aspect_ratio 16:9 / 9:16 (photo to video: 16:9)
seedance-2-5 duration 5 / 10 / 15 / 20 / 25 / 30 · resolution 480p / 720p · aspect_ratio 16:9 / 9:16 / 1:1
seedance-2, seedance-2-fast, seedance-2-mini duration 4 / 6 / 8 / 10 · resolution 480p / 720p · aspect_ratio

Any extra keyword argument is sent in options as it is. Every run asks for sound. On the site: Seedance 2.5 and Veo 3.

Submit now, collect later

from movoa import submit, status, wait

task_id = submit("a lighthouse in a storm, waves crashing", "minimax-h3", duration=6)
print(status(task_id)["status"])  # pending | processing | success | failed | canceled
url = wait(task_id)               # polls every 10 seconds, 30 minutes by default

While a run waits in line, status() returns queued: True and queueEta in seconds.

Errors worth catching

Each failure is its own subclass of MovoaError, so you can branch on what to do next:

  • AuthError: no key, or the key is wrong or deleted; create one at movoa.ai/settings/apikeys
  • QuotaError: the account does not have enough credits for this run
  • PlanError: that model or quality needs a plan on the account
  • BusyError: too many runs on this account are generating at once
  • RejectedError: the content filter refused the prompt, or a cooldown is active; reword it
  • GenerationError: the run was accepted but failed or was canceled; .error_message says why
  • TimeoutError: the wait ran out; .task_id lets you check the run later with status()

Any other refusal raises MovoaError with the server's message.

MIT licensed. Made by Movoa.

Metadata

Release files for movoa 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for movoa 0.1.0
File Size Uploaded Provenance
movoa-0.1.0.tar.gz 8.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for movoa 0.1.0
File Interpreter ABI Platform
movoa-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / movoa-0.1.0.tar.gz

Download URL movoa-0.1.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f38f1da9530c624ce237e2ec26d7ac15abaaa5cdfa41cfc5f7c53ec2450c8db0
BLAKE2b-256 checksum
How to use checksums
c5e5ebfdf6fff37aacae6b63f5269816bae456cbab738abce3e2b41270c72b38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / movoa-0.1.0-py3-none-any.whl

Download URL movoa-0.1.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9309ba6b466606865033ca24182113421fcfd1f048cfe823c8067e571c5a3161
BLAKE2b-256 checksum
How to use checksums
a11fb7b6a8cf729788453474bd33596c8e6e84e5527e158370d659379bc9fbe1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Security for movoa 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page