Back to guides
Video·September 5, 2026·Updated September 12, 2026·7 min read

Veo 3 pricing — what does it cost per clip through the API instead of a subscription?

Most Korean-language results end with subscription plans. We fill in the missing half with numbers: what it costs to call clips individually through the API.

If you search in Korean for Veo 3 pricing, you usually end up with subscription information — Google AI Pro/Ultra plans and Flow credits. That is only half the story; the other half is missing. This article puts numbers on the missing side — how much it costs to call the API on a per-clip basis — and decides which option is better with one division.

Two pricing systems

RouteBilling unitLimits
Subscription (Google AI Pro/Ultra, Flow)Monthly fee + creditsStops when credits run out
API (pay-as-you-go)Per clipNo monthly fee · No cap

Subscription prices and credit amounts change frequently, so we do not reproduce them here. Instead, we provide only the division needed for comparison — monthly fee ÷ per-clip price = the break-even number of clips. In months when you create fewer than that, pay-as-you-go is cheaper.

Per-clip price — by tier

The rates below are read from the model catalog. If pricing changes, this table changes too.

TierPer clipUse case
Veo 3.1 Lite$0.18+Drafts · prompt refinement · high-volume variations
Veo 3.1 Fast$0.36+Typical deliverables
Veo 3.1 Quality$1.60+Final output

The biggest cost reduction comes from mixing tiers. Run the pre-finalization stage several times with Veo 3.1 Lite, then run only the finalized prompt once at a higher tier. The difference between $0.18+ and $1.60+ becomes your experimentation cost.

Calling — only the asynchronous nature matters

Unlike text, video is an asynchronous task. The request first returns a task id, and you poll that id while waiting for completion.

veo.py
# 클립 하나를 만들고 결과를 기다리는 최소 예제.
# 구독도, Google Cloud 프로젝트도 없이 키 하나로 호출합니다.
import os, time, requests

KEY = os.environ["KUNAVO_API_KEY"]

# 제출하면 작업 id와 status "queued"가 바로 돌아옵니다.
job = requests.post(
    "https://api.kunavo.com/v1/videos",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "model": "veo-3",
        "prompt": "비 오는 서울 골목, 네온 간판, 카메라가 천천히 전진",
    },
).json()

# 영상 생성은 비동기입니다 — 작업 id로 폴링합니다.
while True:
    r = requests.get(
        f"https://api.kunavo.com/v1/videos/{job['id']}",
        headers={"Authorization": f"Bearer {KEY}"},
    ).json()
    if r["status"] in ("completed", "failed"):
        break
    time.sleep(5)

# 완료되면 영상 URL은 output.url에 있습니다.
print(r["output"]["url"] if r["status"] == "completed" else r["error"])

Failed requests are not billed. However, generating again because you dislike the result is a successful generation, so each one is billed.

Honestly — when this path is not the right fit

The gateway path lets you start without a Google account or Cloud project, but it uses shared capacity rather than dedicated project quota. If you need guaranteed quota or a contractual SLA at your scale, apply directly to Google. This page does not claim to replace that option.

Image pricing is covered in the Nano Banana API; detailed English documentation is available in Veo 3 API and Text-to-video API. Payment methods are covered in Claude API pricing and billing.

Frequently asked questions

How much does Veo 3 cost?

There are two pricing models. Subscriptions (Google AI Pro/Ultra and Flow credits) use a monthly fee with a generation limit, while the API is pay-as-you-go per clip. Kunavo’s API rates are Veo 3.1 Lite $0.18+, Veo 3.1 Fast $0.36+, and Veo 3.1 Quality $1.60+(per video). There is no monthly fee or minimum commitment.

Which is better: a subscription or the API?

It depends on how many you create. If you generate a high volume consistently every month, the subscription’s credit pricing is better; if you need only a few or usage fluctuates, pay-as-you-go per clip is better. The calculation is one division — monthly fee ÷ per-clip price = the break-even number of clips. In months when you create fewer than that, pay-as-you-go is cheaper.

Can I use Veo without a Google Cloud project?

Yes, through an OpenAI-compatible gateway. You can make calls with one key, without linking a Google account or billing account or creating a project. However, it uses shared capacity rather than dedicated project quota, so if you need guaranteed quota or a contractual SLA, apply directly to Google.

What is different between the Veo 3 tiers?

They differ in speed, quality, and per-clip price. Lite is the cheapest for drafts or high-volume variations, the standard tier is suitable for typical deliverables, and Quality is intended for final output. In practice, the biggest total-cost reduction comes from refining a prompt through several Lite runs and then running only the finalized prompt once at a higher tier — the difference between $0.18+ and $1.60+ becomes your experimentation cost.

Does video generation return a result immediately after a request?

No. Video is an asynchronous task: the request first returns a task id, and you poll that id while waiting for completion. Unlike text models, it does not finish in a single response, so your code should separate submission from retrieval.

Are failed requests billed too?

Failed requests are not billed through Kunavo. However, generating again because you dislike the result is a successful generation, so each one is billed. That is why we recommend using the cheapest tier while refining prompts.