score_my_video
Put music on a video and hand back the finished file. Give a link to the video and a brief, and this measures the video, picks the AINSOF cue that fits its exact length and edit pace, mixes it underneath any existing dialogue at a level that keeps speech clear, and returns an MP4 the user can download and watch. Accepts a direct video URL or a Dropbox or Google Drive share link; for YouTube, Vimeo, Dailymotion or Twitch we cannot pull the file, so ask for the file itself or use get_upload_link. Pass track_id instead of a brief when the user has already chosen a cue. DIRECTING THE SCORE. A user who says what they want at each moment — "big opening, then pull back when she reads the letter, then build to the last shot" — is describing sections, not one brief. Pass a list of {from, to, brief} and each act gets its own cue chosen from its own words; add track_id, version or stems to an act to pin it exactly. Use silences for the opposite move — a moment the music stops dead. Both are snapped onto the video's real shot boundaries, so a boundary lands ON the cut. Call analyze_video first if you need the cut list to place them. To revise a score, call again with the same arguments and change only what the user asked to change — the response tells you how. Rendering takes about a minute, so the first reply is often { ok: false, error: "still_running" } — that is normal and not a failure. Call it AGAIN with the same arguments; it picks up the render already in progress rather than starting a second one. A genuine failure comes back as error "video_failed" with a reason to pass on.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | the music you want, IN ENGLISH | |
| version | No | force a version — MAIN, CUT_30, CUT_60… | |
| sections | No | DIFFERENT MUSIC FOR DIFFERENT PARTS OF THE STORY. Use this when a brief asks for acts, distinct sections, a change of character, or a separate cue for a specific sequence. Each section gets its own cue chosen from its own brief, and every boundary is snapped to a real shot boundary so the music turns over on the cut. This is the ONLY way to make a moment feel different. There is no volume automation in this tool and there will not be: turning one piece of music down to fake a low point is not scoring, it is the same music played quieter, and it sounds like it. If a moment needs to feel smaller, give it its own section with its own brief. | |
| silences | No | MOMENTS WHERE THE MUSIC STOPS DEAD. Briefs ask for this in as many words — "drop the music out completely when the statue is destroyed" — and it is the single most effective thing a score does. Each time is snapped to the nearest real shot boundary, so the stop lands ON the cut instead of near it. Call analyze_video first if you need the cut list. | |
| track_id | No | use this exact cue instead, e.g. 'AIN-CAT 006_004' | |
| video_url | Yes | link to the video | |
| music_offset_db | No | how far under the video's own audio the music sits, in dB. Negative is quieter; 0 is level with it. Leave unset for the default. |