v1
latestOpenAPI 3.0.32026-07-24205887.6 KBTranscribe 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.
Path parameters
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.
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