업로드 URL — 업로드 모드 파일만 해당. live 키는 S3 presigned URL을 받고, 테스트 키는 절대 https://api.bizmori.com/api/v2/test-uploads/{signedToken} URL을 받습니다. 두 URL은 1시간 후 만료되며 POST /api/v2/orders/{orderId}/refresh-urls로 재발급할 수 있습니다. signed token 자체가 테스트 업로드를 인가하므로 PUT에 Authorization 헤더가 필요 없습니다. 테스트 요청 본문은 스트림으로 소비되어 저장되지 않으며, 테스트 주문은 사용량 차감이나 실제 외부 처리 없이 모의 결과로 전이합니다.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ContentCare API Documentation","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/mori-7d8a16e6/uiCwTpjPPKH9gjDZ/logo/light.svg?fit=max\u0026auto=format\u0026n=uiCwTpjPPKH9gjDZ\u0026q=85\u0026s=cd317193218c94284b35aa84c52b5d17","dark":"https://mintcdn.com/mori-7d8a16e6/uiCwTpjPPKH9gjDZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=uiCwTpjPPKH9gjDZ\u0026q=85\u0026s=3ca4613110f4781acc20a8f41010eb25"},"favicon":"https://mintcdn.com/mori-7d8a16e6/cf99juWefDk4kbc7/favicon.svg?fit=max\u0026auto=format\u0026n=cf99juWefDk4kbc7\u0026q=85\u0026s=435a67276a065858333792f3481060d7","api":{"openapi":["api-reference/openapi.yaml","ko/api-reference/openapi.yaml","ja/api-reference/openapi.yaml"],"params":{"expanded":"all"}},"navbar":{"links":[{"href":"mailto:support@contentcare.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.contentcare.ai"}},"footer":{"socials":{"website":"https://app.contentcare.ai"},"links":[{"items":[{"label":"Dashboard","href":"https://app.contentcare.ai"},{"label":"MORI Corp.","href":"https://www.mori-corp.io"},{"label":"Contact Support","href":"mailto:support@contentcare.ai"},{"label":"Status","href":"https://status.bizmori.com"}]},{"items":[{"label":"Guides","href":"/index"},{"label":"API Reference","href":"/api-reference/introduction"},{"label":"Error Codes","href":"/errors"},{"label":"Webhooks","href":"/webhooks"},{"label":"What's new","href":"/changelog"}]},{"items":[{"label":"Terms of Service","href":"/legal/terms"},{"label":"Privacy Policy","href":"/legal/privacy"},{"label":"DPA","href":"/legal/dpa"},{"label":"Acceptable Use","href":"/legal/aup"},{"label":"Sub-processors","href":"/legal/sub-processors"}]}]},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"ContentCare Dashboard","icon":"code","href":"https://app.contentcare.ai"},{"anchor":"Support","icon":"envelope","href":"mailto:support@contentcare.ai"},{"anchor":"Status","icon":"signal-bars","href":"https://status.bizmori.com"}]},"languages":[{"language":"en","href":""},{"language":"ko","href":"ko"},{"language":"ja","href":"ja"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mori-7d8a16e6","hasAudioNarration":false,"actualSubdomain":"mori-7d8a16e6","customDomains":["docs.contentcare.ai"],"gitSource":{"type":"github","owner":"moriproject","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf20b6ebccf90c95aed79e","collectionId":"baf5a4e1-d8a9-48a9-8286-f39968aeca3c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf20b6ebccf90c95aed79e"},"entitlements":{},"buildId":"6adf20b6ebccf90c95aed79e","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"en","tag":"API Reference","count":27},{"language":"ja","tag":"API リファレンス","count":27},{"language":"ko","tag":"API 레퍼런스","count":27},{"language":"en","tag":"Guides","count":14},{"language":"ja","tag":"ガイド","count":14},{"language":"ko","tag":"가이드","count":14},{"language":"en","tag":"Webhooks","count":8},{"language":"en","tag":"Getting Started","count":8},{"language":"ja","tag":"Webhooks","count":8},{"language":"ja","tag":"はじめに","count":8},{"language":"ko","tag":"Webhooks","count":8},{"language":"ko","tag":"시작하기","count":8},{"language":"en","tag":"Orders","count":7},{"language":"ja","tag":"Orders","count":7},{"language":"ko","tag":"Orders","count":7},{"language":"en","tag":"Legal","count":6},{"language":"ja","tag":"法的事項","count":6},{"language":"ko","tag":"법적 고지","count":6},{"language":"en","tag":"Anti-AI","count":3},{"language":"ja","tag":"Anti-AI","count":3},{"language":"ko","tag":"Anti-AI","count":3},{"language":"en","tag":"AI Detection","count":2},{"language":"en","tag":"Reports","count":2},{"language":"en","tag":"Watermark Embed","count":2},{"language":"ja","tag":"AI Detection","count":2},{"language":"ja","tag":"レポート","count":2},{"language":"ja","tag":"Watermark-Embed","count":2},{"language":"ko","tag":"AI Detection","count":2},{"language":"ko","tag":"보고서","count":2},{"language":"ko","tag":"Watermark-Embed","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"ko/api-reference/anti-ai/create-order","slug":"/ko/api-reference/anti-ai/create-order","pageMetadata":{"title":"Anti-AI 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/anti-ai","description":"AI 감지 방지 처리를 위한 주문을 생성합니다.\n\n## 입력 모드 (업로드 / URL / 혼합)\n입력 모드는 각 파일 객체에 `originalFileUrl` 포함 여부로 결정됩니다:\n- **업로드 모드** (`originalFileUrl` 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → `/confirm` 호출\n- **URL 모드** (`originalFileUrl` 제공): URL에서 이미지를 다운로드하여 즉시 처리\n- **혼합 모드**: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리\n\n### 동작 방식\n| 조건 | 주문 상태 | Confirm 필요 |\n|------|-----------|-------------|\n| 모든 파일에 `originalFileUrl` 있음 | `inProgress` | 불필요 (즉시 처리) |\n| `originalFileUrl` 없는 파일 포함 | `pending` | 필요 (업로드 후 confirm) |\n\n## Zero Copy 모드\n`mode.zeroCopy: true`로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다.\n이 경우 `outputTargets` 배열이 필수이며 `files` 배열과 동일한 길이여야 합니다.\n","href":"/ko/api-reference/anti-ai/create-order"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n h2: \"h2\",\n h3: \"h3\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"AI 감지 방지 처리를 위한 주문을 생성합니다.\"\n }), \"\\n\", _jsx(_components.h2, {\n children: \"입력 모드 (업로드 / URL / 혼합)\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"입력 모드는 각 파일 객체에 \", _jsx(_components.code, {\n children: \"originalFileUrl\"\n }), \" 포함 여부로 결정됩니다:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"업로드 모드\"\n }), \" (\", _jsx(_components.code, {\n children: \"originalFileUrl\"\n }), \" 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → \", _jsx(_components.code, {\n children: \"/confirm\"\n }), \" 호출\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"URL 모드\"\n }), \" (\", _jsx(_components.code, {\n children: \"originalFileUrl\"\n }), \" 제공): URL에서 이미지를 다운로드하여 즉시 처리\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"혼합 모드\"\n }), \": 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.h3, {\n children: \"동작 방식\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"조건\"\n }), _jsx(_components.th, {\n children: \"주문 상태\"\n }), _jsx(_components.th, {\n children: \"Confirm 필요\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsxs(_components.td, {\n children: [\"모든 파일에 \", _jsx(_components.code, {\n children: \"originalFileUrl\"\n }), \" 있음\"]\n }), _jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"inProgress\"\n })\n }), _jsx(_components.td, {\n children: \"불필요 (즉시 처리)\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"originalFileUrl\"\n }), \" 없는 파일 포함\"]\n }), _jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"pending\"\n })\n }), _jsx(_components.td, {\n children: \"필요 (업로드 후 confirm)\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Zero Copy 모드\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"mode.zeroCopy: true\"\n }), \"로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다.\\n이 경우 \", _jsx(_components.code, {\n children: \"outputTargets\"\n }), \" 배열이 필수이며 \", _jsx(_components.code, {\n children: \"files\"\n }), \" 배열과 동일한 길이여야 합니다.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sk_test_`}),` 키를 사용하면 `,_jsx(_components.a,{href:`/ko/test-api-keys`,children:`테스트 API 키`}),`에 설명된 테스트 주문 흐름을 따릅니다. 테스트 업로드는 응답의 BIZ MORI 업로드 URL을 사용하며 결과 파일은 만들지 않습니다.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`주문-결과-다운로드`,children:`주문 결과 다운로드`}),`\n`,_jsxs(_components.p,{children:[`주문이 `,_jsx(_components.code,{children:`complete`}),` 상태가 되면 `,_jsx(_components.a,{href:`/ko/api-reference/orders/download-order-v3`,children:`주문 결과 다운로드 URL 발급`}),`을 호출하세요. 한 번의 호출로 결과 파일별 URL(`,_jsx(_components.code,{children:`files[]`}),`)과 결과 전체 ZIP(`,_jsx(_components.code,{children:`archiveUrl`}),`)을 함께 받습니다.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.bizmori.com/api/v3/orders/{orderId}/download`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`URL은 최대 1시간 동안 유효하므로 다운로드할 때마다 새로 요청하세요. 파일은 주문의 `,_jsx(_components.code,{children:`expiresAt`}),`까지 내려받을 수 있으며, 그 뒤에는 `,_jsx(_components.code,{children:`400 ORDER_EXPIRED`}),`를 반환합니다. `,_jsx(_components.code,{children:`sk_test_`}),` 주문의 URL은 실제 결과가 아니라 고정 샘플 파일을 가리킵니다.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Anti-AI 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/anti-ai","description":"AI 감지 방지 처리를 위한 주문을 생성합니다.\n\n## 입력 모드 (업로드 / URL / 혼합)\n입력 모드는 각 파일 객체에 `originalFileUrl` 포함 여부로 결정됩니다:\n- **업로드 모드** (`originalFileUrl` 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → `/confirm` 호출\n- **URL 모드** (`originalFileUrl` 제공): URL에서 이미지를 다운로드하여 즉시 처리\n- **혼합 모드**: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리\n\n### 동작 방식\n| 조건 | 주문 상태 | Confirm 필요 |\n|------|-----------|-------------|\n| 모든 파일에 `originalFileUrl` 있음 | `inProgress` | 불필요 (즉시 처리) |\n| `originalFileUrl` 없는 파일 포함 | `pending` | 필요 (업로드 후 confirm) |\n\n## Zero Copy 모드\n`mode.zeroCopy: true`로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다.\n이 경우 `outputTargets` 배열이 필수이며 `files` 배열과 동일한 길이여야 합니다.\n","href":"/ko/api-reference/anti-ai/create-order"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"주문 결과 다운로드","slug":"주문-결과-다운로드","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Anti-AI 주문 생성","operationId":"createAntiAiOrder","description":"AI 감지 방지 처리를 위한 주문을 생성합니다.\n\n## 입력 모드 (업로드 / URL / 혼합)\n입력 모드는 각 파일 객체에 `originalFileUrl` 포함 여부로 결정됩니다:\n- **업로드 모드** (`originalFileUrl` 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → `/confirm` 호출\n- **URL 모드** (`originalFileUrl` 제공): URL에서 이미지를 다운로드하여 즉시 처리\n- **혼합 모드**: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리\n\n### 동작 방식\n| 조건 | 주문 상태 | Confirm 필요 |\n|------|-----------|-------------|\n| 모든 파일에 `originalFileUrl` 있음 | `inProgress` | 불필요 (즉시 처리) |\n| `originalFileUrl` 없는 파일 포함 | `pending` | 필요 (업로드 후 confirm) |\n\n## Zero Copy 모드\n`mode.zeroCopy: true`로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다.\n이 경우 `outputTargets` 배열이 필수이며 `files` 배열과 동일한 길이여야 합니다.\n","tags":["Anti-AI"],"security":["cae3fbbc-f6fd-4523-95e6-d8f5924bcb76"],"requestBody":"d4f34116-d416-4741-be3c-2567e6785df0","responses":{"200":"754c7d0d-562a-4a73-9c62-df0ee9bb04cc","400":"cd8fcb83-18cc-48d2-a00f-b3b17099459a","401":"f6b79db9-e0c2-41e4-ab02-dd76daf2e513","429":"ad85a9b2-cd8f-4dfb-acd3-21bbfab2b75b","500":"8d3b277d-483c-47e3-b480-2219ab9aad52"},"x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST https://api.bizmori.com/api/v2/orders/anti-ai \\\n -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"idempotencyKey\": \"2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40\",\n \"files\": [\n {\"fileName\": \"image1.jpg\"},\n {\"fileName\": \"image2.png\"}\n ],\n \"options\": {\"strength\": \"high\"}\n }'"},{"lang":"javascript","label":"JavaScript","source":"const response = await fetch('https://api.bizmori.com/api/v2/orders/anti-ai', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer YOUR_API_TOKEN',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n idempotencyKey: '2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40',\n files: [\n { fileName: 'image1.jpg' },\n { fileName: 'image2.png' }\n ],\n options: { strength: 'high' }\n })\n});\nconst data = await response.json();"},{"lang":"python","label":"Python","source":"import requests\n\nresponse = requests.post(\n 'https://api.bizmori.com/api/v2/orders/anti-ai',\n headers={'Authorization': 'Bearer YOUR_API_TOKEN'},\n json={\n 'idempotencyKey': '2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40',\n 'files': [\n {'fileName': 'image1.jpg'},\n {'fileName': 'image2.png'}\n ],\n 'options': {'strength': 'high'}\n }\n)\ndata = response.json()"}],"method":"post","type":"path","servers":["b88bc9c2-82b5-4ea3-9ea3-7debc71e0461"],"path":"/api/v2/orders/anti-ai","baseUrlOptions":["https://api.bizmori.com"],"title":"Anti-AI 주문 생성","codeSamples":[{"label":"cURL","lang":"curl","source":"curl -X POST https://api.bizmori.com/api/v2/orders/anti-ai \\\n -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"idempotencyKey\": \"2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40\",\n \"files\": [\n {\"fileName\": \"image1.jpg\"},\n {\"fileName\": \"image2.png\"}\n ],\n \"options\": {\"strength\": \"high\"}\n }'"},{"label":"JavaScript","lang":"javascript","source":"const response = await fetch('https://api.bizmori.com/api/v2/orders/anti-ai', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer YOUR_API_TOKEN',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n idempotencyKey: '2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40',\n files: [\n { fileName: 'image1.jpg' },\n { fileName: 'image2.png' }\n ],\n options: { strength: 'high' }\n })\n});\nconst data = await response.json();"},{"label":"Python","lang":"python","source":"import requests\n\nresponse = requests.post(\n 'https://api.bizmori.com/api/v2/orders/anti-ai',\n headers={'Authorization': 'Bearer YOUR_API_TOKEN'},\n json={\n 'idempotencyKey': '2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40',\n 'files': [\n {'fileName': 'image1.jpg'},\n {'fileName': 'image2.png'}\n ],\n 'options': {'strength': 'high'}\n }\n)\ndata = response.json()"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["idempotencyKey","files"],"properties":{"idempotencyKey":{"type":"string","description":"중복 요청 방지를 위한 멱등성 키","isRequired":true,"uniqueKey":"idempotencyKey","typeLabel":"string"},"files":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["fileName"],"properties":{"fileName":{"type":"string","description":"파일 이름 (확장자 포함)","example":"image.jpg","isRequired":true,"uniqueKey":"files.items.[INDEX].fileName","typeLabel":"string"},"originalFileUrl":{"type":"string","format":"uri","description":"원본 이미지 URL (선택)\n- 제공 시: URL 모드 (프리사인드 URL 미발급, 즉시 처리)\n- 미제공 시: 업로드 모드 (프리사인드 URL 발급, confirm 필요)\n","example":"https://example.com/image.jpg","uniqueKey":"files.items.[INDEX].originalFileUrl","typeLabel":"string\u003curi>"}},"uniqueKey":"files.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"files","typeLabel":"object[]"},"orderName":{"type":"string","maxLength":64,"description":"주문 이름 (미입력 시 자동 생성)","uniqueKey":"orderName","typeLabel":"string"},"mode":{"type":"object","description":"처리 모드 설정","properties":{"zeroCopy":{"type":"boolean","default":false,"description":"Zero Copy 모드 활성화","uniqueKey":"mode.zeroCopy","typeLabel":"boolean"}},"uniqueKey":"mode","typeLabel":"object"},"outputTargets":{"type":"array","description":"Zero Copy 모드 결과 업로드 대상 (mode.zeroCopy가 true일 때 필수)","items":{"type":"object","required":["fileKey","url","presignedUrlExpiresAt"],"properties":{"fileKey":{"type":"string","description":"파일 키 (식별자)","isRequired":true,"uniqueKey":"outputTargets.items.[INDEX].fileKey","typeLabel":"string"},"url":{"type":"string","format":"uri","description":"결과 업로드를 위한 프리사인드 URL","isRequired":true,"uniqueKey":"outputTargets.items.[INDEX].url","typeLabel":"string\u003curi>"},"presignedUrlExpiresAt":{"type":"string","format":"date-time","description":"프리사인드 URL 만료 시각 (ISO 8601)","isRequired":true,"uniqueKey":"outputTargets.items.[INDEX].presignedUrlExpiresAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"outputTargets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"outputTargets","typeLabel":"object[]"},"options":{"type":"object","properties":{"strength":{"type":"string","enum":["low","standard","high"],"default":"high","description":"보호 강도 레벨\n* low - 낮은 보호 강도\n* standard - 표준 보호 강도\n* high - 높은 보호 강도\n","uniqueKey":"options.strength","typeLabel":"enum\u003cstring>"}},"uniqueKey":"options","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"uploadMode":{"title":"uploadMode","value":{"idempotencyKey":"2f4b6c82-8a6e-4f39-9f8a-7d3b5c1e2a40","files":[{"fileName":"image1.jpg"},{"fileName":"image2.png"}],"options":{"strength":"high"}}},"urlMode":{"title":"urlMode","value":{"idempotencyKey":"3c7a5e19-9b2f-4d86-a1c4-6f8e0b3d5a71","files":[{"fileName":"image1.jpg","originalFileUrl":"https://example.com/image1.jpg"},{"fileName":"image2.png","originalFileUrl":"https://example.com/image2.png"}],"options":{"strength":"high"}}},"mixedMode":{"title":"mixedMode","value":{"idempotencyKey":"4d8b6f2a-a3c1-4e97-b2d5-7a9f1c4e6b82","files":[{"fileName":"upload-file.jpg"},{"fileName":"url-file.png","originalFileUrl":"https://example.com/image.png"}],"options":{"strength":"standard"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"754c7d0d-562a-4a73-9c62-df0ee9bb04cc":{"description":"주문 생성 성공","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"orderName":{"type":"string","uniqueKey":"data.orderName","typeLabel":"string"},"orderId":{"type":"string","uniqueKey":"data.orderId","typeLabel":"string"},"status":{"type":"string","enum":["pending","inProgress"],"description":"주문 상태\n- `pending`: 업로드 파일 포함 (confirm 필요)\n- `inProgress`: 모든 파일이 URL 모드 (즉시 처리)\n","uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"files":{"type":"array","items":{"type":"object","description":"Anti-AI 주문 파일 정보 (파일 모드에 따라 필드가 다름)\n- 업로드 모드: fileId, fileName, uploadUrl, fileKey\n- URL 모드: fileId, fileName, originalFileUrl\n","properties":{"fileId":{"type":"string","description":"파일 ID","uniqueKey":"data.files.items.[INDEX].fileId","typeLabel":"string"},"fileName":{"type":"string","description":"파일 이름","uniqueKey":"data.files.items.[INDEX].fileName","typeLabel":"string"},"uploadUrl":{"type":"string","format":"uri","description":"업로드 URL — 업로드 모드 파일만 해당. live 키는 S3 presigned URL을 받고, 테스트 키는 절대 `https://api.bizmori.com/api/v2/test-uploads/{signedToken}` URL을 받습니다. 두 URL은 1시간 후 만료되며 `POST /api/v2/orders/{orderId}/refresh-urls`로 재발급할 수 있습니다. signed token 자체가 테스트 업로드를 인가하므로 PUT에 Authorization 헤더가 필요 없습니다. 테스트 요청 본문은 스트림으로 소비되어 저장되지 않으며, 테스트 주문은 사용량 차감이나 실제 외부 처리 없이 모의 결과로 전이합니다.","uniqueKey":"data.files.items.[INDEX].uploadUrl","typeLabel":"string\u003curi>"},"fileKey":{"type":"string","description":"파일 식별자 — 업로드 모드 파일만 해당: live 키에서는 S3 object key이고 테스트 키에서는 격리된 logical key입니다.\n","uniqueKey":"data.files.items.[INDEX].fileKey","typeLabel":"string"},"originalFileUrl":{"type":"string","format":"uri","description":"원본 이미지 URL — URL 모드 파일만 해당","uniqueKey":"data.files.items.[INDEX].originalFileUrl","typeLabel":"string\u003curi>"}},"uniqueKey":"data.files.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.files","typeLabel":"object[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"uploadModeResponse":{"title":"uploadModeResponse","value":{"data":{"orderName":"anti_ai_2026-02-09","orderId":"123456789","status":"pending","files":[{"fileId":"1","fileName":"image1.jpg","uploadUrl":"https://s3.amazonaws.com/...","fileKey":"temp/123456789/0/image1.jpg"}]}}},"urlModeResponse":{"title":"urlModeResponse","value":{"data":{"orderName":"anti_ai_2026-02-09","orderId":"123456789","status":"inProgress","files":[{"fileId":"1","fileName":"image1.jpg","originalFileUrl":"https://example.com/image1.jpg"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"cd8fcb83-18cc-48d2-a00f-b3b17099459a":{"description":"잘못된 요청","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"에러 코드","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"VALIDATION_FAILED"},"examples":{"Example":{"title":"Example","value":{"code":"VALIDATION_FAILED"}}},"exampleType":"examples"}},"exampleType":"examples"},"f6b79db9-e0c2-41e4-ab02-dd76daf2e513":{"description":"인증 실패","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"에러 코드","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"AUTH_NOT_AUTHENTICATED"},"examples":{"Example":{"title":"Example","value":{"code":"AUTH_NOT_AUTHENTICATED"}}},"exampleType":"examples"}},"exampleType":"examples"},"ad85a9b2-cd8f-4dfb-acd3-21bbfab2b75b":{"description":"사용량 한도 초과","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"에러 코드","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"USAGE_LIMIT_EXCEEDED"},"examples":{"Example":{"title":"Example","value":{"code":"USAGE_LIMIT_EXCEEDED"}}},"exampleType":"examples"}},"exampleType":"examples"},"8d3b277d-483c-47e3-b480-2219ab9aad52":{"description":"내부 서버 오류","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"에러 코드","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"SERVER_INTERNAL_ERROR"},"examples":{"Example":{"title":"Example","value":{"code":"SERVER_INTERNAL_ERROR"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"cae3fbbc-f6fd-4523-95e6-d8f5924bcb76":{"BearerAuth":{"type":"http","scheme":"bearer","description":"외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 `sk_` 접두사를 사용하고, 테스트 키는 `sk_test_` 접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"b88bc9c2-82b5-4ea3-9ea3-7debc71e0461":{"url":"https://api.bizmori.com","description":"프로덕션"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 `sk_` 접두사를 사용하고, 테스트 키는 `sk_test_` 접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 `sk_` 접두사를 사용하고, 테스트 키는 `sk_test_` 접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"ko/api-reference/openapi.yaml"},"subdomain":"mori-7d8a16e6","siteName":"ContentCare API Documentation","title":"Anti-AI 주문 생성 - ContentCare API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/anti-ai/create-order","matchLevel":1},"ko":{"href":"/ko/api-reference/anti-ai/create-order","matchLevel":0},"ja":{"href":"/ja/api-reference/anti-ai/create-order","matchLevel":1}}},"lastModified":"2026-10-22T14:09:47.690Z","originalFileLocation":"ko/api-reference/anti-ai/create-order.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"AI 감지 방지 처리를 위한 주문을 생성합니다. ## 입력 모드 (업로드 / URL / 혼합) 입력 모드는 각 파일 객체에 originalFileUrl 포함 여부로 결정됩니다: - 업로드 모드 (originalFileUrl 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → /confirm 호출 - URL 모드 (originalFileUrl 제공): URL에서 이미지를 다운로드하여 즉시 처리 - 혼합 모드: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리 ### 동작 방식 | 조건 | 주문 상태 | Confirm 필요 | |------|-----------|-------------| | 모든 파일에 originalFileUrl 있음 | inProgress | 불필요 (즉시 처리) | | originalFileUrl 없는 파일 포함 | pending | 필요 (업로드 후 confirm) | ## Zero Copy 모드 mode.zeroCopy: true로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다. 이 경우 outputTargets 배열이 필수이며 files 배열과 동일한 길이여야 합니다.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ContentCare API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Anti-AI 주문 생성 - ContentCare API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"AI 감지 방지 처리를 위한 주문을 생성합니다. ## 입력 모드 (업로드 / URL / 혼합) 입력 모드는 각 파일 객체에 originalFileUrl 포함 여부로 결정됩니다: - 업로드 모드 (originalFileUrl 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → /confirm 호출 - URL 모드 (originalFileUrl 제공): URL에서 이미지를 다운로드하여 즉시 처리 - 혼합 모드: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리 ### 동작 방식 | 조건 | 주문 상태 | Confirm 필요 | |------|-----------|-------------| | 모든 파일에 originalFileUrl 있음 | inProgress | 불필요 (즉시 처리) | | originalFileUrl 없는 파일 포함 | pending | 필요 (업로드 후 confirm) | ## Zero Copy 모드 mode.zeroCopy: true로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다. 이 경우 outputTargets 배열이 필수이며 files 배열과 동일한 길이여야 합니다.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ContentCare API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mori-7d8a16e6.mintlify.app/_mintlify/api/og/v2?division=Anti-AI\u0026amp;title=Anti-AI+%EC%A3%BC%EB%AC%B8+%EC%83%9D%EC%84%B1\u0026amp;description=AI+%EA%B0%90%EC%A7%80+%EB%B0%A9%EC%A7%80+%EC%B2%98%EB%A6%AC%EB%A5%BC+%EC%9C%84%ED%95%9C+%EC%A3%BC%EB%AC%B8%EC%9D%84+%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%0A%23%23+%EC%9E%85%EB%A0%A5+%EB%AA%A8%EB%93%9C+%28%EC%97%85%EB%A1%9C%EB%93%9C+%2F+URL+%2F+%ED%98%BC%ED%95%A9%29%0A%EC%9E%85%EB%A0%A5+%EB%AA%A8%EB%93%9C%EB%8A%94+%EA%B0%81+%ED%8C%8C%EC%9D%BC+%EA%B0%9D%EC%B2%B4%EC%97%90+%60originalFileUrl%60+%ED%8F%AC%ED%95%A8+%EC%97%AC%EB%B6%80%EB%A1%9C+%EA%B2%B0%EC%A0%95%EB%90%A9%EB%8B%88%EB%8B%A4%3A%0A-+**%EC%97%85%EB%A1%9C%EB%93%9C+%EB%AA%A8%EB%93%9C**+%28%60originalFileUrl%60+%EC%97%86%EC%9D%8C%29%3A+%ED%94%84%EB%A6%AC%EC%82%AC%EC%9D%B8%EB%93%9C+URL+%EB%B0%9C%EA%B8%89+%E2%86%92+%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EA%B0%80\u0026amp;theme=7c39b3866236068a07646682\u0026amp;signature=a234fdeca5ad92489ca1ff9374c2248015bb387f077b9cf677d5aabde4a1aebc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Anti-AI 주문 생성 - ContentCare API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"AI 감지 방지 처리를 위한 주문을 생성합니다. ## 입력 모드 (업로드 / URL / 혼합) 입력 모드는 각 파일 객체에 originalFileUrl 포함 여부로 결정됩니다: - 업로드 모드 (originalFileUrl 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → /confirm 호출 - URL 모드 (originalFileUrl 제공): URL에서 이미지를 다운로드하여 즉시 처리 - 혼합 모드: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리 ### 동작 방식 | 조건 | 주문 상태 | Confirm 필요 | |------|-----------|-------------| | 모든 파일에 originalFileUrl 있음 | inProgress | 불필요 (즉시 처리) | | originalFileUrl 없는 파일 포함 | pending | 필요 (업로드 후 confirm) | ## Zero Copy 모드 mode.zeroCopy: true로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다. 이 경우 outputTargets 배열이 필수이며 files 배열과 동일한 길이여야 합니다.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mori-7d8a16e6.mintlify.app/_mintlify/api/og/v2?division=Anti-AI\u0026amp;title=Anti-AI+%EC%A3%BC%EB%AC%B8+%EC%83%9D%EC%84%B1\u0026amp;description=AI+%EA%B0%90%EC%A7%80+%EB%B0%A9%EC%A7%80+%EC%B2%98%EB%A6%AC%EB%A5%BC+%EC%9C%84%ED%95%9C+%EC%A3%BC%EB%AC%B8%EC%9D%84+%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%0A%23%23+%EC%9E%85%EB%A0%A5+%EB%AA%A8%EB%93%9C+%28%EC%97%85%EB%A1%9C%EB%93%9C+%2F+URL+%2F+%ED%98%BC%ED%95%A9%29%0A%EC%9E%85%EB%A0%A5+%EB%AA%A8%EB%93%9C%EB%8A%94+%EA%B0%81+%ED%8C%8C%EC%9D%BC+%EA%B0%9D%EC%B2%B4%EC%97%90+%60originalFileUrl%60+%ED%8F%AC%ED%95%A8+%EC%97%AC%EB%B6%80%EB%A1%9C+%EA%B2%B0%EC%A0%95%EB%90%A9%EB%8B%88%EB%8B%A4%3A%0A-+**%EC%97%85%EB%A1%9C%EB%93%9C+%EB%AA%A8%EB%93%9C**+%28%60originalFileUrl%60+%EC%97%86%EC%9D%8C%29%3A+%ED%94%84%EB%A6%AC%EC%82%AC%EC%9D%B8%EB%93%9C+URL+%EB%B0%9C%EA%B8%89+%E2%86%92+%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EA%B0%80\u0026amp;theme=7c39b3866236068a07646682\u0026amp;signature=a234fdeca5ad92489ca1ff9374c2248015bb387f077b9cf677d5aabde4a1aebc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mori-7d8a16e6/GYT2KKGJvFLTeKFD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ContentCare API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ko/api-reference/anti-ai/create-order.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.contentcare.ai/api-reference/anti-ai/create-order\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.contentcare.ai/ja/api-reference/anti-ai/create-order\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.contentcare.ai/api-reference/anti-ai/create-order\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.contentcare.ai/#organization\",\"name\":\"ContentCare API Documentation\",\"url\":\"https://docs.contentcare.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mori-7d8a16e6/uiCwTpjPPKH9gjDZ/logo/light.svg?fit=max\u0026auto=format\u0026n=uiCwTpjPPKH9gjDZ\u0026q=85\u0026s=cd317193218c94284b35aa84c52b5d17\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.contentcare.ai#website\",\"name\":\"ContentCare API Documentation\",\"url\":\"https://docs.contentcare.ai\",\"publisher\":{\"@id\":\"https://docs.contentcare.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order#webpage\",\"url\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\",\"name\":\"Anti-AI 주문 생성\",\"description\":\"AI 감지 방지 처리를 위한 주문을 생성합니다. ## 입력 모드 (업로드 / URL / 혼합) 입력 모드는 각 파일 객체에 originalFileUrl 포함 여부로 결정됩니다: - 업로드 모드 (originalFileUrl 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → /confirm 호출 - URL 모드 (originalFileUrl 제공): URL에서 이미지를 다운로드하여 즉시 처리 - 혼합 모드: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리 ### 동작 방식 | 조건 | 주문 상태 | Confirm 필요 | |------|-----------|-------------| | 모든 파일에 originalFileUrl 있음 | inProgress | 불필요 (즉시 처리) | | originalFileUrl 없는 파일 포함 | pending | 필요 (업로드 후 confirm) | ## Zero Copy 모드 mode.zeroCopy: true로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다. 이 경우 outputTargets 배열이 필수이며 files 배열과 동일한 길이여야 합니다.\",\"dateModified\":\"2026-10-22T14:09:47.690Z\",\"isPartOf\":{\"@id\":\"https://docs.contentcare.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ContentCare API Documentation\",\"item\":\"https://docs.contentcare.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Anti-AI 주문 생성\",\"item\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order#apireference\",\"headline\":\"Anti-AI 주문 생성\",\"name\":\"Anti-AI 주문 생성\",\"description\":\"AI 감지 방지 처리를 위한 주문을 생성합니다. ## 입력 모드 (업로드 / URL / 혼합) 입력 모드는 각 파일 객체에 originalFileUrl 포함 여부로 결정됩니다: - 업로드 모드 (originalFileUrl 없음): 프리사인드 URL 발급 → 클라이언트가 S3에 업로드 → /confirm 호출 - URL 모드 (originalFileUrl 제공): URL에서 이미지를 다운로드하여 즉시 처리 - 혼합 모드: 일부 파일은 업로드 모드, 나머지는 URL 모드로 동시 처리 ### 동작 방식 | 조건 | 주문 상태 | Confirm 필요 | |------|-----------|-------------| | 모든 파일에 originalFileUrl 있음 | inProgress | 불필요 (즉시 처리) | | originalFileUrl 없는 파일 포함 | pending | 필요 (업로드 후 confirm) | ## Zero Copy 모드 mode.zeroCopy: true로 설정하면, 처리 결과가 고객이 제공한 프리사인드 URL로 직접 업로드됩니다. 이 경우 outputTargets 배열이 필수이며 files 배열과 동일한 길이여야 합니다.\",\"url\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order\",\"mainEntityOfPage\":{\"@id\":\"https://docs.contentcare.ai/ko/api-reference/anti-ai/create-order#webpage\"},\"dateModified\":\"2026-10-22T14:09:47.690Z\",\"publisher\":{\"@id\":\"https://docs.contentcare.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.contentcare.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ContentCare API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ContentCare API Documentation","nav":{"global":{"anchors":[{"anchor":"ContentCare Dashboard","icon":"code","href":"https://app.contentcare.ai"},{"anchor":"Support","icon":"envelope","href":"mailto:support@contentcare.ai"},{"anchor":"Status","icon":"signal-bars","href":"https://status.bizmori.com"}]},"languages":[{"language":"en","pages":[{"title":"en","href":"/api-reference/anti-ai/create-order"}]},{"language":"ko","tabs":[{"tab":"가이드","pages":[{"title":"가이드","href":"/ko"}]},{"tab":"API 레퍼런스","groups":[{"group":"개요","pages":[{"title":"API 레퍼런스","description":"BIZ MORI API 엔드포인트 전체 레퍼런스","href":"/ko/api-reference/introduction"}]},{"group":"Anti-AI","pages":[{"title":"Anti-AI 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/anti-ai","href":"/ko/api-reference/anti-ai/create-order"},{"title":"Anti-AI 주문 확인","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/anti-ai/confirm","description":"파일 업로드 완료 후 처리를 시작하기 위해 호출합니다.\n- 모든 업로드 파일이 S3에 업로드된 후 호출\n- 처리가 시작되면 상태가 `inProgress`로 변경\n- 혼합 모드에서는 업로드 파일만 S3 존재 여부를 확인하며, URL 파일은 이미 준비됨\n- 모든 파일이 URL 모드인 주문은 이미 `inProgress` 상태이므로 confirm 불필요\n","href":"/ko/api-reference/anti-ai/confirm-order"},{"title":"URL로 Anti-AI 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/anti-ai/with-urls","href":"/ko/api-reference/anti-ai/create-order-urls"}]},{"group":"AI Detection","pages":[{"title":"AI Detection 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/ai-detection","href":"/ko/api-reference/ai-detection/create-order"},{"title":"AI Detection 주문 확인","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/ai-detection/confirm","href":"/ko/api-reference/ai-detection/confirm-order"}]},{"group":"Watermark-Embed","pages":[{"tag":"v2","title":"워터마크 삽입 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/wtr-embed","href":"/ko/api-reference/watermark-embed/create-order"},{"tag":"v3","title":"워터마크 삽입 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v3/orders/wtr-embed","href":"/ko/api-reference/watermark-embed/create-order-v3"}]},{"group":"Watermark-Extract","pages":[{"tag":"v2","title":"워터마크 추출 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/wtr-extract","href":"/ko/api-reference/watermark-extract/create-order"},{"tag":"v3","title":"워터마크 추출 주문 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v3/orders/wtr-extract","href":"/ko/api-reference/watermark-extract/create-order-v3"}]},{"group":"Orders","pages":[{"title":"주문 목록 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders","href":"/ko/api-reference/orders/list-orders"},{"tag":"v2","title":"주문 상세 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/{orderId}","href":"/ko/api-reference/orders/get-order"},{"tag":"v3","title":"주문 상세 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v3/orders/{orderId}","href":"/ko/api-reference/orders/get-order-v3"},{"tag":"v2","title":"다운로드 URL 발급","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/{orderId}/download","href":"/ko/api-reference/orders/download-order"},{"tag":"v3","title":"주문 결과 다운로드 URL 발급","openapi":"ko/api-reference/openapi.yaml GET /api/v3/orders/{orderId}/download","href":"/ko/api-reference/orders/download-order-v3"},{"title":"프리사인드 URL 갱신","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/{orderId}/refresh-urls","href":"/ko/api-reference/orders/refresh-urls"},{"title":"최근 사용 통계","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/stats/recent","href":"/ko/api-reference/orders/recent-stats"}]},{"group":"보고서","pages":[{"tag":"v3","title":"주문 보고서 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v3/orders/{orderId}/reports","href":"/ko/api-reference/reports/create-report"},{"tag":"v3","title":"주문 보고서 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v3/orders/{orderId}/reports/{locale}","href":"/ko/api-reference/reports/get-report"}]},{"group":"Webhooks","pages":[{"title":"웹훅 목록 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/webhooks","href":"/ko/api-reference/webhooks/list-webhooks"},{"title":"웹훅 생성","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/webhooks","href":"/ko/api-reference/webhooks/create-webhook"},{"title":"웹훅 상세 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/webhooks/{webhookId}","href":"/ko/api-reference/webhooks/get-webhook"},{"title":"웹훅 수정","openapi":"ko/api-reference/openapi.yaml PUT /api/v2/orders/webhooks/{webhookId}","href":"/ko/api-reference/webhooks/update-webhook"},{"title":"웹훅 삭제","openapi":"ko/api-reference/openapi.yaml DELETE /api/v2/orders/webhooks/{webhookId}","href":"/ko/api-reference/webhooks/delete-webhook"},{"title":"웹훅 이벤트 목록 조회","openapi":"ko/api-reference/openapi.yaml GET /api/v2/orders/webhooks/{webhookId}/events","href":"/ko/api-reference/webhooks/list-events"},{"title":"웹훅 이벤트 재전송","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/webhooks/{webhookId}/events/{eventId}/retry","href":"/ko/api-reference/webhooks/retry-event"},{"title":"실패한 웹훅 이벤트 일괄 재전송","openapi":"ko/api-reference/openapi.yaml POST /api/v2/orders/webhooks/{webhookId}/events/retry-failed","href":"/ko/api-reference/webhooks/retry-failed-events"}]}]},{"tab":"패치노트","pages":[{"title":"패치노트","href":"/ko/changelog"}]},{"tab":"법적 고지","pages":[{"title":"법적 고지","href":"/ko/legal/terms"}]}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api-reference/anti-ai/create-order"}]}]},"title":"Anti-AI 주문 생성 - ContentCare API Documentation","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}