[{"data":1,"prerenderedAt":1307},["ShallowReactive",2],{"docs-body:cli-reference:en":3},{"blocks":4,"sections":1289,"assets":1306},[5,13,42,77,147,153,164,168,204,209,214,218,219,265,269,273,275,280,284,285,289,292,293,298,302,304,328,401,405,408,410,415,419,421,442,446,449,451,456,460,462,482,538,542,545,547,552,556,558,578,690,694,697,699,704,708,709,737,741,744,745,750,754,759,763,765,795,899,903,906,908,913,917,919,939,1050,1054,1057,1059,1064,1068,1070,1099,1140,1144,1147,1149,1154,1158,1160,1180,1208,1212,1215,1217,1222,1253,1261],{"t":6,"level":7,"id":8,"c":9},"heading",2,"global-options",[10],{"t":11,"v":12},"text","Global options",{"t":14,"c":15},"p",[16,18,21,23,25,27,29,31,40],{"t":11,"v":17},"Place global options before the command. ",{"t":19,"v":20},"code","--help",{"t":11,"v":22}," is available automatically on every command\u002Fgroup. A dash in argument Default means required; ",{"t":19,"v":24},"None",{"t":11,"v":26}," denotes an optional omitted argument. Repeatable flags use ",{"t":19,"v":28},"...",{"t":11,"v":30},". Python-style type expressions describe Click’s actual path\u002Fchoice restrictions, not text to enter. Follow the ",{"t":32,"to":33,"c":37},"link",{"kind":34,"id":35,"section":36},"docs","cli","complete-recipe",[38],{"t":11,"v":39},"CLI recipe",{"t":11,"v":41}," for real inputs and IDs.",{"t":14,"c":43},[44,46,52,54,58,60,62,64,66,68,75],{"t":11,"v":45},"Examples are independent, not a sequence to run. First create the ",{"t":32,"to":47,"c":49},{"kind":34,"id":35,"section":48},"sample-input",[50],{"t":11,"v":51},"sample input",{"t":11,"v":53}," and authenticate using the ",{"t":32,"to":55,"c":56},{"kind":34,"id":35,"section":36},[57],{"t":11,"v":39},{"t":11,"v":59},". The shell variable ",{"t":19,"v":61},"operation_id",{"t":11,"v":63}," is the real ID captured there. Recording examples use your own ",{"t":19,"v":65},"demo\u002Fspeech.wav",{"t":11,"v":67}," from the ",{"t":32,"to":69,"c":72},{"kind":34,"id":70,"section":71},"python-client","before-you-start",[73],{"t":11,"v":74},"Python setup",{"t":11,"v":76},".",{"t":78,"head":79,"rows":98},"table",[80,83,86,89,92,95],[81],{"t":11,"v":82},"Flag",[84],{"t":11,"v":85},"Type",[87],{"t":11,"v":88},"Default",[90],{"t":11,"v":91},"Repeated",[93],{"t":11,"v":94},"Required",[96],{"t":11,"v":97},"Meaning",[99,117,132],[100,103,106,109,112,114],[101],{"t":19,"v":102},"--version",[104],{"t":19,"v":105},"bool",[107],{"t":19,"v":108},"False",[110],{"t":11,"v":111},"—",[113],{"t":19,"v":108},[115],{"t":11,"v":116},"Print the installed version and exit.",[118,121,123,125,127,129],[119],{"t":19,"v":120},"--json",[122],{"t":19,"v":105},[124],{"t":19,"v":108},[126],{"t":11,"v":111},[128],{"t":19,"v":108},[130],{"t":11,"v":131},"Write one versioned JSON document to stdout; prompts\u002Fdiagnostics stay on stderr. This does not disable prompts.",[133,136,138,140,142,144],[134],{"t":19,"v":135},"--yes",[137],{"t":19,"v":105},[139],{"t":19,"v":108},[141],{"t":11,"v":111},[143],{"t":19,"v":108},[145],{"t":11,"v":146},"Disable prompts and approve charges, reviewed synchronization, replacements and overwrites. Ambiguous choices fail.",{"t":6,"level":148,"id":149,"c":150},3,"output-targets",[151],{"t":11,"v":152},"Subtitle output choices",{"t":14,"c":154},[155,157,159,161,162],{"t":11,"v":156},"These are the registered ",{"t":19,"v":158},"--output-target",{"t":11,"v":160}," choices, checked against the CLI source. They choose subtitle serialization and local placement; ",{"t":19,"v":120},{"t":11,"v":163}," independently chooses the automation envelope.",{"t":19,"lang":165,"role":166,"v":167},"json","run","[\n  \"external_srt\",\n  \"external_vtt\",\n  \"external_ass\",\n  \"embedded\"\n]",{"t":78,"head":169,"rows":175},[170,173],[171],{"t":11,"v":172},"Choice",[174],{"t":11,"v":97},[176,183,190,197],[177,180],[178],{"t":19,"v":179},"external_srt",[181],{"t":11,"v":182},"Write an external SRT subtitle sidecar.",[184,187],[185],{"t":19,"v":186},"external_vtt",[188],{"t":11,"v":189},"Write an external WebVTT subtitle sidecar.",[191,194],[192],{"t":19,"v":193},"external_ass",[195],{"t":11,"v":196},"Write an external ASS subtitle sidecar.",[198,201],[199],{"t":19,"v":200},"embedded",[202],{"t":11,"v":203},"Embed selected subtitle tracks into a local media copy using FFmpeg.",{"t":6,"level":7,"id":205,"c":206},"authentication-and-projects",[207],{"t":11,"v":208},"Authentication and projects",{"t":6,"level":148,"id":210,"c":211},"command-login",[212],{"t":19,"v":213},"subft login",{"t":14,"c":215},[216],{"t":11,"v":217},"Verify and store an API token for its gateway. Use the hidden prompt or protected environment.",{"t":19,"lang":11,"role":166,"v":213},{"t":78,"head":220,"rows":233},[221,223,225,227,229,231],[222],{"t":11,"v":82},[224],{"t":11,"v":85},[226],{"t":11,"v":88},[228],{"t":11,"v":91},[230],{"t":11,"v":94},[232],{"t":11,"v":97},[234,250],[235,238,241,243,245,247],[236],{"t":19,"v":237},"--api-url",[239],{"t":19,"v":240},"str",[242],{"t":19,"v":24},[244],{"t":11,"v":111},[246],{"t":19,"v":108},[248],{"t":11,"v":249},"Gateway override for this invocation; also supplied by SUBFT_API_URL. Stored credentials are never sent to another gateway.",[251,254,256,258,260,262],[252],{"t":19,"v":253},"--token",[255],{"t":19,"v":240},[257],{"t":19,"v":24},[259],{"t":11,"v":111},[261],{"t":19,"v":108},[263],{"t":11,"v":264},"API token for login; SUBFT_API_TOKEN or the hidden prompt avoids shell-history exposure.",{"t":14,"c":266},[267],{"t":11,"v":268},"Prerequisite: an account and its active token; paste it into the hidden prompt.",{"t":14,"c":270},[271],{"t":11,"v":272},"Example:",{"t":19,"lang":274,"role":166,"v":213},"bash",{"t":6,"level":148,"id":276,"c":277},"command-logout",[278],{"t":19,"v":279},"subft logout",{"t":14,"c":281},[282],{"t":11,"v":283},"Remove only the locally stored token. Environment authentication remains active; server revocation is separate.",{"t":19,"lang":11,"role":166,"v":279},{"t":14,"c":286},[287],{"t":11,"v":288},"Prerequisite: local configuration to remove; no remote revocation is performed.",{"t":14,"c":290},[291],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":279},{"t":6,"level":148,"id":294,"c":295},"command-project-bind",[296],{"t":19,"v":297},"subft project bind",{"t":14,"c":299},[300],{"t":11,"v":301},"Bind a local file or directory to a matching durable project. Bindings are a disposable cache, not inventory synchronization.",{"t":19,"lang":11,"role":166,"v":303},"subft project bind PATH",{"t":78,"head":305,"rows":315},[306,309,311,313],[307],{"t":11,"v":308},"Argument",[310],{"t":11,"v":85},[312],{"t":11,"v":88},[314],{"t":11,"v":97},[316],[317,320,323,325],[318],{"t":19,"v":319},"path",[321],{"t":19,"v":322},"click.Path(exists=True, file_okay=True, dir_okay=True, path_type=Path)",[324],{"t":11,"v":111},[326],{"t":11,"v":327},"Local root, path or POSIX relative path. Scan helpers exclude symlinks; keep paths inside the chosen root.",{"t":78,"head":329,"rows":342},[330,332,334,336,338,340],[331],{"t":11,"v":82},[333],{"t":11,"v":85},[335],{"t":11,"v":88},[337],{"t":11,"v":91},[339],{"t":11,"v":94},[341],{"t":11,"v":97},[343,358,373,388],[344,347,349,351,353,355],[345],{"t":19,"v":346},"--project-id",[348],{"t":19,"v":240},[350],{"t":19,"v":24},[352],{"t":11,"v":111},[354],{"t":19,"v":108},[356],{"t":11,"v":357},"Explicit project ID. Use it when several cached bindings are valid or unattended selection is needed.",[359,362,364,366,368,370],[360],{"t":19,"v":361},"--create",[363],{"t":19,"v":105},[365],{"t":19,"v":108},[367],{"t":11,"v":111},[369],{"t":19,"v":108},[371],{"t":11,"v":372},"Create and bind a new empty project matching the local path’s mode. Do not combine with --project-id.",[374,377,379,381,383,385],[375],{"t":19,"v":376},"--name",[378],{"t":19,"v":240},[380],{"t":19,"v":24},[382],{"t":11,"v":111},[384],{"t":19,"v":108},[386],{"t":11,"v":387},"Display name used with --create; otherwise the local path supplies a default name.",[389,391,393,395,397,399],[390],{"t":19,"v":237},[392],{"t":19,"v":240},[394],{"t":19,"v":24},[396],{"t":11,"v":111},[398],{"t":19,"v":108},[400],{"t":11,"v":249},{"t":14,"c":402},[403],{"t":11,"v":404},"Prerequisite: the local sample file and an authenticated account. This example creates a new project\u002Fbinding without synchronizing inventory or charging AI.",{"t":14,"c":406},[407],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":409},"subft project bind demo\u002Fsample.srt --create --name docs-binding-example",{"t":6,"level":148,"id":411,"c":412},"command-project-bindings",[413],{"t":19,"v":414},"subft project bindings",{"t":14,"c":416},[417],{"t":11,"v":418},"Read cached associations without backend validation or authentication. Optional PATH filters the local list.",{"t":19,"lang":11,"role":166,"v":420},"subft project bindings [PATH]",{"t":78,"head":422,"rows":431},[423,425,427,429],[424],{"t":11,"v":308},[426],{"t":11,"v":85},[428],{"t":11,"v":88},[430],{"t":11,"v":97},[432],[433,435,438,440],[434],{"t":19,"v":319},[436],{"t":19,"v":437},"click.Path(path_type=Path)",[439],{"t":19,"v":24},[441],{"t":11,"v":327},{"t":14,"c":443},[444],{"t":11,"v":445},"Prerequisite: the sample path; inspect cached associations for the current gateway\u002Faccount.",{"t":14,"c":447},[448],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":450},"subft project bindings demo\u002Fsample.srt",{"t":6,"level":148,"id":452,"c":453},"command-project-forget",[454],{"t":19,"v":455},"subft project forget",{"t":14,"c":457},[458],{"t":11,"v":459},"Remove local associations scoped to gateway\u002Faccount; accept missing paths and never archive\u002Fdelete backend projects.",{"t":19,"lang":11,"role":166,"v":461},"subft project forget PATH",{"t":78,"head":463,"rows":472},[464,466,468,470],[465],{"t":11,"v":308},[467],{"t":11,"v":85},[469],{"t":11,"v":88},[471],{"t":11,"v":97},[473],[474,476,478,480],[475],{"t":19,"v":319},[477],{"t":19,"v":437},[479],{"t":11,"v":111},[481],{"t":11,"v":327},{"t":78,"head":483,"rows":496},[484,486,488,490,492,494],[485],{"t":11,"v":82},[487],{"t":11,"v":85},[489],{"t":11,"v":88},[491],{"t":11,"v":91},[493],{"t":11,"v":94},[495],{"t":11,"v":97},[497,510,525],[498,500,502,504,506,508],[499],{"t":19,"v":346},[501],{"t":19,"v":240},[503],{"t":19,"v":24},[505],{"t":11,"v":111},[507],{"t":19,"v":108},[509],{"t":11,"v":357},[511,514,516,518,520,522],[512],{"t":19,"v":513},"--all",[515],{"t":19,"v":105},[517],{"t":19,"v":108},[519],{"t":11,"v":111},[521],{"t":19,"v":108},[523],{"t":11,"v":524},"Forget every cached association for this local path in the current gateway\u002Faccount scope.",[526,528,530,532,534,536],[527],{"t":19,"v":237},[529],{"t":19,"v":240},[531],{"t":19,"v":24},[533],{"t":11,"v":111},[535],{"t":19,"v":108},[537],{"t":11,"v":249},{"t":14,"c":539},[540],{"t":11,"v":541},"Prerequisite: cached associations for the sample path. Review the confirmation; this removes local cache only.",{"t":14,"c":543},[544],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":546},"subft project forget demo\u002Fsample.srt --all",{"t":6,"level":148,"id":548,"c":549},"command-project-sync",[550],{"t":19,"v":551},"subft project sync",{"t":14,"c":553},[554],{"t":11,"v":555},"Inspect the entire local input and reconcile project inventory. Local scan\u002Fprobe failures prevent partial submission; stale apply needs a fresh preview.",{"t":19,"lang":11,"role":166,"v":557},"subft project sync PATH",{"t":78,"head":559,"rows":568},[560,562,564,566],[561],{"t":11,"v":308},[563],{"t":11,"v":85},[565],{"t":11,"v":88},[567],{"t":11,"v":97},[569],[570,572,574,576],[571],{"t":19,"v":319},[573],{"t":19,"v":322},[575],{"t":11,"v":111},[577],{"t":11,"v":327},{"t":78,"head":579,"rows":592},[580,582,584,586,588,590],[581],{"t":11,"v":82},[583],{"t":11,"v":85},[585],{"t":11,"v":88},[587],{"t":11,"v":91},[589],{"t":11,"v":94},[591],{"t":11,"v":97},[593,608,623,636,649,662,677],[594,597,599,601,603,605],[595],{"t":19,"v":596},"--preview",[598],{"t":19,"v":105},[600],{"t":19,"v":108},[602],{"t":11,"v":111},[604],{"t":19,"v":108},[606],{"t":11,"v":607},"Inspect and compare inventory without adding\u002Freplacing media. Resolution may still create\u002Fcache an explicitly requested project.",[609,612,614,616,618,620],[610],{"t":19,"v":611},"--include-hidden",[613],{"t":19,"v":105},[615],{"t":19,"v":108},[617],{"t":11,"v":111},[619],{"t":19,"v":108},[621],{"t":11,"v":622},"Include dot-prefixed entries during directory inspection; symlinks remain excluded.",[624,626,628,630,632,634],[625],{"t":19,"v":346},[627],{"t":19,"v":240},[629],{"t":19,"v":24},[631],{"t":11,"v":111},[633],{"t":19,"v":108},[635],{"t":11,"v":357},[637,639,641,643,645,647],[638],{"t":19,"v":361},[640],{"t":19,"v":105},[642],{"t":19,"v":108},[644],{"t":11,"v":111},[646],{"t":19,"v":108},[648],{"t":11,"v":372},[650,652,654,656,658,660],[651],{"t":19,"v":376},[653],{"t":19,"v":240},[655],{"t":19,"v":24},[657],{"t":11,"v":111},[659],{"t":19,"v":108},[661],{"t":11,"v":387},[663,666,668,670,672,674],[664],{"t":19,"v":665},"--media-id",[667],{"t":19,"v":240},[669],{"t":19,"v":24},[671],{"t":11,"v":111},[673],{"t":19,"v":108},[675],{"t":11,"v":676},"File projects only: the media to replace when several share the file’s name. Without it, sync stops and lists their IDs.",[678,680,682,684,686,688],[679],{"t":19,"v":237},[681],{"t":19,"v":240},[683],{"t":19,"v":24},[685],{"t":11,"v":111},[687],{"t":19,"v":108},[689],{"t":11,"v":249},{"t":14,"c":691},[692],{"t":11,"v":693},"Prerequisite: the sample project binding established by the guide. Preview is free and does not commit AI work.",{"t":14,"c":695},[696],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":698},"subft project sync demo\u002Fsample.srt --preview",{"t":6,"level":148,"id":700,"c":701},"command-status",[702],{"t":19,"v":703},"subft status",{"t":14,"c":705},[706],{"t":11,"v":707},"Verify the effective credential and gateway; environment overrides are not persisted.",{"t":19,"lang":11,"role":166,"v":703},{"t":78,"head":710,"rows":723},[711,713,715,717,719,721],[712],{"t":11,"v":82},[714],{"t":11,"v":85},[716],{"t":11,"v":88},[718],{"t":11,"v":91},[720],{"t":11,"v":94},[722],{"t":11,"v":97},[724],[725,727,729,731,733,735],[726],{"t":19,"v":237},[728],{"t":19,"v":240},[730],{"t":19,"v":24},[732],{"t":11,"v":111},[734],{"t":19,"v":108},[736],{"t":11,"v":249},{"t":14,"c":738},[739],{"t":11,"v":740},"Prerequisite: an effective token for the selected gateway.",{"t":14,"c":742},[743],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":703},{"t":6,"level":7,"id":746,"c":747},"operations",[748],{"t":11,"v":749},"Operations and export",{"t":14,"c":751},[752],{"t":11,"v":753},"Account access, a synchronized project and original files are required for source preparation. Committing AI work requires credits. Saved successful outputs remain downloadable; apply also requires the appropriate local destination and binding. Uppercase usage values name arguments; obtain IDs from responses rather than guessing them.",{"t":6,"level":148,"id":755,"c":756},"command-operation-apply",[757],{"t":19,"v":758},"subft operation apply",{"t":14,"c":760},[761],{"t":11,"v":762},"Wait if needed, select saved successful artifacts, and write\u002Fregister local outputs. Failed inputs are unavailable; partial export needs explicit approval.",{"t":19,"lang":11,"role":166,"v":764},"subft operation apply OPERATION_ID PATH",{"t":78,"head":766,"rows":775},[767,769,771,773],[768],{"t":11,"v":308},[770],{"t":11,"v":85},[772],{"t":11,"v":88},[774],{"t":11,"v":97},[776,786],[777,779,781,783],[778],{"t":19,"v":61},[780],{"t":19,"v":240},[782],{"t":11,"v":111},[784],{"t":11,"v":785},"ID of the committed operation; retain it before leaving or retrying preparation.",[787,789,791,793],[788],{"t":19,"v":319},[790],{"t":19,"v":322},[792],{"t":11,"v":111},[794],{"t":11,"v":327},{"t":78,"head":796,"rows":809},[797,799,801,803,805,807],[798],{"t":11,"v":82},[800],{"t":11,"v":85},[802],{"t":11,"v":88},[804],{"t":11,"v":91},[806],{"t":11,"v":94},[808],{"t":11,"v":97},[810,825,841,856,871,886],[811,813,816,818,820,822],[812],{"t":19,"v":158},[814],{"t":19,"v":815},"click.Choice(list(OUTPUT_TARGETS), case_sensitive=False)",[817],{"t":19,"v":24},[819],{"t":11,"v":111},[821],{"t":19,"v":108},[823],{"t":11,"v":824},"Choose external_srt, external_vtt, external_ass or embedded. Omission uses the account preference; unattended fallback is external_srt.",[826,829,831,834,836,838],[827],{"t":19,"v":828},"--content-id",[830],{"t":19,"v":240},[832],{"t":19,"v":833},"()",[835],{"t":11,"v":28},[837],{"t":19,"v":108},[839],{"t":11,"v":840},"Supply one eligible source for supply; apply accepts repeated source selectors for a result subset.",[842,845,847,849,851,853],[843],{"t":19,"v":844},"--artifact-id",[846],{"t":19,"v":240},[848],{"t":19,"v":833},[850],{"t":11,"v":28},[852],{"t":19,"v":108},[854],{"t":11,"v":855},"Select a specific successful immutable stage; repeat for several artifacts.",[857,860,862,864,866,868],[858],{"t":19,"v":859},"--replace",[861],{"t":19,"v":240},[863],{"t":19,"v":833},[865],{"t":11,"v":28},[867],{"t":19,"v":108},[869],{"t":11,"v":870},"ARTIFACT_ID=ASSET_ID pairs replace checked physical embedded subtitle assets in the same media; embedded otherwise adds streams.",[872,875,877,879,881,883],[873],{"t":19,"v":874},"--allow-partial",[876],{"t":19,"v":105},[878],{"t":19,"v":108},[880],{"t":11,"v":111},[882],{"t":19,"v":108},[884],{"t":11,"v":885},"Permit successful results from failed\u002Faborted operations. Unattended partial export requires --yes too and still exits nonzero.",[887,889,891,893,895,897],[888],{"t":19,"v":237},[890],{"t":19,"v":240},[892],{"t":19,"v":24},[894],{"t":11,"v":111},[896],{"t":19,"v":108},[898],{"t":11,"v":249},{"t":14,"c":900},[901],{"t":11,"v":902},"Prerequisite: the captured operation ID, its successful saved artifacts and the original bound sample path. Review overwrite approval.",{"t":14,"c":904},[905],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":907},"subft operation apply \"$operation_id\" demo\u002Fsample.srt \\\n    --output-target external_srt",{"t":6,"level":148,"id":909,"c":910},"command-operation-start",[911],{"t":19,"v":912},"subft operation start",{"t":14,"c":914},[915],{"t":11,"v":916},"Preflight synchronized media, prepare selected sources, estimate, confirm charges, commit and supply. Wait or detach after acceptance; export is separate.",{"t":19,"lang":11,"role":166,"v":918},"subft operation start PATH",{"t":78,"head":920,"rows":929},[921,923,925,927],[922],{"t":11,"v":308},[924],{"t":11,"v":85},[926],{"t":11,"v":88},[928],{"t":11,"v":97},[930],[931,933,935,937],[932],{"t":19,"v":319},[934],{"t":19,"v":322},[936],{"t":11,"v":111},[938],{"t":11,"v":327},{"t":78,"head":940,"rows":953},[941,943,945,947,949,951],[942],{"t":11,"v":82},[944],{"t":11,"v":85},[946],{"t":11,"v":88},[948],{"t":11,"v":91},[950],{"t":11,"v":94},[952],{"t":11,"v":97},[954,970,985,998,1011,1024,1037],[955,958,960,962,964,967],[956],{"t":19,"v":957},"--lang",[959],{"t":19,"v":240},[961],{"t":19,"v":24},[963],{"t":11,"v":111},[965],{"t":19,"v":966},"True",[968],{"t":11,"v":969},"Required target-language code. Source-language choices belong to the interactive plan\u002Fbackend defaults.",[971,974,976,978,980,982],[972],{"t":19,"v":973},"--wait \u002F --detach",[975],{"t":19,"v":105},[977],{"t":19,"v":966},[979],{"t":11,"v":111},[981],{"t":19,"v":108},[983],{"t":11,"v":984},"Wait for server processing by default; --detach returns after sources are accepted. Neither exports files.",[986,988,990,992,994,996],[987],{"t":19,"v":611},[989],{"t":19,"v":105},[991],{"t":19,"v":108},[993],{"t":11,"v":111},[995],{"t":19,"v":108},[997],{"t":11,"v":622},[999,1001,1003,1005,1007,1009],[1000],{"t":19,"v":346},[1002],{"t":19,"v":240},[1004],{"t":19,"v":24},[1006],{"t":11,"v":111},[1008],{"t":19,"v":108},[1010],{"t":11,"v":357},[1012,1014,1016,1018,1020,1022],[1013],{"t":19,"v":361},[1015],{"t":19,"v":105},[1017],{"t":19,"v":108},[1019],{"t":11,"v":111},[1021],{"t":19,"v":108},[1023],{"t":11,"v":372},[1025,1027,1029,1031,1033,1035],[1026],{"t":19,"v":376},[1028],{"t":19,"v":240},[1030],{"t":19,"v":24},[1032],{"t":11,"v":111},[1034],{"t":19,"v":108},[1036],{"t":11,"v":387},[1038,1040,1042,1044,1046,1048],[1039],{"t":19,"v":237},[1041],{"t":19,"v":240},[1043],{"t":19,"v":24},[1045],{"t":11,"v":111},[1047],{"t":19,"v":108},[1049],{"t":11,"v":249},{"t":14,"c":1051},[1052],{"t":11,"v":1053},"Prerequisite: a synchronized sample file, enough credits and explicit approval of the estimate.",{"t":14,"c":1055},[1056],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":1058},"subft operation start demo\u002Fsample.srt --lang de --detach",{"t":6,"level":148,"id":1060,"c":1061},"command-operation-supply",[1062],{"t":19,"v":1063},"subft operation supply",{"t":14,"c":1065},[1066],{"t":11,"v":1067},"Resume eligible awaiting_client\u002Fawaiting_retry sources on the existing committed operation. Terminal processing recovery starts a new operation instead.",{"t":19,"lang":11,"role":166,"v":1069},"subft operation supply OPERATION_ID PATH",{"t":78,"head":1071,"rows":1080},[1072,1074,1076,1078],[1073],{"t":11,"v":308},[1075],{"t":11,"v":85},[1077],{"t":11,"v":88},[1079],{"t":11,"v":97},[1081,1090],[1082,1084,1086,1088],[1083],{"t":19,"v":61},[1085],{"t":19,"v":240},[1087],{"t":11,"v":111},[1089],{"t":11,"v":785},[1091,1093,1095,1097],[1092],{"t":19,"v":319},[1094],{"t":19,"v":322},[1096],{"t":11,"v":111},[1098],{"t":11,"v":327},{"t":78,"head":1100,"rows":1113},[1101,1103,1105,1107,1109,1111],[1102],{"t":11,"v":82},[1104],{"t":11,"v":85},[1106],{"t":11,"v":88},[1108],{"t":11,"v":91},[1110],{"t":11,"v":94},[1112],{"t":11,"v":97},[1114,1127],[1115,1117,1119,1121,1123,1125],[1116],{"t":19,"v":828},[1118],{"t":19,"v":240},[1120],{"t":19,"v":24},[1122],{"t":11,"v":111},[1124],{"t":19,"v":108},[1126],{"t":11,"v":840},[1128,1130,1132,1134,1136,1138],[1129],{"t":19,"v":237},[1131],{"t":19,"v":240},[1133],{"t":19,"v":24},[1135],{"t":11,"v":111},[1137],{"t":19,"v":108},[1139],{"t":11,"v":249},{"t":14,"c":1141},[1142],{"t":11,"v":1143},"Prerequisite: an accepted recording operation with eligible preparation and the same local WAV. A retry supplies existing work and does not restart terminal AI stages.",{"t":14,"c":1145},[1146],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":1148},"subft operation supply \"$operation_id\" demo\u002Fspeech.wav",{"t":6,"level":148,"id":1150,"c":1151},"command-operation-watch",[1152],{"t":19,"v":1153},"subft operation watch",{"t":14,"c":1155},[1156],{"t":11,"v":1157},"Reattach to canonical operation state with realtime hints and HTTP polling. Ctrl-C detaches without aborting accepted work.",{"t":19,"lang":11,"role":166,"v":1159},"subft operation watch OPERATION_ID",{"t":78,"head":1161,"rows":1170},[1162,1164,1166,1168],[1163],{"t":11,"v":308},[1165],{"t":11,"v":85},[1167],{"t":11,"v":88},[1169],{"t":11,"v":97},[1171],[1172,1174,1176,1178],[1173],{"t":19,"v":61},[1175],{"t":19,"v":240},[1177],{"t":11,"v":111},[1179],{"t":11,"v":785},{"t":78,"head":1181,"rows":1194},[1182,1184,1186,1188,1190,1192],[1183],{"t":11,"v":82},[1185],{"t":11,"v":85},[1187],{"t":11,"v":88},[1189],{"t":11,"v":91},[1191],{"t":11,"v":94},[1193],{"t":11,"v":97},[1195],[1196,1198,1200,1202,1204,1206],[1197],{"t":19,"v":237},[1199],{"t":19,"v":240},[1201],{"t":19,"v":24},[1203],{"t":11,"v":111},[1205],{"t":19,"v":108},[1207],{"t":11,"v":249},{"t":14,"c":1209},[1210],{"t":11,"v":1211},"Prerequisite: the captured operation ID and access to its project.",{"t":14,"c":1213},[1214],{"t":11,"v":272},{"t":19,"lang":274,"role":166,"v":1216},"subft operation watch \"$operation_id\"",{"t":6,"level":7,"id":1218,"c":1219},"configuration",[1220],{"t":11,"v":1221},"Configuration and local writes",{"t":14,"c":1223},[1224,1226,1228,1230,1232,1233,1235,1236,1238,1240,1242,1244,1246,1248,1249,1251],{"t":19,"v":1225},"SUBFT_API_URL",{"t":11,"v":1227}," and ",{"t":19,"v":1229},"SUBFT_API_TOKEN",{"t":11,"v":1231}," override stored values for one invocation. Explicit ",{"t":19,"v":237},{"t":11,"v":1234}," takes precedence over the environment URL; ",{"t":19,"v":253},{"t":11,"v":1237}," selects the login credential explicitly. A stored token is bound to its gateway. Authentication lives at ",{"t":19,"v":1239},"$XDG_CONFIG_HOME\u002Fsubft\u002Fconfig.json",{"t":11,"v":1241},", falling back to ",{"t":19,"v":1243},"~\u002F.config\u002Fsubft\u002Fconfig.json",{"t":11,"v":1245},"; bindings live at ",{"t":19,"v":1247},"$XDG_STATE_HOME\u002Fsubft\u002Fprojects.json",{"t":11,"v":1241},{"t":19,"v":1250},"~\u002F.local\u002Fstate\u002Fsubft\u002Fprojects.json",{"t":11,"v":1252},". POSIX directories\u002Ffiles use 0700\u002F0600; tokens are permission-protected, not encrypted.",{"t":14,"c":1254},[1255,1257,1259],{"t":11,"v":1256},"External SRT\u002FVTT\u002FASS writes use backend-suggested relative paths, same-directory temporary files and atomic replacement. Different existing files need default-no overwrite approval; identical output is idempotent. Embedded output preserves unrelated streams, requires FFmpeg, refuses an existing ",{"t":19,"v":1258},"\u003Cmedia>.bak",{"t":11,"v":1260},", and verifies streams before registering physical assets. A registration failure retains the verified file and backup; in-process registration retry does not mux again. An unresolved backup needs manual review. A new invocation discovers inventory normally.",{"t":14,"c":1262},[1263,1265,1272,1274,1281,1282,1288],{"t":11,"v":1264},"See ",{"t":32,"to":1266,"c":1269},{"kind":34,"id":1267,"section":1268},"automation-reference","envelopes",[1270],{"t":11,"v":1271},"JSON and exit contracts",{"t":11,"v":1273},", ",{"t":32,"to":1275,"c":1278},{"kind":34,"id":1276,"section":1277},"ai-jobs","source-preparation-recovery",[1279],{"t":11,"v":1280},"preparation recovery",{"t":11,"v":1227},{"t":32,"to":1283,"c":1285},{"kind":34,"id":1276,"section":1284},"terminal-operation-recovery",[1286],{"t":11,"v":1287},"terminal recovery",{"t":11,"v":76},[1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305],{"id":8,"level":7,"title":12},{"id":149,"level":148,"title":152},{"id":205,"level":7,"title":208},{"id":210,"level":148,"title":213},{"id":276,"level":148,"title":279},{"id":294,"level":148,"title":297},{"id":411,"level":148,"title":414},{"id":452,"level":148,"title":455},{"id":548,"level":148,"title":551},{"id":700,"level":148,"title":703},{"id":746,"level":7,"title":749},{"id":755,"level":148,"title":758},{"id":909,"level":148,"title":912},{"id":1060,"level":148,"title":1063},{"id":1150,"level":148,"title":1153},{"id":1218,"level":7,"title":1221},{},1793377429415]