# Felo Sunum Oluştur

POST /api/v1/data/ppts

Bir sunumu eşzamansız olarak oluşturun, ardından bir PPTX dosyası dışa aktarın. Oluşturma ve dışa aktarma adımlarını ayrı tutun: oluşturulmuş bir görev henüz bitmiş bir dosya değildir.

Tüm örnekler [genel bakış](https://openapi.felo.ai/tr/docs/data-api/guides/felo-overview.md) içindeki `FELO_API_KEY`’i kullanır. Çağrılar Felo Pro kredilerini değil, **platform bakiyesini** kullanır. Yanıt örnekleri açıklayıcıdır; canlı içerik ve isteğe bağlı alanlar değişebilir.





## 1. Sunumu oluşturun

`POST /api/v1/data/ppts`

| Alan | Tür | Gerekli | Anlamı |
|---|---|---|---|
| `query` | string | Evet | Oluşturma yönergeleri, 1–25.000 karakter |
| `stream_protocol` | string | Hayır | Varsayılan `message_center_v1`; normalde değiştirmeden bırakın |
| `ppt_config` | object | Hayır | İsteğe bağlı yapılandırma; mevcut uygulama `ai_theme_id` okur |
| `livedoc_short_id` | string | Hayır | Mevcut bağlam kimliği, en fazla 100 karakter; yerel API sahipliği ve süre dolumu kontrollerinden geçmelidir |
| `resource_ids` | string array | Hayır | En fazla 100 UUID kaynak kimliği; aynı bağlam erişim kontrollerine tabidir |

İlk entegrasyon için bağlam ve yapılandırma alanlarını atlayın. `/v2` üzerinden oluşturulan bir bağlam burada otomatik olarak yeniden kullanım için uygun değildir.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/ppts" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Create a 5-slide introduction to retrieval augmented generation for software developers."}'
```

HTTP 200, kökte tanımlayıcılar döndürür:

```json
{
  "task_id":"example-task-id",
  "ppt_business_id":"example-ppt-id",
  "livedoc_short_id":"example-livedoc-id",
  "expires_at":"2026-11-13T00:00:00Z"
}
```

`resource_id`, `stream_key` ve `thread_short_id` gibi ek tanımlayıcılar bulunabilir. Başarılı bir oluşturma yanıtı, görevin kabul edildiği anlamına gelir; oluşturmanın tamamlandığı anlamına gelmez. İstenen slayt sayısı bir yönergedir; faturalandırma gerçek oluşturulan sayfa sayısını kullanır.

```bash
TASK_ID="example-task-id"
PPT_ID="example-ppt-id"
```

### SSE ile oluşturma olaylarını okuyun

Oluşturma bir `stream_key` döndürürse, aynı hesaba ait bir API Anahtarı ile hemen bağlanın. Herhangi bir stream key döndürülmezse, aşağıdaki durum ve sonuç sorgularını kullanın.

```bash
curl -N 'https://openapi.felo.ai/api/v1/data/conversations/stream/YOUR_STREAM_KEY?format=structured' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: text/event-stream'
```

| Sorgu parametresi | Anlamı |
|---|---|
| `format` | `raw` (varsayılan) `content` dizesini korur; `structured` geçerli JSON’u bir nesneye veya diziye çözer |
| `offset` | Yeniden bağlanma için isteğe bağlı üst akış devam konumu; bunu yerel olay sayınızdan çıkarsamayın |

Her tamamlanmış SSE olayını okuyun, dıştaki JSON’unu çözün, ardından `content` öğesini işleyin. Bir `answer` uygulama olayı, `data.text` içinde metin taşır; `finished` ise akışta oluşturmanın tamamlandığını belirtir. Ayrıca üst akış `done`, `[DONE]` ve `error` sinyallerini de işleyin. Bağlantı bir tamamlanma sinyali olmadan kapanırsa, görev durumunu sorgulayın.

Ayrıntıları ve istemci örneğini [SuperAgent SSE](https://openapi.felo.ai/tr/docs/api-reference/superagent.md#2-sse-ak-n-t-ket) bölümündeki ayrıştırma kurallarıyla kullanın; bu bölümün `/api/v1/data/conversations/stream/{stream_key}` URL’si için. Akış bittikten sonra görev sonucunu okuyun; PPTX dışa aktarma ayrı bir adımdır. Bu uç nokta `/api/v1/data/chat` üzerinde `stream: true` etkinleştirmez.



## Yaşam süresi, sahiplik ve faturalandırma

- Sunumların süresi **oluşturulmadan yedi gün sonra** dolar. Sorgular ve dışa aktarmalar bu süreyi uzatmaz. Sunum `expires_at` değeri ile imzalı indirme URL’sinin `expires_at` değeri farklı ömürleri tanımlar.
- Yalnızca oluşturan API hesabı kendi görevlerine ve sunumlarına erişebilir. Eksik veya erişilemeyen bir kaynak 404 döndürebilir; süresi dolmuş veya silinmiş bir kaynak 410, ya da temizlemeden sonra 404 döndürebilir.
- Oluşturma, oluşturulan sayfa başına (`ppt.generate`) faturalandırılır. Sayfa fiyatlandırmasında, oluşturma on sayfanın fiyatını ayırır, ardından gerçek başarılı çıktıyla kesinleşir ve kullanılmayan rezervasyonu serbest bırakır. İstem daha az sayfa istese bile hesabınızın bu rezervasyon için yeterli kullanılabilir bakiyesi olmalıdır.
- Dışa aktarma ayrı bir istek fiyatına sahiptir (`ppt.export`). Durum sorguları, sonuç sorguları, dışa aktarma-durumu sorguları ve silme yeni bir ücret oluşturmaz.
- Zaman aşımından sonra başka bir sunum oluşturmak yerine kaydedilmiş görevi sorgulayın. [Faturalandırma ve Hatalar](https://openapi.felo.ai/tr/docs/data-api/guides/felo-billing.md) bölümüne bakın.
