$0.01
per call · USD Coin on Base
Validate a composition body without saving it (dry-run)
Endpoint
POST https://api.cueframe.ai/v1/composition/validate9
Calls / 30d
4
Unique payers / 30d
Sep 8
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://api.cueframe.ai/v1/composition/validate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"accessibility": {
"audioDescriptionTrackId": "string",
"captionsTrackId": "string",
"notes": "string",
"signLanguageTrackId": "string"
},
"captions": {
"from": {
"clipId": "string"
},
"segments": [
{}
],
"source": "derived",
"style": {
"annotationColor": "string",
"backgroundColor": "string",
"color": "string",
"emphasisColor": "string",
"emphasisFontFamily": "string",
"emphasisFontStyle": "normal",
"emphasisFontWeight": 0,
"emphasisGradient": "string",
"emphasisLetterSpacing": 0,
"emphasisPlate": true,
"emphasisPlateAltColor": "string",
"emphasisPlateAltTextColor": "string",
"emphasisPlateColor": "string",
"emphasisPlatePadX": 0,
"emphasisPlatePadY": 0,
"emphasisPlateRadius": 0,
"emphasisPlateTextColor": "string",
"emphasisScale": 0,
"emphasisTextTransform": "none",
"entrance": "none",
"entranceMs": 0,
"entranceStaggerMs": 0,
"exitMs": 0,
"fontFamily": "string",
"fontSize": 0,
"fontWeight": 0,
"highlightColor": "string",
"maxWidthPercent": 0,
"plate": "glass",
"position": "top",
"textTransform": "none"
},
"zPlane": "front"
},
"format": {
"aspectRatio": "16:9",
"fps": 24,
"platform": "string",
"resolution": "hd"
},
"license": {
"notes": "string",
"source": "string",
"type": "string"
},
"markers": [
{
"endTime": 0,
"id": "string",
"kind": "string",
"metadata": {},
"name": "string",
"startTime": 0
}
],
"tracks": [
{
"contents": [
{}
],
"enabled": true,
"id": "string",
"kind": "video",
"name": "string",
"volume": 0
}
],
"v": 1
}),
});
const data = await res.json();curl -X POST \
"https://api.cueframe.ai/v1/composition/validate" \
-H "Content-Type: application/json" \
-d '{"accessibility":{"audioDescriptionTrackId":"string","captionsTrackId":"string","notes":"string","signLanguageTrackId":"string"},"captions":{"from":{"clipId":"string"},"segments":[{}],"source":"derived","style":{"annotationColor":"string","backgroundColor":"string","color":"string","emphasisColor":"string","emphasisFontFamily":"string","emphasisFontStyle":"normal","emphasisFontWeight":0,"emphasisGradient":"string","emphasisLetterSpacing":0,"emphasisPlate":true,"emphasisPlateAltColor":"string","emphasisPlateAltTextColor":"string","emphasisPlateColor":"string","emphasisPlatePadX":0,"emphasisPlatePadY":0,"emphasisPlateRadius":0,"emphasisPlateTextColor":"string","emphasisScale":0,"emphasisTextTransform":"none","entrance":"none","entranceMs":0,"entranceStaggerMs":0,"exitMs":0,"fontFamily":"string","fontSize":0,"fontWeight":0,"highlightColor":"string","maxWidthPercent":0,"plate":"glass","position":"top","textTransform":"none"},"zPlane":"front"},"format":{"aspectRatio":"16:9","fps":24,"platform":"string","resolution":"hd"},"license":{"notes":"string","source":"string","type":"string"},"markers":[{"endTime":0,"id":"string","kind":"string","metadata":{},"name":"string","startTime":0}],"tracks":[{"contents":[{}],"enabled":true,"id":"string","kind":"video","name":"string","volume":0}],"v":1}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"advisories": [
{
"clipId": "string",
"criterion": "string",
"detail": "string",
"fix": "string",
"rule": "string"
}
],
"errors": [
{
"category": "string",
"code": "string",
"fix": {},
"message": "string",
"retryable": true,
"stage": "string"
}
],
"quote": {
"estimatedJourneyTotalUsd": 0,
"jobSpendSoFarUsd": 0,
"thisStepUsd": 0
},
"valid": true,
"warnings": [
"string"
]
}Payment details
0xa82c8b6971a7379badb2fb96032d82af46eccc0aUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Other and the homepage with a featured placement.
More from CueFrame & similar services
CueFrame · Media Import
api.cueframe.ai
Import media into the project from a public https URL — the server fetches and mirrors the bytes (SSRF-filtered), then processes it (transcode + transcribe). Async: returns a media id that flips to ready when the mirror and processing finish; poll GET /media/:id or use a media.completed webhook.
CueFrame · Projects
api-dev.cueframe.ai
Create a video project — the container for a composition (the editable timeline), its media, brand kit, and renders. Every other authoring call (import or generate media, apply composition ops, compose, render, export) takes this project's id. Set the output format here (aspectRatio, fps, resolution).
CueFrame · Media
api-dev.cueframe.ai
Paginated library list. Filter with ?kind= (video|audio|image|gif|asset|source|stock), ?source= (upload|generated|import-url|stock), ?tag= (exact tag) so a real library isn't an undifferentiated soup.