Titles, description, hashtags and chapters
generate_metadataPaid: 1 credit per platform when a transcript exists (no re-transcription); with only a video, transcription (1 credit/min) is added. Writes publishing metadata from what is said in the video: several title options, a description, hashtags, and YouTube chapters with timestamps (youtube only, videos of 60 s or more; first chapter at 0:00, 3+ chapters at least 10 s apart, snapped to speech). Pass transcriptionJobId (any finished transcribe, caption_video, remove_silences/trim, or translate job; for a trimmed video use its job so chapter times match the cut) or subtitles; otherwise fileId or mediaUrl. platforms: youtube (default), shorts, tiktok, instagram (one result per platform, each following that platform's lengths and hashtag norms; shorts always gets #shorts). Written in the video's language unless language (e.g. 'es', 'en') is set. titleCount 1-10 (default 5). context: optional creator notes (audience, product names). Waits up to ~40 s for the result; otherwise poll get_job. Result: platforms..{titles, description, hashtags, chapters[{start, timestamp, title}], descriptionWithChapters}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | ||
| context | No | ||
| language | No | Output language. Default: the video's language. | |
| mediaUrl | No | ||
| platforms | No | ||
| quoteOnly | No | Free: return the price without starting a job or charging. With media only (no transcript) pass durationSeconds. | |
| subtitles | No | SRT, VTT, or transcript JSON. | |
| maxCredits | No | ||
| titleCount | No | ||
| durationSeconds | No | ||
| transcriptionJobId | No | Finished job with captions (transcribe, caption_video, remove_silences, translate). |