{"openapi":"3.1.0","info":{"title":"Creatify (BYOK) API","version":"0.1.0","description":"Creatify (BYOK) lets an AI assistant read your own Creatify data through the Creatify API with a key you supply (Creatify API key (X-API-KEY)). Read-only: 12 tools (get_remaining_credits, list_voices, list_cloned_voices, get_voice_clone_quota, list_avatars, list_music_categories, list_custom_templates, list_ad_styles, list_url_to_videos, get_url_to_video, list_avatar_videos, get_avatar_video)....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-creatify.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-creatify/docs"},"termsOfService":"https://connectorbay.com/byok-creatify/terms"},"servers":[{"url":"https://byok-creatify.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-creatify/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_remaining_credits":{"post":{"operationId":"get_remaining_credits","summary":"Get the number of API credits left in the workspace. Use for \"How many Creatify credits do I have left\".","description":"Get the number of API credits left in the workspace. Use for \"How many Creatify credits do I have left\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_remaining_creditsArguments","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_voices":{"post":{"operationId":"list_voices","summary":"List the text-to-speech voices with gender and accents, including a preview audio link per accent. Use for \"Which female","description":"List the text-to-speech voices with gender and accents, including a preview audio link per accent. Use for \"Which female voices does Creatify have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Page Size"}},"title":"list_voicesArguments","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_cloned_voices":{"post":{"operationId":"list_cloned_voices","summary":"List the voices cloned in your workspace, with their accents. Use for \"Which cloned voices do I have in Creatify\".","description":"List the voices cloned in your workspace, with their accents. Use for \"Which cloned voices do I have in Creatify\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_cloned_voicesArguments","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/get_voice_clone_quota":{"post":{"operationId":"get_voice_clone_quota","summary":"Get how many voices the workspace has cloned and the cap that applies. Use for \"How many more voices can I clone in Crea","description":"Get how many voices the workspace has cloned and the cap that applies. Use for \"How many more voices can I clone in Creatify\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_voice_clone_quotaArguments","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_avatars":{"post":{"operationId":"list_avatars","summary":"List the ready-made AI avatars (personas) with style, setting, industries and preview images or videos. Use for \"Which p","description":"List the ready-made AI avatars (personas) with style, setting, industries and preview images or videos. Use for \"Which presenter-style avatars suit the apparel industry\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Page Size"}},"title":"list_avatarsArguments","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_music_categories":{"post":{"operationId":"list_music_categories","summary":"List the background-music categories. Use for \"What background music categories does Creatify have\".","description":"List the background-music categories. Use for \"What background music categories does Creatify have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_music_categoriesArguments","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_custom_templates":{"post":{"operationId":"list_custom_templates","summary":"List the workspace's custom video templates. Use for \"Which custom video templates do I have in Creatify\".","description":"List the workspace's custom video templates. Use for \"Which custom video templates do I have in Creatify\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_custom_templatesArguments","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_ad_styles":{"post":{"operationId":"list_ad_styles","summary":"List the styles that interactive HTML ads can use, with a thumbnail and preview for each. Use for \"What interactive ad s","description":"List the styles that interactive HTML ads can use, with a thumbnail and preview for each. Use for \"What interactive ad styles can I use in Creatify\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_ad_stylesArguments","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_url_to_videos":{"post":{"operationId":"list_url_to_videos","summary":"List videos made from product links, with status, progress, duration, credits used and output links; filter by creation ","description":"List videos made from product links, with status, progress, duration, credits used and output links; filter by creation time or ids. Use for \"Which Creatify URL-to-video jobs finished this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created at or after this time (ISO 8601, e.g. 2026-09-27T00:00:00Z).","title":"Created After"},"created_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created before this time (ISO 8601).","title":"Created Before"},"ids":{"anyOf":[{"maxLength":3700,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated record ids (UUIDs) to return, up to 100.","title":"Ids"}},"title":"list_url_to_videosArguments","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/get_url_to_video":{"post":{"operationId":"get_url_to_video","summary":"Get one URL-to-video job: status, progress, outputs per aspect ratio, previews and credits used. Use for \"Is Creatify vi","description":"Get one URL-to-video job: status, progress, outputs per aspect ratio, previews and credits used. Use for \"Is Creatify video 3f2b8c1a-5d4e-4a7b-9c0d-1e2f3a4b5c6d done\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"video_id":{"description":"Video job id (UUID).","maxLength":200,"title":"Video Id","type":"string"}},"required":["video_id"],"title":"get_url_to_videoArguments","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_avatar_videos":{"post":{"operationId":"list_avatar_videos","summary":"List AI avatar (lipsync v2) videos with status, duration, credits used and output links; filter by creation time or ids.","description":"List AI avatar (lipsync v2) videos with status, duration, credits used and output links; filter by creation time or ids. Use for \"Which Creatify avatar videos failed recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created at or after this time (ISO 8601, e.g. 2026-09-27T00:00:00Z).","title":"Created After"},"created_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created before this time (ISO 8601).","title":"Created Before"},"ids":{"anyOf":[{"maxLength":3700,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated record ids (UUIDs) to return, up to 100.","title":"Ids"}},"title":"list_avatar_videosArguments","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/get_avatar_video":{"post":{"operationId":"get_avatar_video","summary":"Get one AI avatar (lipsync v2) video: status, output link, duration and credits used. Use for \"Is Creatify avatar video ","description":"Get one AI avatar (lipsync v2) video: status, output link, duration and credits used. Use for \"Is Creatify avatar video 3f2b8c1a-5d4e-4a7b-9c0d-1e2f3a4b5c6d ready\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"video_id":{"description":"Avatar video id (UUID).","maxLength":200,"title":"Video Id","type":"string"}},"required":["video_id"],"title":"get_avatar_videoArguments","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}}}}