> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 작업, 참조 파일, 결과

> 공통으로 적용되는 작업 복구, 파일 만료, 다운로드, 미리보기, 고객 지원 절차

이 페이지는 작업과 파일에 관한 공통 규칙을 정리합니다. 실행 단계는 [CLI 작업 흐름](https://evolink.ai/docs/ko/cli/workflows.md)과 [MCP 작업 흐름](https://evolink.ai/docs/ko/mcp/overview.md#workflows)을 참고하세요.

## 한 번만 제출하고 작업 ID 보관하기

생성은 결과물을 바로 반환하거나 task\_id를 반환할 수 있습니다. ID, 모델, 입력, 보고된 상태를 보관한 뒤, 완료되거나 실패가 확인될 때까지 원래 작업을 조회하세요. 실제로 반환된 상태를 기준으로 판단하세요. 도구의 대기 시간이 초과되었다고 해서 생성이 실패한 것은 아닙니다.

| 결과 | 조치 |
| - | - |
| task\_id가 있음 | 원래 작업을 조회하거나 기다리세요. ID가 여러 개면 일괄 조회하세요 |
| 아직 대기열에 있거나 실행 중 | 계속 조회하세요. 대기를 멈춰도 작업은 취소되지 않습니다 |
| 상태가 검증되지 않음: `task_response_invalid`, `task_identity_mismatch` 또는 `task_status_unknown`이며 `status_check: unverified`가 함께 표시됨 | 원래 작업 ID를 보관하고 다시 조회하세요. 조회는 무료입니다. 이는 실패도, 요금 미부과도, 환불도 아니므로 다시 생성하지 마세요 |
| 접수되었지만(`submission_state: accepted`) 아직 상태가 없음 | 작업은 존재합니다. 다시 생성하지 말고 해당 task\_id를 조회하세요 |
| 완료됨 | 모든 원본을 저장하세요. 개수, 형식, 확인된 비용, 만료 시점을 알려 주세요 |
| 실패가 확인됨 | 오류 코드(`error.code`), 그 설명(`error.message`), 시간을 알려 주세요. 이 작업에는 요금이 부과되지 않으며, 제출 시 선차감된 크레딧은 자동으로 반환됩니다 |
| ID 없이 제출 결과를 알 수 없음 | 아래 설명대로 원래 경로에서 복구하세요 |

일괄 조회와 목록 조회는 검증할 수 있었던 작업을 유지하고 나머지는 따로 표시합니다(`partial`, `missing`, `details_missing`). 상세 정보가 없다고 해서 작업이 존재한 적이 없다는 뜻은 아닙니다. 해당 ID를 다시 조회하세요. 상태, 결과 또는 계정 기록을 확인해야 할 때는 응답에 `dashboard_url`과 영어로 된 `dashboard_guidance`가 포함됩니다. 같은 EvoLink 계정으로 [EvoLink 콘솔](https://evolink.ai/dashboard)에 로그인하고 원래 작업 ID를 보관하세요. 링크만으로는 완료, 요금 부과, 환불 여부가 확인되지 않습니다. 안내 문구, 링크 레이블, 생성 확인 문구는 기본적으로 영어로 제공됩니다. 다른 언어를 원하면 어시스턴트에게 요청하세요.

정식 출시된 CLI와 MCP에는 현재 사용할 수 있는 공개 취소 기능이 없습니다. 터미널, 대화, 연결을 닫아도 작업이 취소되지 않으며, 요금이 부과되지 않는다는 근거도 되지 않습니다.

## 시간 초과와 알 수 없는 결과 복구하기

**1. 원래 신원과 제출 기록 보존하기**

CLI는 quote\_id와 그 복구 기록을 보관하고, MCP는 client\_request\_id, 원래 입력, 오류를 보관합니다. 다시 생성하기보다 기존 task\_id를 조회하는 쪽을 우선하세요.

**2. 원래 경로에서 복구하기**

[CLI 복구](https://evolink.ai/docs/ko/cli/billing.md#tasks-and-recovery) 또는 [MCP 복구](https://evolink.ai/docs/ko/mcp/billing.md#tasks-and-recovery)를 따르세요. 원래 신원, 입력, 요청 ID를 그대로 유지하세요. 계정, 키, CLI/MCP 경로를 바꿔서 다시 제출하지 마세요. EvoLink는 요청 ID를 24시간 동안 보관합니다. 그 시간 안에는 같은 ID와 같은 입력으로 요청하면 새로 과금되지 않고 원래 작업이 반환됩니다. CLI의 `tasks resume`은 첫 제출 후 23시간 이내에, 견적이 만료되지 않았고 가격이 오르지 않은 경우에만 요청을 다시 보냅니다. 그렇지 않으면 아무것도 보내지 않습니다. 24시간이 지나면 해당 ID로는 두 번째 작업이 생기는 것을 막을 수 없으므로, 다시 제출하기 전에 최근 작업을 확인하세요.

**3. 작업과 과금 사실 확인하기**

완료된 결과물은 저장하고, 실패가 확인되면 과금 내역을 확인하세요. 그래도 알 수 없다면 오류와 시간을 보존하고 고객 지원에 문의하세요. 알 수 없다는 것이 아무것도 생성되지 않았거나 요금이 부과되지 않았다는 뜻은 아닙니다.

## 모델이 참조 파일을 읽을 수 있게 하기

1. 허용되는 이미지/영상/오디오 유형, 개수, 크기, 참조 파일 조합을 확인하세요.
2. 실행 환경에서 읽을 수 있는 파일이나 서버가 접근할 수 있는 URL을 사용하세요. 채팅 첨부 파일과 데스크톱 경로는 원격에서 자동으로 읽을 수 있는 것이 아닙니다.
3. 업로드 접수 확인과 파일 URL을 확인한 뒤 모델 입력에 추가하고 예상 비용을 다시 산정하세요.
4. 결과를 알 수 없을 때는 원래 upload\_id를 보존하세요. 새 업로드는 실패나 만료가 확인된 뒤에만 요청하세요. 접수 확인 지원 여부는 배포 환경에 따라 다릅니다.

| 경로 | 입력 위치와 제한 | 안내 |
| - | - | - |
| CLI 로컬 파일 | CLI가 읽을 수 있어야 합니다. 최대 95 MiB이며 모델에 따라 더 엄격할 수 있습니다 | [CLI 참조 파일](https://evolink.ai/docs/ko/cli/workflows.md#files) |
| 원격 MCP URL/인라인 데이터 | 서버가 읽을 수 있는 URL. base64는 1 MiB 제한 | [MCP 업로드 도구](https://evolink.ai/docs/ko/mcp/tools.md) |
| 원격 MCP 일회용 업로드 | prepare\_upload를 호출하고, 파일을 다룰 수 있는 환경에서 업로드한 뒤 get\_upload를 호출합니다. 95 MiB 제한 | [MCP 참조 파일](https://evolink.ai/docs/ko/mcp/overview.md#files) |
| 로컬 stdio | MCP 프로세스가 실행되는 컴퓨터의 file\_path. 모델/파일 서비스 제한이 적용됩니다 | [로컬 MCP](https://evolink.ai/docs/ko/mcp/other-clients.md#local-mcp) |

## 만료와 보관

| 항목 | 현재 기본값 |
| - | - |
| 생성된 원본 URL | 보통 24시간입니다. 바로 저장하세요 |
| 업로드한 참조 파일 | 보통 72시간입니다. 만료되면 다시 업로드하세요 |
| 견적 승인(CLI `quote_id`, MCP `pricing_quote`) | 예상 비용을 산정한 시점부터 24시간 동안, 같은 입력에 대해 승인된 가격 이하일 때 유효합니다. 만료된 경우(`quote_expired`), 가격이 오른 경우(`price_changed`), 입력이 바뀐 경우(`quote_input_changed`)에는 예상 비용을 새로 산정하고 다시 승인받아야 합니다 |
| 요청 ID(`client_request_id`) | EvoLink가 첫 제출 시점부터 24시간 동안 보관합니다. CLI의 `tasks resume`은 23시간 이내에, 견적이 만료되지 않았고 가격이 오르지 않은 경우에만 요청을 다시 보냅니다 |
| 원격 일회용 업로드 권한 | 보통 15분이며 한 번만 사용할 수 있습니다 |
| 원격 업로드 상태 URL | 보통 1시간입니다. 원래 upload\_id를 보관하세요 |

실제로 반환된 값이 우선합니다. 접수 확인의 호환 여부는 파일 서비스의 배포 환경에 따라 다릅니다. 다운로드한 원본은 사용자의 저장 공간에 남습니다. 임시 URL, 문서, 채팅 첨부 파일은 영구 저장소가 아닙니다. 만료된 참조 파일은 다시 업로드하고, 입력이 바뀌면 다시 확인하세요.

## 다운로드와 미리보기 문제 해결

1. 원래 작업을 조회해 완료되었는지 확인하세요. 해당 작업의 원본 URL을 사용하세요. 만료되었거나 비공개이거나 유효하지 않은 링크는 헤더를 바꿔도 해결되지 않습니다.
2. CLI 사용자는 download를 사용할 수 있습니다. MCP 사용자는 브라우저에서 원본을 열거나 파일을 다룰 수 있는 환경에서 저장할 수 있습니다. [CLI 다운로드](https://evolink.ai/docs/ko/cli/reference.md)와 [MCP 결과 전달](https://evolink.ai/docs/ko/mcp/overview.md#delivery)을 참고하세요.
3. HTTP 상태, Content-Type, 실제 형식을 확인하세요. 오류 HTML/JSON은 미디어가 아닙니다. 모든 이미지의 확장자를 PNG로 바꾸지 말고 실제 형식에 맞추세요.
4. 미리보기가 회색이거나 링크만 보이면 원본을 열어 보세요. 정상적으로 열리면 원본을 전달하거나 저장하세요. 호스트 미리보기 문제 때문에 승인되지 않은 재생성이나 편집을 해서는 안 됩니다.

### 기본 Python 요청이 거부되는 경우

유효한 원본이 브라우저나 curl에서는 열리는데 기본 Python에서는 실패한다면, 직접 관리하는 코드에서 제품 User-Agent를 설정할 수 있습니다. 아래 이미지 예시는 result\_url이 이미 유효한 원본 URL이라고 가정합니다:

```python theme={null}
from urllib.request import Request, urlopen
from shutil import copyfileobj

request = Request(result_url, headers={"User-Agent": "EvoLinkClient/1.0"})
with urlopen(request, timeout=60) as response:
    if not response.headers.get_content_type().startswith("image/"):
        raise ValueError("Expected an image response")
    with open("result.png", "xb") as output:
        copyfileobj(response, output)
```

이 예시는 이미지가 아닌 응답을 거부하고 기존 파일을 덮어쓰지 않습니다. 실제 형식이 PNG가 아니면 확장자를 바꾸세요. 영상/오디오에는 그에 맞는 MIME 검사와 파일 이름, 별도의 검증이 필요합니다. 이 방법은 특정 메타데이터/이미지 사례에서만 검증되었으며, 모든 클라이언트, 파일, 네트워크에서 검증된 것은 아닙니다. CLI 다운로드는 이미 제품 UA를 설정합니다.

## 고객 지원에 전달할 정보

OS, 에이전트/버전, CLI/MCP 버전, 경로, 실패한 단계, 시간, 오류 코드, 예상 동작/실제 동작, 기존 task\_id, quote\_id/client\_request\_id, upload\_id, 민감 정보를 가린 진단 정보를 제공하세요. SSH, 컨테이너, 프록시를 사용한다면 함께 알려 주세요.

OAuth 토큰, 키, 전체 인증 링크, 일회용 업로드 URL, 서명된 비공개 URL, 비공개 파일은 가리세요. 자격 증명 파일이나 환경 변수 전체 덤프는 공유하지 마세요. 먼저 [CLI 문제 해결](https://evolink.ai/docs/ko/cli/billing.md#faq) 또는 [MCP 문제 해결](https://evolink.ai/docs/ko/mcp/billing.md#faq)에서 어느 단계의 문제인지 찾으세요.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.