Back to model library

Video / MODEL API

Wan2.2-T2V-A14B

From $0.05 / sec

OVERVIEW

Model overview

Wan2.2-T2V-A14B. Explore model specifications, API rates, and request examples.

Specifications

Category
Video
Input modalities
text
Output modalities
video

MODEL PRICING

Model API pricing

Video generation pricing

Rates depend on output resolution and reference video input. Check the billing unit for each model.

Wan2.2-T2V-A14B — Video generation pricing
ResolutionReference videoRate
480pWithout video$0.05 / sec
480pWith video$0.05 / sec
720pWithout video$0.08 / sec
720pWith video$0.08 / sec

Public platform rates refresh every five minutes. A dash means a rate is not provided; it does not mean free. Check the console for final charges.

BUILT FOR YOUR STACK

API quickstart

Read the docs

Expand connection setup and run the preparation commands first. Then save and run the Python or cURL example.

Connection setup & preparationActual API address, model ID, and environment variables
API address
https://api.ecohash.com/v1
API model ID
wan22-t2v-a14b

Replace YOUR_API_KEY with the full inference API key issued in the console. Run setup in macOS/Linux or a compatible shell. JSON cURL examples use the Python standard library to build the request body.

Terminal
python -m pip install requests
export GIGACOMMA_API_BASE_URL='https://api.ecohash.com/v1'
export GIGACOMMA_MODEL_ID='wan22-t2v-a14b'
export GIGACOMMA_API_KEY="YOUR_API_KEY"

GIGACOMMA_API_KEY is the environment variable name. Its value is an inference API key from the console, not an OpenAI API key. Get an API key

quickstart.py
import timeimport osimport requestsMODEL_ID = os.environ["GIGACOMMA_MODEL_ID"]BASE_URL = os.environ["GIGACOMMA_API_BASE_URL"].rstrip("/")headers = {"Authorization": f"Bearer {os.environ['GIGACOMMA_API_KEY']}"}response = requests.post(    f"{BASE_URL}/video/generations", headers=headers,    json={"model": os.environ["GIGACOMMA_MODEL_ID"],    "prompt": "A sunset over mountains, cinematic",    "num_frames": 49,    "fps": 16,    "width": 720,    "height": 480},    timeout=120,)response.raise_for_status()job_id = response.json()["id"]for _ in range(120):    status = requests.get(        f"{BASE_URL}/video/jobs/{job_id}",        headers=headers, timeout=30,    )    status.raise_for_status()    job = status.json()    if job["status"] == "completed":        print(job["url"])        break    if job["status"] == "failed":        raise RuntimeError(job)    time.sleep(5)else:    raise TimeoutError(f"Video job {job_id} is still running")

Related models

Explore all models