---
title: Dosyalar ve Yüklemeler | RunAPI
description: Kalıcı Dosyaları oluşturun, listeleyin, indirin ve silin ya da çok parçalı
  Yükleme Parçalarından bir Dosya oluşturun.
url: https://runapi.ai/tr/docs/resources/files.md
canonical: https://runapi.ai/tr/docs/resources/files
locale: tr
---

> HTML sürümü: https://runapi.ai/tr/docs/resources/files
> Ajanlar için site dizini: https://runapi.ai/llms.txt

# Dosyalar ve Yüklemeler

Files API; değiştirilemez, hesap kapsamlı `user_data`, `batch` ve `batch_output` File'larını depolar ve depolama URL'leri yerine kalıcı File ID'leri döndürür. Yeniden kullanılabilir bir File kaynağı kabul eden bir API'de File ID kullanın; uygulamanızın depolanan baytların tam olarak alınmasına ihtiyaç duyduğu durumlarda ise içerik uç noktasını kullanın.

## Bir yükleme akışı seçin

* Tek bir çok parçalı istekten Dosya oluşturmak için `POST /v1/files`
  kullanın. Tamamlanmış bir `user_data` Dosyası en fazla `52,428,800` bayt
  içerebilir.
* Doğrudan toplu giriş için `purpose=batch` ile `POST /v1/files` kullanın;
  en fazla `95,000,000` bayt desteklenir.
* Son Dosyayı oluşturmadan önce Parçaları göndermek için Uploads API'sini
  kullanın. Her Parça en fazla `67,108,864` bayt içerebilir; tamamlanmış
  bir `user_data` Dosyası `52,428,800` bayt, tamamlanmış bir `batch`
  Dosyası ise `209,715,200` bayt ile sınırlıdır. Tamamlanmamış bir Yükleme
  bir saat sonra sona erer.
* Etkin Dosyalar ve devam eden rezervasyonlar, `5,368,709,120` baytlık
  Hesap depolama sınırını paylaşır.

`POST /api/v1/files`, bir geçici URL döndüren ayrı bir geçici yükleme akışıdır. SDK `files.create` ve CLI `runapi files create` bu akışı kullanmaya devam eder. Kalıcı bir File nesnesi gerektiğinde `files.createFile` veya `files.create_file` ya da CLI `runapi files create-file` kullanın.

## Bir isteğin kimliğini doğrulayın

Dosyalar ve Yüklemeler, standart bir RunAPI API anahtarı kullanır. Bunu Bearer token olarak gönderin:

```shell
export RUNAPI_API_KEY="runapi_..."
```

Her Dosya, Yükleme, Parça ve içerik isteği, kimliği doğrulanmış Hesap kapsamındadır. Başka bir Hesaba ait kimlik, söz konusu kaynağın var olup olmadığını açıklamadan `404` döndürür.

## Uyumlu bir istemciyle Dosya oluşturun

OpenAI uyumlu bir istemciyi RunAPI `/v1` temel URL'sine yönlendirin. RunAPI'ye özgü istek alanı gerekmez:

```python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["RUNAPI_API_KEY"],
    base_url="https://runapi.ai/v1",
)

with open("knowledge.pdf", "rb") as source:
    file = client.files.create(file=source, purpose="user_data")

metadata = client.files.retrieve(file.id)
client.files.content(file.id).write_to_file("knowledge-copy.pdf")
client.files.delete(file.id)
```

Döndürülen File hiçbir zaman depolama tanımlayıcısı, arka uç veya taşıyıcı URL içermez.

## API başvurusu

* [Kalıcı Files API](https://runapi.ai/tr/docs/api/protocol/files.md), File nesnesini ve oluşturma,
  listeleme, alma, içerik ve silme işlemlerini kapsar.
* [Uploads API](https://runapi.ai/tr/docs/api/protocol/uploads.md), Upload nesnesini ve oluşturma,
  parça ekleme, tamamlama ve iptal etme işlemlerini kapsar.
* [Batches API](https://runapi.ai/tr/docs/api/protocol/batches.md), Moderasyon Toplu İşlemi
  oluşturma, durum, listeleme ve iptal etme işlemlerini kapsar.

## Bir Toplu İşte Moderasyon çalıştır

Her satırda bir moderasyon isteği olacak şekilde JSONL girdi Dosyası oluşturun. Her satır uyumlu Toplu İş şeklini kullanır: `custom_id`, `method`, `/v1/moderations` olarak ayarlanmış `url` ve moderasyon modelini ile girdiyi içeren bir `body`. `purpose=batch` olan bir Dosya en fazla 50.000 istek içerebilir. Toplu İş kapasitesi şu anda `24h` tamamlanma penceresiyle `/v1/moderations` uç noktasını kabul etmektedir.

```shell
INPUT_FILE_ID=$(curl -sS https://runapi.ai/v1/files \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -F purpose=batch \
  -F file=@moderation.jsonl | jq -r .id)

BATCH_ID=$(curl -sS https://runapi.ai/v1/batches \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --arg file "$INPUT_FILE_ID" '{input_file_id:$file,endpoint:"/v1/moderations",completion_window:"24h"}')" \
  | jq -r .id)

curl -sS "https://runapi.ai/v1/batches/$BATCH_ID" \
  -H "Authorization: Bearer $RUNAPI_API_KEY"
```

İşleri listelemek için `GET /v1/batches` kullanın; durum terminal olana kadar `GET /v1/batches/{batch_id}` isteğini tekrarlayın ya da hâlâ çalışıyorken `POST
/v1/batches/{batch_id}/cancel` çağrısı yapın. Tamamlanan çıktı ve hata JSONL'leri `batch_output` Dosyaları olarak sunulur; meta verilerini `GET /v1/files/{file_id}` ile, tam baytları ise `GET
/v1/files/{file_id}/content` ile alın.

## Çok Parçalı Yükleme yaşam döngüsü

Son bayt sayısı, dosya adı, MIME türü ve `purpose=user_data` ile bir Yükleme oluşturun. Bir veya daha fazla Parça ekleyin, ardından kimliklerini bileşim sırasında `complete`'e iletin. Tamamlama, bitmiş Dosyasıyla birlikte Yüklemeyi döndürür.

```shell
UPLOAD_ID=$(curl -sS https://runapi.ai/v1/uploads \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bytes":1048576,"filename":"archive.bin","mime_type":"application/octet-stream","purpose":"user_data"}' \
  | jq -r .id)

PART_ID=$(curl -sS "https://runapi.ai/v1/uploads/$UPLOAD_ID/parts" \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -F data=@archive.part-01 | jq -r .id)

curl -sS "https://runapi.ai/v1/uploads/$UPLOAD_ID/complete" \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"part_ids\":[\"$PART_ID\"]}"
```

Tamamlanmamış bir Yüklemeyi `POST /v1/uploads/{upload_id}/cancel` ile iptal edin. Aynı tamamlama niyetini veya iptali tekrarlamak güvenlidir; başka bir terminal sonucu zaten kazanmışsa rakip tamamlama, iptal veya süre sonu `409
upload_state_conflict` döndürür.

## CLI ve SDK kaynakları

CLI tüm yaşam döngüsünü ortaya koyar:

```shell
runapi files create-file knowledge.pdf
runapi files list --order desc
runapi files retrieve file_123
runapi files content file_123 --output knowledge-copy.pdf
runapi files delete file_123

runapi uploads create --bytes 1048576 --filename archive.bin --mime-type application/octet-stream
runapi uploads add-part upload_123 archive.part-01
runapi uploads complete upload_123 --part-id part_123
runapi uploads cancel upload_123
```

Her Sağlayıcı İstemcisi `files` ve `uploads` kaynaklarını kullanıma sunar. JavaScript ve PHP `createFile` / `deleteFile` / `addPart`; Python ve Ruby `create_file` / `delete_file` / `add_part`; Go `CreateFile` / `DeleteFile` / `AddPart`; Java `createFile` / `deleteFile` / `addPart` kullanır. List, retrieve, content, create, complete ve cancel işlemleri her dilin normal adlandırma kuralını izler. Paket kurulumu için bkz. [SDK'lar](https://runapi.ai/tr/docs/resources/sdks.md).

## Yaşam döngüsü davranışı

Dosya içeriği değiştirilemez. Dosyayı silmek, onu etkin listelerden hemen kaldırır ve depolama temizliğini zamanlar. Yükleme tamamlama işlemi Parçaları yalnızca belirtilen sırayla birleştirir ve başarılı bir tamamlama tek bir Dosya oluşturur. Belirsiz bir tamamlama yanıtını yeniden denerken orijinal Parça kimliği sırasını koruyun.

---

## RunAPI hakkında daha fazlası

- [Ana sayfa](https://runapi.ai/tr/.md)
- [Model Kataloğu](https://runapi.ai/tr/models.md)
- [Fiyatlandırma](https://runapi.ai/tr/pricing.md)
- [Sağlayıcılar](https://runapi.ai/tr/models)
- [Dokümantasyon](https://runapi.ai/tr/docs/guides)
- [SDK'lar](https://runapi.ai/tr/sdk.md)
- [CLI](https://runapi.ai/tr/cli.md)
- [MCP Sunucusu](https://runapi.ai/tr/mcp.md)
- [Claude Code ve Cursor](https://runapi.ai/tr/claude-code-vs-cursor.md)
- [Cursor API kurulumu](https://runapi.ai/tr/cursor-api-setup.md)
- [RunAPI ve OpenRouter](https://runapi.ai/tr/openrouter-alternative.md)
- [Kurumsal](https://runapi.ai/tr/contact.md)
- [İletişim](https://runapi.ai/tr/contact.md)
- [Şartlar](https://runapi.ai/tr/terms.md)
- [Gizlilik](https://runapi.ai/tr/privacy.md)
- [Ajanlar için site dizini](https://runapi.ai/llms.txt)

İletişim: contact@runapi.ai

## Yapılandırılmış veriler

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "tr",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/tr",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/tr/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "tr",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/tr",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/tricon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "tr",
    "@type": "TechArticle",
    "headline": "Dosyalar ve Yüklemeler",
    "description": "Kalıcı Dosyaları oluşturun, listeleyin, indirin ve silin ya da çok parçalı Yükleme Parçalarından bir Dosya oluşturun.",
    "url": "https://runapi.ai/tr/docs/resources/files",
    "mainEntityOfPage": "https://runapi.ai/tr/docs/resources/files"
  }
]
```
