v1

latestOpenAPI 3.0.32026-07-24205887.6 KB
Ad Accounts

Transcribe ad-account video

Transcribe a workspace-owned ad video to text. Synchronous: blocks until the transcript is ready (~30-60 seconds on a cache miss, near-instant on a hit).

POST vs GET semantics. POST on this path triggers transcription; GET on the same path is a pure cache lookup that never triggers and never charges. Pick the verb by intent.

Caching. Transcripts are cached per workspace + video content-hash, so repeat calls in the same workspace return the cached transcript at 0 credit.

Credits. Cache hit: 0 credits. Cache miss: charged at the same rate as the in-app video-transcription feature — trigger it once in Atria's web app to see the current per-call credit cost. The charge is auto-refunded if transcription itself fails.

Returns: code=0 success (status=success with transcript, or status=failure with error populated and credits refunded); code=40001 invalid account_id; code=40401 cross-workspace / unknown account / video not found on the platform; code=42900 when the workspace is out of credits for this feature.

post/open/v1/ad-accounts/{account_id}/videos/{video_id}/transcript

Path parameters

account_idstring required

Workspace ad-account UUID (dashed or hex) that owns this video. Must match an entry returned by GET /open/v1/ad-accounts for the calling workspace.

Workspace ad-account UUID (dashed or hex) that owns this video. Must match an entry returned by GET /open/v1/ad-accounts for the calling workspace.

video_idstring required

Platform-native Video Object ID surfaced by GET /open/v1/ad-accounts/{account_id}/ads/{platform_ad_id} as creative.videos[].video_id. Opaque string — pass it back verbatim.

Platform-native Video Object ID surfaced by GET /open/v1/ad-accounts/{account_id}/ads/{platform_ad_id} as creative.videos[].video_id. Opaque string — pass it back verbatim.

Response

Successful Response

codeinteger
messagestring