# AI 문서 작성



에이픽에이전트로 문서 초안·양식 채우기·선택 문장 수정을 제안받습니다.



인증: Authorization: Bearer $APICK_API_KEY

요청 본문: application/json. 문서 JSON과 숫자 버전을 그대로 전달합니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/document_ai_write 응답 필드

## API 요청: POST /rest/document_ai_write



### 입력

- `action` (string, 선택): draft·fill·polish·summarize·expand 중 하나. 기본 draft

- `text` (string, 필수): 작성할 내용 또는 수정 지시, 최대 3,000자 문자열로 보내며, 빼거나 빈 값으로 보내면 요청이 거부됩니다.

- `document` (object, 선택): title·form·content를 포함한 현재 문서 JSON 객체로 보내며, 하위 항목 이름과 값을 함께 지정합니다. 생략하면 서버 기본값이 적용됩니다.

- `selection` (string, 선택): 다듬기·요약·확장할 선택 문장 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.

- `request_id` (string, 필수): 중복 방지 요청 ID. UUID 권장, 같은 요청의 재시도는 같은 값 문자열로 보내며, 빼거나 빈 값으로 보내면 요청이 거부됩니다.



### 응답 명세

```json

{
  "type": "object",
  "properties": {}
}

```

### curl

```curl

curl --fail-with-body --request POST "https://apick.app/rest/document_ai_write" \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --header "Content-Type: application/json" \
  --data-binary @document-request.json
# document-request.json에 아래 JSON을 저장하고 요청 ID와 문서 식별자를 바꿉니다.
# {"action":"draft","text":"신제품 출시 회의록을 작성해 주세요. 날짜와 참석자는 확인이 필요합니다.","request_id":"YOUR_REQUEST_ID"}

```

### Node.js (서버 ESM)

```javascript

const body = {
  "action": "draft",
  "text": "신제품 출시 회의록을 작성해 주세요. 날짜와 참석자는 확인이 필요합니다.",
  "request_id": "YOUR_REQUEST_ID"
};
body.request_id = process.env.APICK_REQUEST_ID; // 같은 요청을 재시도할 때 재사용할 UUID
const response = await fetch("https://apick.app/rest/document_ai_write", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify(body), signal: AbortSignal.timeout(120_000)
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());

```

### python

```python

import os, json, requests
body = json.loads("{\"action\":\"draft\",\"text\":\"신제품 출시 회의록을 작성해 주세요. 날짜와 참석자는 확인이 필요합니다.\",\"request_id\":\"YOUR_REQUEST_ID\"}")
body["request_id"] = os.environ["APICK_REQUEST_ID"]
response = requests.post("https://apick.app/rest/document_ai_write", json=body, headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]}, timeout=120)
response.raise_for_status()
print(response.json())

```

### php

```php

<?php
$body = json_decode('{"action":"draft","text":"신제품 출시 회의록을 작성해 주세요. 날짜와 참석자는 확인이 필요합니다.","request_id":"YOUR_REQUEST_ID"}', true);
$body["request_id"] = getenv("APICK_REQUEST_ID");
$curl = curl_init("https://apick.app/rest/document_ai_write");
curl_setopt_array($curl, [CURLOPT_POST => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("APICK_API_KEY"), "Content-Type: application/json"], CURLOPT_POSTFIELDS => json_encode($body), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 120]);
$result = curl_exec($curl);
if ($result === false || curl_getinfo($curl, CURLINFO_HTTP_CODE) >= 400) throw new RuntimeException("문서 요청 실패");
curl_close($curl);
echo $result;

```

## 코드·오류

### 업무 실패 응답

입력 오류·대상 없음·일시 실패는 data.error(사유)와 data.success=0으로 오며 api.cost는 0(과금 없음)입니다. HTTP 상태는 400·404·408·424 중 하나입니다. 입력 오류는 값을 고쳐 다시 요청하고, 408·424는 잠시 후 한 번 다시 시도하세요.

```json

{
  "data": {
    "error": "입력값을 확인해 주세요.",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 5
  }
}

```

## 상세 기능·요금

문서 작성 순서document_create로 문서를 만들고 document_get으로 엽니다. 편집 후 document_update에 현재 version을 넣어 저장합니다. document_quote의 version과 content_hash를 document_download에 전달하면 DOCX를 받습니다. 수정 충돌은 409로 알려 줍니다.문서 JSON 예: {"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"회의 내용"}]}]}문단(paragraph), 제목(heading), 표(table), 목록(bulletList·orderedList), 텍스트(text), 서명(image), 페이지 나누기(pageBreak)를 지원합니다. 굵게(bold), 기울임(italic), 밑줄(underline), 글꼴·크기·색상(textStyle)을 지정할 수 있습니다. 본문은 100,000자, 이미지 6개까지이며 서명은 PNG·JPEG data URL 각 300KB 이하입니다. 가격과 보관20P. 저장·열기·목록·수정·삭제·견적은 무료입니다. 공개 API AI 작성은 성공당 20P이며 웹의 하루 20회 무료 체험과 별도입니다. DOCX 다운로드는 최초 100P이며 같은 문서에서 구매한 내용은 무료로 다시 받습니다. 내용이 바뀌면 새로운 다운로드 가격을 확인해 주세요.문서는 최초 저장 또는 마지막 수정·다운로드 후 14일간 보관합니다. 열기와 변경 없는 저장은 기한을 연장하지 않습니다. 기한이 지나면 문서와 파일이 삭제됩니다. 본인 문서만 사용할 수 있으며 없는 문서·만료 문서는 404, 잔액 부족은 402로 알려 줍니다. 실패한 AI 작업과 파일 생성은 차감하지 않습니다.

## 상세 요청

POST https://apick.app/rest/document_ai_write · JSON · Authorization: Bearer 인증키
