Felo API PlatformFelo API Platform

Penjanaan dan Eksport PPT

Penyedia: Felo · Dibayar dengan baki platform

Jana persembahan secara tak segerak, kemudian eksport fail PPTX. Pastikan langkah penjanaan dan eksport berasingan: tugas yang dicipta belum lagi menjadi fail siap.

Semua contoh menggunakan FELO_API_KEY daripada gambaran keseluruhan. Panggilan menggunakan baki platform, bukan kredit Felo Pro. Contoh respons adalah ilustratif; kandungan langsung dan medan pilihan berbeza.

Aliran kerja dan pengecam

  1. Cipta tugas penjanaan; simpan task_id, ppt_business_id dan expires_at.
  2. Undi status penjanaan menggunakan task_id.
  3. Baca hasil penjanaan menggunakan task_id.
  4. Mulakan eksport PPTX menggunakan ppt_business_id.
  5. Undi status eksport dan muat turun fail yang lengkap.
  6. Secara pilihan padamkan persembahan lebih awal.

Dalam ruang letak laluan, {business_id} bermaksud `ppt_business_id` yang dipulangkan, bukan task_id, resource_id atau livedoc_short_id. Gunakan akaun API yang sama untuk keseluruhan aliran kerja. ID dalam contoh adalah ruang letak.

1. Cipta persembahan

POST /api/v1/data/ppts

MedanJenisDiperlukanMakna
querystringYaArahan penjanaan, 1–25,000 aksara
stream_protocolstringTidakLalai message_center_v1; biasanya biarkan tanpa perubahan
ppt_configobjectTidakKonfigurasi pilihan; pelaksanaan semasa membaca ai_theme_id
livedoc_short_idstringTidakID konteks sedia ada, sehingga 100 aksara; mesti lulus semakan pemilikan API asli dan tamat tempoh
resource_idsstring arrayTidakSehingga 100 ID sumber UUID; tertakluk pada semakan akses konteks yang sama

Untuk integrasi pertama, jangan sertakan medan konteks dan konfigurasi. Konteks yang dicipta melalui /v2 tidak secara automatik layak untuk guna semula di sini.

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 memulangkan pengecam pada akar:

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

Pengecam tambahan seperti resource_id, stream_key dan thread_short_id mungkin hadir. Respons ciptaan yang berjaya bermaksud tugas telah diterima, bukan bahawa penjanaan telah selesai. Bilangan slaid yang diminta ialah arahan; pengebilan menggunakan kiraan halaman yang benar-benar dijana.

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

Baca peristiwa penjanaan dengan SSE

Jika penciptaan memulangkan stream_key, sambung serta-merta dengan Kunci API yang dimiliki oleh akaun yang sama. Jika tiada kunci strim dipulangkan, gunakan pertanyaan status dan hasil di bawah.

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'
Parameter pertanyaanMakna
formatraw (lalai) mengekalkan rentetan content; structured menyahkod JSON yang sah kepada objek atau tatasusunan
offsetKedudukan sambung semula huluan pilihan untuk penyambungan semula; jangan simpulkannya daripada kiraan peristiwa tempatan anda

Baca setiap peristiwa SSE lengkap, nyahkod JSON luarnya, kemudian proses content. Peristiwa aplikasi answer membawa teks dalam data.text; finished menandakan penyiapan penjanaan dalam strim. Juga kendalikan isyarat huluan done, [DONE], dan error. Jika sambungan terputus tanpa isyarat penyiapan, lakukan pertanyaan status tugas.

Gunakan peraturan penghuraian dan contoh klien dalam SuperAgent SSE, dengan URL /api/v1/data/conversations/stream/{stream_key} dalam bahagian ini. Baca hasil tugas selepas strim tamat; eksport PPTX kekal sebagai langkah berasingan. Titik akhir ini tidak mendayakan stream: true pada /api/v1/data/chat.

2. Undi status penjanaan

GET /api/v1/data/tasks/{task_id}/status

curl -sS --request GET "https://openapi.felo.ai/api/v1/data/tasks/$TASK_ID/status" \
  -H "Authorization: Bearer $FELO_API_KEY"

Respons mempunyai rentetan status pada akar, contohnya RUNNING atau COMPLETED. Undi dengan selang terhad (contohnya, 2–5 saat) dan garis masa akhir. Teruskan ke hasil selepas selesai; kendalikan kegagalan dan status yang tidak dijangka tanpa menganggap kejayaan. Garis masa pengundian tidak membatalkan tugas.

{"status":"COMPLETED"}

3. Baca hasil penjanaan

POST /api/v1/data/tasks/{task_id}/historical

Ini ialah POST, tanpa badan JSON diperlukan.

curl -sS --request POST "https://openapi.felo.ai/api/v1/data/tasks/$TASK_ID/historical" \
  -H "Authorization: Bearer $FELO_API_KEY"
{
  "task_id":"example-task-id",
  "task_status":"COMPLETED",
  "history_data":{},
  "error_message":null
}

Baca task_status sebelum menggunakan history_data. Muatan sejarah boleh berubah mengikut tugas dan mungkin null. ai_page_html dan thread_short_id adalah pilihan. Respons ini bukan URL muat turun PPTX yang dijamin; gunakan eksport seterusnya.

4. Mulakan eksport PPTX

POST /api/v1/data/ppts/{business_id}/export

curl -sS --request POST "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID/export" \
  -H "Authorization: Bearer $FELO_API_KEY"
{"status":"PROCESSING","download_url":null,"expires_at":null}

Penjanaan mesti telah selesai sebelum anda mengeksport. Mengulang POST semasa eksport yang sama masih berjalan akan menggunakan semula eksport itu. Memulakan satu lagi eksport selepas selesai mencipta eksport baharu dan boleh menanggung caj tambahan. Gunakan GET untuk mengundi dan menyegarkan pautan muat turun.

5. Undi eksport dan muat turun

GET /api/v1/data/ppts/{business_id}/export

curl -sS --request GET "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID/export" \
  -H "Authorization: Bearer $FELO_API_KEY"
StatusTindakan seterusnya
NOT_STARTEDHantar eksport sekali
PROCESSINGTunggu, kemudian undi GET sekali lagi
COMPLETEDBaca download_url dan muat turun fail
FAILEDPeriksa ralat dan keadaan tugas sebelum menghantar eksport baharu
{
  "status":"COMPLETED",
  "download_url":"https://example.com/presentation.pptx?signature=example",
  "expires_at":"2026-11-06T00:30:00Z"
}

URL contoh adalah ilustratif. Gunakan URL bertandatangan sebenar daripada respons. Ia sah selama 30 minit; status eksport GET boleh memulangkan pautan baharu sementara persembahan masih tersedia. Simpan fail dalam tempohnya. Jangan hantar kunci API Felo anda ke hos muat turun fail.

6. Padam persembahan

DELETE /api/v1/data/ppts/{business_id}

curl -sS --request DELETE "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID" \
  -H "Authorization: Bearer $FELO_API_KEY"

Kejayaan memulangkan HTTP 204 tanpa badan. Jangan hurainya sebagai JSON. Pemadaman semasa penjanaan sedang berjalan memulangkan 409.

Hayat, pemilikan dan pengebilan

  • Persembahan tamat tempoh tujuh hari selepas penciptaan. Pertanyaan dan eksport tidak memanjangkan tempoh ini. expires_at persembahan dan expires_at URL muat turun bertandatangan menerangkan hayat yang berbeza.
  • Hanya akaun API yang mencipta boleh mengakses tugas dan persembahannya. Sumber yang hilang atau tidak boleh diakses boleh memulangkan 404; sumber yang tamat tempoh atau dipadam boleh memulangkan 410, atau 404 selepas pembersihan.
  • Penjanaan dibilkan bagi setiap halaman yang dijana (ppt.generate). Di bawah pengebilan halaman, penciptaan menempah harga sepuluh halaman, kemudian menyelesaikan output sebenar yang berjaya dan melepaskan tempahan yang tidak digunakan. Akaun anda memerlukan baki tersedia yang mencukupi untuk tempahan walaupun prompt meminta lebih sedikit halaman.
  • Eksport mempunyai harga permintaan berasingan (ppt.export). Pertanyaan status, pertanyaan hasil, pertanyaan status eksport dan pemadaman tidak mencipta caj baharu.
  • Selepas tamat masa, lakukan pertanyaan terhadap tugas yang disimpan dan bukannya mencipta persembahan lain. Lihat Pengebilan dan Ralat.

Perlukan bantuan?