Generate a video from a text prompt, or animate an image_url from its first fram
Generate a video from a text prompt, or animate an image_url from its first frame. The paid response returns the video URL when it renders within 45s (Prefer: wait=N waits longer), else a statusUrl to poll. 8 models including Google Veo 3.1, Kling 3.0, Seedance 2.5, Wan 2.7 and MiniMax Hailuo 3, 4 to 15 seconds, 16:9 or 9:16, from $0.42. GET this URL for every model and price. No account or API key: the payment is the only credential.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
1313 msmedian answer time
$0.42listed price per call
$0.42price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://www.trezalabs.com/api/x402/video
| Category | Image and media |
|---|---|
| Provider host | www.trezalabs.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 6 from 6 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.42 | 1313 ms |
Example input (from the provider)
{
"body": {
"aspectRatio": "16:9",
"model": "minimax-h3",
"prompt": "a manta ray gliding over a sunlit coral reef, slow cinematic drift",
"seconds": 5
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"aspectRatio": {
"default": "16:9",
"enum": [
"16:9",
"9:16"
],
"type": "string"
},
"async": {
"default": false,
"description": "true: answer 202 with a statusUrl at once.",
"type": "boolean"
},
"image_url": {
"description": "Optional first frame: public https JPEG, PNG or WebP, up to 10 MB, cropped to aspectRatio. Without a model, the cheapest model that takes an image at your length renders it.",
"format": "uri",
"type": "string"
},
"model": {
"default": "minimax-h3",
"description": "GET this URL for what each is for. Prices: minimax-h3 (default, text only) 5s $0.42, 10s $0.84, 15s $1.26; veo-3.1-lite 4s $0.45, 6s $0.68, 8s $0.90; wan-2.7 5s $0.70, 10s $1.40; veo-3.1-fast 4s $0.68, 6s $1.01, 8s $1.35; kling-3.0 5s $0.89, 10s $1.77, 15s $2.65; kling-3.0-pro 5s $1.18, 10s $2.36, 15s $3.53; seedance-2.5 5s $1.64, 10s $3.27, 15s $4.90; veo-3.1 4s $2.24, 6s $3.36, 8s $4.48.",
"enum": [
"minimax-h3",
"veo-3.1-lite",
"wan-2.7",
"veo-3.1-fast",
"kling-3.0",
"kling-3.0-pro",
"seedance-2.5",
"veo-3.1"
],
"type": "string"
},
"prompt": {
"description": "What the video should show.",
"maxLength": 2000,
"type": "string"
},
"seconds": {
"description": "Clip length; each model sells its own (see model). Defaults to the model's shortest.",
"enum": [
4,
5,
6,
8,
10,
15
],
"type": "number"
}
},
"required": [
"prompt"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}