Api Endpoint

Otto AI

AI video generation via fal.ai — default model: ByteDance Seedance 2.0. Alternative: fal-ai/veo3.1. Dynamic pricing per request: at-cost fal.ai rate + 15% margin (floor $0.05); the advertised price is the Seedance 5s reference quote — the actual quote is returned per request. Supports text-to-video and image-to-video.

Open interactive test console

Offering

Provider
x402.ottoai.services
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.ottoai.services/video-gen
MIME type
Not provided
First seen
2026-10-16T01:50:19.913Z
Last seen
Tags
video generation, ai video, text to video, image to video

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
1.75 USDC
Atomic price: 1750000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
1.75 USDC
Atomic price: 1750000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 3
1.75 USDC
Atomic price: 1750000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1750000",
    "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1750000",
    "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1750000",
    "payTo": "6XcSfqJHr9vNW2vbiRaMqUYVm7shDgLepca54wUTDPN5"
  }
]

Observed health

Status
Healthy
Latest latency
112 ms
Average latency
371 ms
HTTP status
204
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "queryParams": {
      "allOf": [
        {
          "if": {
            "properties": {
              "model": {
                "const": "seedance-2.0"
              }
            },
            "required": [
              "model"
            ]
          },
          "then": {
            "properties": {
              "aspect_ratio": {
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1"
                ]
              },
              "duration": {
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10
                ]
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "model": {
                "const": "veo-3.1"
              }
            },
            "required": [
              "model"
            ]
          },
          "then": {
            "properties": {
              "aspect_ratio": {
                "enum": [
                  "16:9",
                  "9:16"
                ]
              },
              "duration": {
                "enum": [
                  4,
                  6,
                  8
                ]
              },
              "image_url": false
            }
          }
        }
      ],
      "properties": {
        "aspect_ratio": {
          "description": "Output aspect ratio (default 16:9). 1:1 on seedance-2.0 only",
          "enum": [
            "16:9",
            "9:16",
            "1:1"
          ],
          "type": "string"
        },
        "duration": {
          "description": "Whole seconds. seedance-2.0: 4-10; veo-3.1: 4, 6 or 8",
          "maximum": 10,
          "minimum": 4,
          "type": "integer"
        },
        "image_url": {
          "description": "Optional: public HTTPS image URL (JPEG, PNG or WebP) for image-to-video (seedance-2.0 only)",
          "pattern": "^https://",
          "type": "string"
        },
        "model": {
          "description": "Video model (default: seedance-2.0)",
          "enum": [
            "seedance-2.0",
            "veo-3.1"
          ],
          "type": "string"
        },
        "prompt": {
          "description": "Video prompt (20-1000 chars). Describe motion, camera, scene.",
          "type": "string"
        }
      },
      "required": [
        "prompt",
        "duration"
      ],
      "type": "object"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "properties": {
        "duration": {
          "type": "number"
        },
        "error": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "resolution": {
          "type": "string"
        },
        "status": {
          "enum": [
            "success",
            "failed"
          ],
          "type": "string"
        },
        "videoUrl": {
          "type": "string"
        }
      },
      "required": [
        "status"
      ],
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}