{"openapi":"3.1.0","info":{"title":"Greenkey API","version":"0.1.0","description":"A fully local chroma-key/green-screen setup guide: lighting setups and the half-stop evenness guideline, spill-suppression techniques, a backdrop-material comparison, a green-vs-blue decision helper, a symptom-based troubleshooter, a pre-shoot checklist, and a glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://greenkey.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/greenkey/docs"},"termsOfService":"https://connectorbay.com/greenkey/terms"},"servers":[{"url":"https://greenkey.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/greenkey/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/lighting_setup_info":{"post":{"operationId":"lighting_setup_info","summary":"One backdrop lighting setup's description and key points. Use for \"how do I light a green screen","description":"One backdrop lighting setup's description and key points. Use for \"how do I light a green screen\n    evenly\", \"what's a good budget green screen lighting setup\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"setup":{"description":"A backdrop lighting setup.","examples":["two-light basic","four-light even wall","budget clamp lights"],"minLength":1,"title":"Setup","type":"string"}},"required":["setup"],"title":"lighting_setup_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_lighting_setups":{"post":{"operationId":"list_lighting_setups","summary":"Every backdrop lighting setup Greenkey covers. Use for \"what green screen lighting setups do you","description":"Every backdrop lighting setup Greenkey covers. Use for \"what green screen lighting setups do you\n    cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_lighting_setupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/lighting_evenness_check":{"post":{"operationId":"lighting_evenness_check","summary":"Computes the spread between your backdrop brightness readings and checks it against the commonly cited","description":"Computes the spread between your backdrop brightness readings and checks it against the commonly cited\n    half-stop evenness guideline, with a verdict. Use for \"is my green screen lighting even enough\", \"check\n    these light meter readings across my backdrop\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"readings":{"description":"Brightness readings taken at several points across the backdrop (e.g. light-meter f-stop readings, or a false-color/percentage scale).","examples":[[5.6,5.7,5.6,5.9]],"items":{"type":"number"},"minItems":2,"title":"Readings","type":"array"},"unit":{"default":"stops","description":"Unit of the readings: 'stops' (default, uses the half-stop evenness guideline) or 'relative' (a percentage/lux-ratio scale, uses a relative-spread check).","title":"Unit","type":"string"}},"required":["readings"],"title":"lighting_evenness_checkArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/spill_technique_info":{"post":{"operationId":"spill_technique_info","summary":"One spill-suppression technique's description and why it works. Use for \"how do I reduce green spill on","description":"One spill-suppression technique's description and why it works. Use for \"how do I reduce green spill on\n    my subject\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"technique":{"description":"A spill-suppression technique.","examples":["subject distance","rim light","wardrobe avoidance"],"minLength":1,"title":"Technique","type":"string"}},"required":["technique"],"title":"spill_technique_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_spill_techniques":{"post":{"operationId":"list_spill_techniques","summary":"Every spill-suppression technique Greenkey covers. Use for \"what spill suppression techniques do you","description":"Every spill-suppression technique Greenkey covers. Use for \"what spill suppression techniques do you\n    cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_spill_techniquesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/backdrop_material_guide":{"post":{"operationId":"backdrop_material_guide","summary":"Compares green-screen backdrop materials (muslin, stretch digital fabric, dyed cotton, vinyl/PVC panel,","description":"Compares green-screen backdrop materials (muslin, stretch digital fabric, dyed cotton, vinyl/PVC panel,\n    collapsible pop-up screen, painted cyc wall) by cost, portability, pros and cons. Pass a specific material\n    or omit for the full comparison. Use for \"what green screen material should I buy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"material":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific backdrop material to look up; omit to get the full comparison.","examples":["muslin","vinyl panel","collapsible pop-up screen"],"title":"Material"}},"title":"backdrop_material_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/color_choice_guide":{"post":{"operationId":"color_choice_guide","summary":"Explains the green-vs-blue screen tradeoff, and, given the subject's wardrobe colors, flags conflicts","description":"Explains the green-vs-blue screen tradeoff, and, given the subject's wardrobe colors, flags conflicts\n    and recommends which screen color to use. Use for \"should I use green or blue screen if my subject wears a\n    green jacket\", \"why is green screen more common than blue screen\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"wardrobe_colors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"The subject's wardrobe/prop colors, in plain language; omit for the general green-vs-blue explainer.","examples":[["forest green jacket","blue jeans"]],"title":"Wardrobe Colors"}},"title":"color_choice_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/troubleshoot":{"post":{"operationId":"troubleshoot","summary":"Likely causes and fixes for a chroma-key symptom (green fringing, blotchy/patchy key, visible shadows","description":"Likely causes and fixes for a chroma-key symptom (green fringing, blotchy/patchy key, visible shadows\n    on the backdrop, fine hair/detail not keying, visible wrinkles, spill on skin tones). Use for \"my key\n    looks blotchy, why\", \"why is there a green edge around my subject after keying\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symptom":{"description":"A green-screen/keying problem you're seeing.","examples":["green fringing around edges","blotchy patchy key","shadow on the backdrop"],"minLength":1,"title":"Symptom","type":"string"}},"required":["symptom"],"title":"troubleshootArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/pre_shoot_checklist":{"post":{"operationId":"pre_shoot_checklist","summary":"A practical pre-shoot checklist for a green-screen session. Use for \"checklist before I shoot a green","description":"A practical pre-shoot checklist for a green-screen session. Use for \"checklist before I shoot a green\n    screen video\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"pre_shoot_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/keying_glossary":{"post":{"operationId":"keying_glossary","summary":"Definitions of core chroma-key terms: chroma key, luma key, spill, despill, garbage matte, edge/holdout","description":"Definitions of core chroma-key terms: chroma key, luma key, spill, despill, garbage matte, edge/holdout\n    matte, choke, key light, wrap/rim light, cyclorama. Use for \"what does despill mean\", \"what's a garbage\n    matte\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"keying_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}