Files API позволяет загружать и управлять файлами для использования с Claude API без повторной загрузки содержимого при каждом запросе. Это особенно полезно при использовании инструмента выполнения кода для предоставления входных данных (например, наборов данных и документов) и последующей загрузки выходных данных (например, диаграмм). Вы также можете использовать Files API, чтобы избежать необходимости постоянно повторно загружать часто используемые документы и изображения при нескольких вызовах API. Вы можете изучить справку API напрямую, в дополнение к этому руководству.
Files API находится в бета-версии. Поделитесь своим опытом использования Files API через форму обратной связи.
This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.
Ссылка на file_id в запросе Messages поддерживается во всех моделях, которые поддерживают данный тип файла. Например, изображения поддерживаются во всех моделях Claude 3+, PDF во всех моделях Claude 3.5+, и различные другие типы файлов для инструмента выполнения кода в Claude Haiku 4.5 и всех моделях Claude 3.7+.
Files API в настоящее время не поддерживается на Amazon Bedrock или Google Vertex AI.
Files API предоставляет простой подход "загрузить один раз, использовать много раз" для работы с файлами:
file_idfile_id вместо повторной загрузки содержимогоДля использования Files API необходимо включить заголовок бета-функции: anthropic-beta: files-api-2025-04-14.
Загрузите файл для использования в будущих вызовах API:
Ответ от загрузки файла будет включать:
{
"id": "file_011CNha8iCJcU1wXNR6q4V8w",
"type": "file",
"filename": "document.pdf",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false
}После загрузки ссылайтесь на файл, используя его file_id:
Files API поддерживает различные типы файлов, которые соответствуют различным типам блоков содержимого:
| Тип файла | MIME тип | Тип блока содержимого | Вариант использования |
|---|---|---|---|
application/pdf | document | Анализ текста, обработка документов | |
| Простой текст | text/plain | document | Анализ текста, обработка |
| Изображения | image/jpeg, image/png, image/gif, image/webp | image | Анализ изображений, визуальные задачи |
| Наборы данных, другое |
Для типов файлов, которые не поддерживаются как блоки document (.csv, .txt, .md, .docx, .xlsx), преобразуйте файлы в простой текст и включите содержимое непосредственно в ваше сообщение:
Для файлов .docx, содержащих изображения, сначала преобразуйте их в формат PDF, а затем используйте поддержку PDF для использования встроенного анализа изображений. Это позволяет использовать цитаты из документа PDF.
Для PDF и текстовых файлов используйте блок содержимого document:
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
},
"title": "Document Title", // Optional
"context": "Context about the document", // Optional
"citations": { "enabled": true } // Optional, enables citations
}Для изображений используйте блок содержимого image:
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}Получите список загруженных файлов:
Получите информацию о конкретном файле:
Удалите файл из вашего рабочего пространства:
Загружайте файлы, созданные навыками или инструментом выполнения кода:
Вы можете загружать только файлы, созданные навыками или инструментом выполнения кода. Загруженные вами файлы не могут быть загружены.
Messages API и связанных использованиях инструментовФайлы, загруженные через Files API, сохраняются до явного удаления с помощью конечной точки DELETE /v1/files/{file_id}. Файлы хранятся для повторного использования при нескольких запросах API.
Для соответствия ZDR по всем функциям см. API и хранение данных.
Распространённые ошибки при использовании Files API включают:
file_id не существует или у вас нет доступа к нему/v1/messages)<, >, :, ", |, ?, *, \, / или символы Unicode 0-31){
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
}
}Операции Files API бесплатны:
Содержимое файла, используемое в запросах Messages, оплачивается как входные токены. Вы можете загружать только файлы, созданные навыками или инструментом выполнения кода.
Во время бета-периода:
Was this page helpful?
uploaded = client.beta.files.upload(
file=("document.pdf", open("/path/to/document.pdf", "rb"), "application/pdf"),
)response = client.beta.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Please summarize this document for me."},
{
"type": "document",
"source": {
"type": "file",
"file_id": file_id,
},
},
],
}
],
betas=["files-api-2025-04-14"],
)
print(response)| Различные |
container_upload |
| Анализ данных, создание визуализаций |
import pandas as pd
# Example: Reading a CSV file
df = pd.read_csv("data.csv")
csv_content = df.to_string()
# Send as plain text in the message
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": f"Here's the CSV data:\n\n{csv_content}\n\nPlease analyze this data.",
}
],
}
],
)
print(response.content[0].text)client = anthropic.Anthropic()
files = client.beta.files.list()file = client.beta.files.retrieve_metadata(file_id)result = client.beta.files.delete(file_id)file_content = client.beta.files.download(file_id)
# Save to file
file_content.write_to_file("downloaded_file.txt")