ToolAssay

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

CategoryImage and media
Provider hostwww.trezalabs.com
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days6 from 6 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
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"
}

This page as JSON