{"uid":"cap_PlvyAuScPDLC2ihbUdZdS","slug":"smpte-timecode-add-subtract-bf078721","name":"SMPTE Timecode Add/Subtract","description":"Add or subtract from a timecode, either another timecode (b) or a raw frame count (frames), at a given frame rate. Uses frame-exact SMPTE math (including drop-frame). A result below zero is rejected as a clean 400.","url":"https://timecode.openverbs.com/v1/add","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["frameRate","a"],"properties":{"a":{"type":"string","maxLength":20,"minLength":1,"description":"The base timecode."},"b":{"type":"string","maxLength":20,"minLength":1,"description":"A timecode to add/subtract (use instead of frames)."},"frames":{"type":"integer","maximum":1000000000000,"minimum":-1000000000000,"description":"A frame count to add/subtract (use instead of b)."},"dropFrame":{"type":"boolean","description":"Drop-frame counting (auto-detected from a's separator if omitted)."},"frameRate":{"enum":[24,25,30,48,50,60,23.976,29.97,47.952,59.94],"type":"number","description":"Frame rate for both operands."},"operation":{"enum":["add","subtract"],"type":"string","description":"Operation. Default add."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_tGES997pyUQghWNcM6eSk","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Add or subtract a timecode or frame count from a base timecode using frame-exact SMPTE math, including drop-frame support.","exampleAgentPrompt":"Add 00:02:30:15 to my base timecode 01:00:00:00 at 29.97 drop-frame — what's the resulting timecode?","exampleUseCases":[{"title":"Calculate clip end timecode in edit","prompt":"My clip starts at 00:59:45:00 and the clip is 01:15:00 long (i.e. 00:01:15:00 duration) at 25fps — add those together and give me the end timecode."},{"title":"Offset sequence start by frames","prompt":"I need to push my timecode 01:00:00;00 forward by exactly 900 frames at 29.97 drop-frame. What timecode does that land on?"},{"title":"Subtract ad break from program timecode","prompt":"My program timecode is 02:14:32:10 at 24fps and I need to subtract an ad break of 00:02:00:00 — what's the adjusted timecode?"}],"resultDescription":"Returns the computed SMPTE timecode string (HH:MM:SS:FF or HH:MM:SS;FF for drop-frame), the equivalent total frame count, and a flag indicating whether drop-frame was used. A result below zero (before 00:00:00:00) is rejected with a 400 error.","failureModes":["Result timecode below 00:00:00:00 returns 400 — subtraction underflow not permitted","Invalid timecode string format (not HH:MM:SS:FF or HH:MM:SS;FF) returns 400","Unsupported frame rate value returns 400 or validation error","Providing both b and frames simultaneously may be rejected as ambiguous","Missing required fields (frameRate or a) returns 400"],"whenToPreferThis":"Choose this endpoint when you need frame-exact SMPTE timecode arithmetic — especially for broadcast or post-production workflows where drop-frame (29.97, 59.94) counting must be handled correctly. Prefer it over generic time arithmetic libraries that treat timecode as wall-clock time and produce frame-inaccurate results.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:34:00.212Z","isFirstParty":false}