Free Image to Video: Python SDK and CLI
Free image to video AI with no daily cap: start with no sign-up, keep going on a free account. Every video comes with sound and no watermark. This is the official Python SDK and command-line tool for Free Image to Video: turn a prompt or a photo into a video clip from your terminal or your Python program.
pip install freeimagetovideo
from freeimagetovideo import generate_video
clip = generate_video("a paper lantern drifting over a night river")
# image to video: the photo becomes the first frame
moved = generate_video("the camera slowly orbits the statue",
image_url="https://example.com/statue.jpg",
duration=6, aspect_ratio="9:16")
Each call submits the run, waits for it and returns the URL of the finished clip. Every clip comes with sound. Standard library only, no dependencies.
On the site the same model runs as image to video AI with sound, or straight from a prompt as free text to video AI.
CLI
export FREEIMAGETOVIDEO_API_KEY=sk-...
freeimagetovideo "a paper lantern drifting over a night river"
freeimagetovideo --image https://example.com/statue.jpg "the camera slowly orbits the statue"
freeimagetovideo -o duration=10 -o resolution=768p -o aspect_ratio=9:16 "a fox in fresh snow"
freeimagetovideo --no-wait "a lighthouse in a storm" # print the task id and return
freeimagetovideo --credits
python -m freeimagetovideo works too.
API key and plans
Create a key at freeimagetovideo.ai/settings/apikeys, then pass it as api_key= or set FREEIMAGETOVIDEO_API_KEY. API runs need a paid plan: each run draws on the plan's full-speed allowance, then waits in the relaxed queue. See pricing. To make clips without a key, use the generator on freeimagetovideo.ai: start with no sign-up, keep going on a free account.
from freeimagetovideo import credits
print(credits()) # credits left on the account
Options
| option | values |
|---|---|
duration |
4, 5, 6, 8, 10, 15 (seconds) |
resolution |
480p (default), 768p |
aspect_ratio |
16:9 (default), 9:16, 1:1 |
Model: MiniMax H3 (minimax-h3).
Submit now, collect later
from freeimagetovideo import submit, status, wait
task_id = submit("a lighthouse in a storm, waves crashing", duration=5)
print(status(task_id)["status"]) # pending | processing | success | failed | canceled
url = wait(task_id) # polls every 10 seconds, 30 minutes by default
Errors worth catching
Each failure is its own subclass of FreeImageToVideoError:
AuthError: no key, or the key is wrong or deletedQuotaError: not enough credits for this runPlanError: API runs need a paid planBusyError: too many runs generating at once on this accountRejectedError: the content filter refused the prompt, or a cooldown is active; reword itGenerationFailed: the run was accepted but failed;.error_messagesays whyGenerationTimeout: still generating at the deadline; check it later withstatus()APIError: anything else, with the server's message
The service answers most refusals as HTTP 200 with a non-zero code, so the SDK reads the envelope, not just the status code.
Full docs: freeimagetovideo.readthedocs.io. MIT licensed.
Metadata
Release files for freeimagetovideo 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| freeimagetovideo-0.1.0.tar.gz | 10.7 kB | Without provenance | Details for freeimagetovideo-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| freeimagetovideo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for freeimagetovideo-0.1.0-py3-none-any.whl |
Total release size: 20.1 kB
Release files / freeimagetovideo-0.1.0.tar.gz
| Download URL | freeimagetovideo-0.1.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89ae11e7f710f8d4ad12567cd63a8f369fcd42a65fae4a1d96f8e2cd063d8ac2
|
|
BLAKE2b-256 checksum How to use checksums |
c3a4fecb1ba315796e4785182d93265e2f4b94831a771b6f129ad3feaf5f83e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / freeimagetovideo-0.1.0-py3-none-any.whl
| Download URL | freeimagetovideo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4dce2350ffc3a5f96af442a0d3311c14b3af0be392aa2174c7429aa15902ef0a
|
|
BLAKE2b-256 checksum How to use checksums |
0da1ceb59f5fe7ae6f01d7ba0d045bb7b320c9888eff1c36409f5de0a700a785
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Security for freeimagetovideo 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.