Get App details
GET /openapi/v1/apps/{appId}?publishTag=production
Authorization: Bearer <API_KEY>
Request parameters
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
appId | Path | string | Yes | App ID |
publishTag | Query | string | No | Release Tag: production or test; mutually exclusive with publishVersion |
publishVersion | Query | integer | No | Exact immutable version, minimum 1; mutually exclusive with publishTag |
appId is the string returned by List published Apps, or one provided by the platform or App publisher. With no selector, the API resolves production. Supplying both selectors, an invalid Tag, or a version below 1 returns INVALID_REQUEST. An App, Tag, or version that is unavailable to the caller returns APP_NOT_FOUND.
The success status is HTTP 200.
Success response example
{
"code": 200,
"message": "success",
"data": {
"schemaVersion": 1,
"appId": "APP_ID",
"name": "Fashion Video Generator",
"description": "Generate a video from a character reference and prompt",
"publishVersion": 3,
"publishTag": "production",
"estimatedPrice": "3.25000000",
"inputs": [
{
"key": "prompt",
"name": "Prompt",
"description": "Describe the video to generate",
"type": "text",
"required": true,
"defaultValue": "A cinematic fashion video"
},
{
"key": "reference_image",
"name": "Character reference",
"description": "Used to preserve the character's appearance",
"type": "image",
"required": true
},
{
"key": "duration",
"name": "Duration",
"description": "Choose from the durations frozen in this release",
"type": "setting",
"required": true,
"options": [-1, 10],
"defaultValue": -1
}
],
"outputs": [
{
"key": "final_video",
"name": "Final video",
"description": "The generated video",
"type": "video"
}
],
"steps": [
{
"stepIndex": 0,
"nodeKey": "node-character-image",
"nodeType": "image",
"name": "Generate character image",
"estimatedPrice": "1.86040938"
},
{
"stepIndex": 1,
"nodeKey": "node-video",
"nodeType": "video",
"name": "Generate video",
"estimatedPrice": "1.38959062"
}
],
"examples": {
"inputJson": {
"prompt": "A cinematic fashion video",
"reference_image": {
"url": "https://example.com/ref.png"
},
"duration": -1
},
"inputPreview": {
"url": "https://example.com/in.png",
"thumbnailUrl": "https://example.com/in-sm.png",
"mimeType": "image/png",
"width": 1024,
"height": 1024
},
"outputPreview": {
"url": "https://example.com/out.mp4",
"thumbnailUrl": "https://example.com/out.jpg",
"mimeType": "video/mp4",
"width": 1080,
"height": 1920
}
}
}
}
integerProtocol field, currently fixed at
200stringFixed at
success on successobjectPublic details of the App's current published version
integerVersion of the public App details schema, currently
1stringApp ID
stringApp name
stringDescription of the App's purpose
integerCurrent published version
string/null
production or test currently associated with the resolved version; null when it has no Tagdecimal stringEstimated Credit price of the current version, with exactly 8 decimal places
arrayInputs declared by the current published version
stringParameter key to place in
inputJson when creating a RunstringDisplay name of the input
stringInput description
stringInput type:
text, image, video, audio, or settingbooleanWhether the input is required; optional media keys may be omitted from
inputJsonstring/numberPublic default; a
setting default is always a member of options; omitted when not declaredstringParameter key to place in
inputJson when creating a RunstringDisplay name of the input
stringInput description
stringInput type:
text, image, video, audio, or settingbooleanWhether the input is required; optional media keys may be omitted from
inputJsonstringParameter key to place in
inputJson when creating a RunstringDisplay name of the input
stringInput description
stringInput type:
text, image, video, audio, or settingbooleanWhether the input is required; optional media keys may be omitted from
inputJsonarray<string\number>`
string/numberPublic default; a
setting default is always a member of options; omitted when not declaredarrayFinal outputs declared by the current published version
stringOutput key
stringDisplay name of the output
stringOutput description
stringOutput type:
text, image, video, or audioarrayPublic execution steps declared by the current published version
integerStep order, starting at
0stringStable identifier used to associate a step within the current published version
stringStep type
stringStep display name
decimal stringEstimated Credit price of the step, with exactly 8 decimal places
integerStep order, starting at
0stringStable identifier used to associate a step within the current published version
stringStep type
stringStep display name
decimal stringEstimated Credit price of the step, with exactly 8 decimal places
objectInput and result examples provided by the publisher
objectComplete input example that can be used as the starting point for a Run
stringText input value for the example App
objectMedia input object for the example App
stringAbsolute HTTPS URL of the example media
numberFrozen duration option for the example App
objectInput preview media; omitted when not configured
stringOriginal input preview URL
stringInput preview thumbnail URL
stringInput preview MIME type
integerInput preview width in pixels
integerInput preview height in pixels
objectOutput preview media; omitted when not configured
stringOriginal output preview URL
stringOutput preview thumbnail URL
stringOutput preview MIME type
integerOutput preview width in pixels
integerOutput preview height in pixels
publishVersionis the exact immutable version returned. A default or Tag-based request may resolve to another version after a Tag switch; an exact-version request does not drift.- Exact-version requests also return
publishTag. If bothproductionandtestpoint to the version, the value isproduction; if neither does, the value isnulland the field is not omitted. steps[].nodeKeyassociates App detail steps with Run results. It is stable only for the currentappIdandpublishVersion, and must not be used as an authorization credential or resource access parameter.- A
settinginput'soptions,defaultValue, and priced combinations are frozen with thepublishVersion. Submit one option without converting numbers to strings. inputs[].defaultValueis returned only when the publisher declared a public default.- Omit an optional media key when no value is supplied; the server treats it as empty media and does not restore the publisher's original output.
examples.inputJsoncan be used directly as the starting point for a Run. Without an explicit example, the server generates one only from safe defaults and it may be empty.inputPreviewandoutputPrevieware omitted when not configured.