API reference / Promo videos
promovideo preview post
/api/v1/promovideo/previewParameters
Idempotency-Keyheaderrequiredstring
Persist this key for retries. Reusing it with changed input returns 409. Receipts are retained for at least 24 hours.
min length: 8 · max length: 128
Request body
application/json
projectIdbodyrequiredstring · uuid
variantIdbodyoptionalstring · uuid
languagebodyoptional"en" | "en-GB" | "en-AU" | "en-CA" | "es" | "es-MX" | "fr" | "fr-CA" | "de" | "it" | "pt" | "pt-BR" | "ja" | "ko" | "zh-CN" | "zh-TW" | "nl" | "ru" | "ar" | "tr" | "pl" | "sv" | "no" | "da" | "fi" | "cs" | "hi" | "hu" | "ro" | "uk" | "el" | "he" | "id" | "ms" | "th" | "vi" | "fil" | "hr" | "sk" | "ca" | "bn" | "gu" | "kn" | "ml" | "mr" | "or" | "pa" | "sl" | "ta" | "te" | "ur"
sceneIndexbodyoptionalinteger
Config index of the scene to show; default first visible
minimum: 0 · maximum: 99
atbodyoptionalnumber
Position within the scene, 0–1 (default 0.5)
minimum: 0 · maximum: 1
framebodyoptionalinteger
Absolute 30 fps video frame; overrides sceneIndex/at
minimum: 0 · maximum: 18000
formatbodyoptional"appStore:default" | "appStore:duo" | "appStore:6.9" | "appStore:6.7" | "appStore:6.5" | "appStore:6.3" | "ipad:11" | "ipad:13" | "ipad:12.9" | "social:9:16" | "social:1:1" | "social:16:9" | "creative:header" | "creative:search"
Output format; default the video's previewFormat
scalebodyoptionalnumber
Output size relative to the format's full size
minimum: 0.1 · maximum: 1 · default: 0.5
View complete request schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"variantId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"language": {
"type": "string",
"enum": [
"en",
"en-GB",
"en-AU",
"en-CA",
"es",
"es-MX",
"fr",
"fr-CA",
"de",
"it",
"pt",
"pt-BR",
"ja",
"ko",
"zh-CN",
"zh-TW",
"nl",
"ru",
"ar",
"tr",
"pl",
"sv",
"no",
"da",
"fi",
"cs",
"hi",
"hu",
"ro",
"uk",
"el",
"he",
"id",
"ms",
"th",
"vi",
"fil",
"hr",
"sk",
"ca",
"bn",
"gu",
"kn",
"ml",
"mr",
"or",
"pa",
"sl",
"ta",
"te",
"ur"
]
},
"sceneIndex": {
"description": "Config index of the scene to show; default first visible",
"type": "integer",
"minimum": 0,
"maximum": 99
},
"at": {
"description": "Position within the scene, 0–1 (default 0.5)",
"type": "number",
"minimum": 0,
"maximum": 1
},
"frame": {
"description": "Absolute 30 fps video frame; overrides sceneIndex/at",
"type": "integer",
"minimum": 0,
"maximum": 18000
},
"format": {
"description": "Output format; default the video's previewFormat",
"type": "string",
"enum": [
"appStore:default",
"appStore:duo",
"appStore:6.9",
"appStore:6.7",
"appStore:6.5",
"appStore:6.3",
"ipad:11",
"ipad:13",
"ipad:12.9",
"social:9:16",
"social:1:1",
"social:16:9",
"creative:header",
"creative:search"
]
},
"scale": {
"default": 0.5,
"description": "Output size relative to the format's full size",
"type": "number",
"minimum": 0.1,
"maximum": 1
}
},
"required": [
"projectId"
],
"additionalProperties": false
}Request example
Set ALF_API_URL to https://dashboard.applaunchflow.com/api/v1 and ALF_API_KEY to your key. Replace sample IDs with your project’s values. Use a new ALF_REQUEST_ID for each new operation.
curl --request POST \
--url "$ALF_API_URL/promovideo/preview" \
--header "Authorization: Bearer $ALF_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $ALF_REQUEST_ID" \
--data '{
"projectId": "11111111-1111-4111-8111-111111111111"
}'This example shows the request structure. Some editor operations require additional query parameters that are not yet described in OpenAPI.
Response
Successful JSON responses wrap the result in data, with a request ID in meta.requestId.
mimeTypedatarequired"image/png"
pngdatarequiredstring
Base64 PNG of the rendered frame
widthdatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
heightdatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
formatdatarequiredstring
framedatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
timeSecondsdatarequirednumber
durationInFramesdatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
fpsdatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
sceneIndexdatarequiredinteger
minimum: -9007199254740991 · maximum: 9007199254740991
sceneTypedataoptionalstring
variantIddatarequiredstring · uuid
languagedatarequiredstring
View response schema
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mimeType": {
"type": "string",
"const": "image/png"
},
"png": {
"type": "string",
"description": "Base64 PNG of the rendered frame"
},
"width": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"height": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"format": {
"type": "string"
},
"frame": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"timeSeconds": {
"type": "number"
},
"durationInFrames": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"fps": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"sceneIndex": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"sceneType": {
"type": "string"
},
"variantId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"language": {
"type": "string"
}
},
"required": [
"mimeType",
"png",
"width",
"height",
"format",
"frame",
"timeSeconds",
"durationInFrames",
"fps",
"sceneIndex",
"variantId",
"language"
]
},
"meta": {
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "string",
"format": "uuid"
}
}
}
}
}Errors & retries
Errors use application/problem+json. Check the stable code and keep requestId when contacting support. Respect Retry-After on 429 responses.