Skip to main content

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 deleted
  • QuotaError: not enough credits for this run
  • PlanError: API runs need a paid plan
  • BusyError: too many runs generating at once on this account
  • RejectedError: the content filter refused the prompt, or a cooldown is active; reword it
  • GenerationFailed: the run was accepted but failed; .error_message says why
  • GenerationTimeout: still generating at the deadline; check it later with status()
  • 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)

Source distribution for freeimagetovideo 0.1.0
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)

Table of built distributions (wheels) for freeimagetovideo 0.1.0
File Interpreter ABI Platform Actions
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.

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