Referensi API

REST API ConvertFly memungkinkan Anda mengonversi, mengoptimalkan, dan mengubah file secara terprogram. Bangun pipeline konversi dengan job dan task: impor file, proses, lalu ekspor hasilnya dalam satu permintaan.

URL dasarhttps://convertfly.io/api/v1

Semua endpoint relatif terhadap URL dasar ini. Permintaan dan respons menggunakan JSON. Semua stempel waktu dalam UTC ISO 8601.

Autentikasi

Setiap permintaan harus menyertakan kunci API di header Authorization. Kunci diawali dengan cvfly_sk_ dan dapat dibuat di dasbor Anda.

Header HTTP
Authorization: Bearer cvfly_sk_live_abc123def456...

Tips keamanan: Jangan pernah mengekspos kunci API di kode sisi klien. Simpan kunci di variabel lingkungan dan lakukan panggilan API dari server Anda.

Cakupan kunci

Kunci API dapat dibatasi untuk operasi tertentu. Kunci yang dibuat tanpa daftar cakupan mendapatkan cakupan bawaan.

CakupanAkses
job:readMembaca job(bawaan)
job:writeMembuat, membatalkan, mengulang, dan menghapus job beserta task-nya(bawaan)
task:readMembaca task(bawaan)
convertMenjalankan konversi(bawaan)
api-key:readMelihat daftar kunci API
api-key:writeMembuat dan mencabut kunci API
webhook:readMelihat daftar webhook
webhook:writeMembuat dan menghapus webhook

Mulai cepat

Konversi PDF ke DOCX dalam tiga langkah: buat job, tunggu hingga selesai, lalu unduh hasilnya.

1

Buat job konversi

curl
curl -X POST https://convertfly.io/api/v1/jobs \
  -H "Authorization: Bearer cvfly_sk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "tasks": {
      "import-file": {
        "operation": "import/url",
        "url": "https://example.com/report.pdf"
      },
      "convert": {
        "operation": "convert",
        "input": ["import-file"],
        "output_format": "docx"
      },
      "export": {
        "operation": "export/url",
        "input": ["convert"]
      }
    }
  }'
JavaScript
const res = await fetch("https://convertfly.io/api/v1/jobs", {
  method: "POST",
  headers: {
    "Authorization": "Bearer cvfly_sk_live_abc123...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    tasks: {
      "import-file": {
        operation: "import/url",
        url: "https://example.com/report.pdf",
      },
      convert: {
        operation: "convert",
        input: ["import-file"],
        output_format: "docx",
      },
      export: {
        operation: "export/url",
        input: ["convert"],
      },
    },
  }),
});

const job = await res.json();
console.log(job.id);     // "cmxr9k2p0..."
console.log(job.status); // "processing"
Python
import requests

resp = requests.post(
    "https://convertfly.io/api/v1/jobs",
    headers={"Authorization": "Bearer cvfly_sk_live_abc123..."},
    json={
        "tasks": {
            "import-file": {
                "operation": "import/url",
                "url": "https://example.com/report.pdf",
            },
            "convert": {
                "operation": "convert",
                "input": ["import-file"],
                "output_format": "docx",
            },
            "export": {
                "operation": "export/url",
                "input": ["convert"],
            },
        }
    },
)
job = resp.json()
print(job["id"])      # "cmxr9k2p0..."
print(job["status"])  # "processing"
2

Tunggu hingga selesai

Periksa status job secara berkala atau gunakan webhook untuk notifikasi waktu nyata.

curl
curl https://convertfly.io/api/v1/jobs/job_7kX9mP2qR \
  -H "Authorization: Bearer cvfly_sk_live_abc123..."
Respons
{
  "id": "cmxr9k2p0",
  "status": "finished",
  "created_at": "2026-04-03T10:30:00Z",
  "tasks": [
    {
      "name": "export",
      "operation": "export/url",
      "status": "finished",
      "result": {
        "files": [
          { "url": "https://files.convertfly.io/d/cmv.../result.docx?e=...&s=..." }
        ]
      }
    }
  ]
}
3

Unduh hasilnya

Gunakan URL dari hasil task ekspor. Tautan unduhan berlaku selama 1 jam; file dihapus 24 jam setelah diunggah.

curl
curl -o result.docx "https://files.convertfly.io/d/..."

Job

Job adalah wadah untuk satu atau beberapa task yang membentuk pipeline konversi. Task dalam satu job dijalankan sesuai urutan dependensi; setiap task dapat merujuk keluaran task sebelumnya melalui kolom input.

Konsep pipeline

Pipeline umumnya terlihat seperti ini: import/url -> convert -> export/url. Anda juga dapat merangkai beberapa operasi: impor -> konversi -> optimalkan -> tanda air -> ekspor.

Status job

StatusDeskripsi
waitingJob dibuat dan masuk antrean untuk diproses
processingSetidaknya satu task sedang berjalan
finishedSemua task berhasil diselesaikan
errorSatu atau beberapa task gagal

Membuat job

POST/api/v1/jobs
tagstring

Label opsional untuk mengelompokkan job (mis. batch-2026-04).

tasksobjectwajib

Peta nama task ke definisi task. Nama task harus unik dalam satu job.

webhook_urlstring

URL yang menerima event job.finished atau job.failed saat job selesai.

curl
curl -X POST https://convertfly.io/api/v1/jobs \
  -H "Authorization: Bearer cvfly_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "tag": "invoice-batch",
    "tasks": {
      "import-file": {
        "operation": "import/url",
        "url": "https://example.com/invoice.pdf"
      },
      "to-png": {
        "operation": "convert",
        "input": ["import-file"],
        "output_format": "png",
        "options": { "density": 300 }
      },
      "export": {
        "operation": "export/url",
        "input": ["to-png"]
      }
    }
  }'
Respons (201 Created)
{
  "id": "cmxr9k2p0",
  "tag": "invoice-batch",
  "status": "processing",
  "created_at": "2026-04-03T10:30:00Z",
  "tasks": [
    { "name": "import-file", "operation": "import/url", "status": "finished" },
    { "name": "to-png",      "operation": "convert",    "status": "processing" },
    { "name": "export",      "operation": "export/url", "status": "waiting" }
  ]
}

Contoh: menggabungkan file menjadi satu PDF

Operasi merge menggabungkan dua masukan atau lebih (PDF dan/atau gambar) menjadi satu PDF. Cantumkan nama task masukan secara berurutan dalam larik input.

curl
curl -X POST https://convertfly.io/api/v1/jobs \
  -H "Authorization: Bearer cvfly_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "tasks": {
      "cover": {
        "operation": "import/url",
        "url": "https://example.com/cover.png"
      },
      "report": {
        "operation": "import/url",
        "url": "https://example.com/report.pdf"
      },
      "merge-all": {
        "operation": "merge",
        "input": ["cover", "report"]
      },
      "export": {
        "operation": "export/url",
        "input": ["merge-all"]
      }
    }
  }'

Contoh: mengambil tangkapan situs web

Operasi capture-website tidak memerlukan task masukan: operasi ini merender URL publik menjadi PDF, PNG, atau JPG.

curl
curl -X POST https://convertfly.io/api/v1/jobs \
  -H "Authorization: Bearer cvfly_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "tasks": {
      "capture": {
        "operation": "capture-website",
        "url": "https://example.com",
        "output_format": "pdf",
        "width": 1280
      },
      "export": {
        "operation": "export/url",
        "input": ["capture"]
      }
    }
  }'

Mengambil job

GET/api/v1/jobs/:id

Ambil detail job dan status semua task-nya.

curl
curl https://convertfly.io/api/v1/jobs/job_7kX9mP2qR \
  -H "Authorization: Bearer cvfly_sk_..."

Melihat daftar job

GET/api/v1/jobs
pageinteger

Nomor halaman, dimulai dari 1. Bawaan: 1.

limitinteger

Hasil per halaman, 1-100. Bawaan: 20.

statusstring

Saring berdasarkan status: WAITING, PROCESSING, FINISHED, ERROR.

tagstring

Saring berdasarkan tag.

curl
curl "https://convertfly.io/api/v1/jobs?status=finished&per_page=5" \
  -H "Authorization: Bearer cvfly_sk_..."
Respons
{
  "data": [ ... ],
  "links": { "first": "?page=1&per_page=5", "last": "?page=9&per_page=5", "prev": null, "next": "?page=2&per_page=5" },
  "meta": {
    "page": 1,
    "per_page": 5,
    "total": 42
  }
}

Menghapus job

DELETE/api/v1/jobs/:id

Hapus job beserta semua file terkaitnya. Task yang sedang berjalan akan dibatalkan. Tindakan ini tidak dapat dibatalkan.

curl
curl -X DELETE https://convertfly.io/api/v1/jobs/job_7kX9mP2qR \
  -H "Authorization: Bearer cvfly_sk_..."

Menunggu hingga selesai

GET/api/v1/jobs/:id/wait

Endpoint long-poll yang menahan respons hingga job mencapai status akhir (FINISHED atau ERROR). Waktu habis setelah 300 detik dengan respons 202 Accepted jika job masih diproses.

curl
curl "https://convertfly.io/api/v1/jobs/job_7kX9mP2qR/wait?timeout=120" \
  -H "Authorization: Bearer cvfly_sk_..."

Task

Task adalah langkah-langkah individual dalam sebuah job. Setiap task memiliki nama (kunci dalam objek tasks), sebuah operation, dan secara opsional larik input yang merujuk nama task sebelumnya.

Kolom task

KolomTipeDeskripsi
operationstringOperasi yang dijalankan (lihat Operasi)
inputstring[]Nama task yang keluarannya digunakan sebagai masukan
output_formatstringFormat tujuan untuk operasi konversi
optionsobjectPengaturan khusus operasi (kualitas, kepadatan, dll.)

Melihat daftar task suatu job

GET/api/v1/jobs/:id/tasks
Respons
{
  "data": [
    {
      "name": "import-file",
      "operation": "import/url",
      "status": "finished",
      "result": { "file_id": "file_Xk9m..." }
    },
    {
      "name": "convert",
      "operation": "convert",
      "status": "finished",
      "result": { "file_id": "file_Pm3n..." }
    }
  ]
}

Mengambil task

GET/api/v1/jobs/:job_id/tasks/:task_name

Membatalkan task

POST/api/v1/jobs/:job_id/tasks/:task_name/cancel

Batalkan task yang sedang berjalan atau menunggu. Task turunan yang bergantung padanya juga akan dibatalkan.

Mengulang task yang gagal

POST/api/v1/jobs/:job_id/tasks/:task_name/retry

Ulangi task yang berstatus ERROR. Tindakan ini memakai kredit lagi jika task tersebut berbayar.

Unggah file

Ada tiga cara untuk memasukkan file ke ConvertFly. Pilih yang paling sesuai dengan kebutuhan Anda.

Impor dari URL

Metode paling sederhana. ConvertFly mengunduh file dari URL yang dapat diakses publik.

Definisi task
{
  "import-file": {
    "operation": "import/url",
    "url": "https://example.com/document.pdf",
    "filename": "document.pdf",
    "headers": {
      "Authorization": "Bearer your-external-token"
    }
  }
}

Unggah langsung (URL presigned)

Untuk file di komputer lokal Anda. Prosesnya dua langkah: pertama buat task untuk mendapatkan URL unggahan presigned, lalu kirim file Anda dengan PUT ke URL tersebut.

Langkah 1: Buat job dengan import/upload
{
  "upload-file": {
    "operation": "import/upload",
    "filename": "photo.jpg"
  }
}
Langkah 2: Unggah ke URL presigned
# The task result will contain the presigned URL
curl -X PUT "https://files.convertfly.io/convertfly-files/..." \
  -H "Content-Type: image/jpeg" \
  --data-binary @photo.jpg

Impor dari Base64

Untuk file kecil (di bawah 10 MB). Sematkan isi file langsung di dalam permintaan.

Definisi task
{
  "import-file": {
    "operation": "import/base64",
    "file": "JVBERi0xLjQKJcOkw7zD...",
    "filename": "document.pdf"
  }
}
MetodeUkuran maks.Paling cocok untuk
import/url5 GBFile yang sudah di-hosting online
import/upload5 GBFile lokal, file besar
import/base6410 MBFile kecil, langsung di dalam permintaan

Opsi konversi

Setiap operasi mendukung opsi tertentu. Berikut semua operasi yang tersedia dan pasangan format untuk konversi.

Operasi yang tersedia

OperasiDeskripsiKredit
import/uploadUnggah file melalui URL presigned0
import/urlImpor file dari URL0
import/base64Impor file dari data base640
convertKonversi antarformat1-4
optimizeKompres/optimalkan file1
thumbnailBuat gambar mini pratinjau1
mergeGabungkan beberapa PDF dan/atau gambar menjadi satu PDF1
watermarkTambahkan tanda air teks atau gambar ke gambar, video, atau PDF1
splitEkstrak halaman dari PDF, atau pisahkan menjadi satu PDF per halaman (ZIP)1
rotatePutar halaman PDF sebesar 90, 180, atau 270 derajat1
resizeUbah ukuran gambar berdasarkan lebar, tinggi, atau persentase, dengan proporsi tetap1
gifUbah klip video menjadi GIF animasi (awal, durasi, fps, lebar)2
ocrKenali teks dalam PDF atau gambar (14 bahasa, sama seperti halaman OCR)3
capture-websiteAmbil tangkapan situs web publik sebagai PDF, PNG, atau JPG1
metadataEkstrak metadata file1
export/urlDapatkan URL unduhan bertanda tangan0
export/s3Ekspor langsung ke bucket S3 Anda0

Pasangan format yang didukung

Konversi populer. Format terdeteksi otomatis dari file, tetapi Anda juga dapat mengatur input_format secara eksplisit.

KategoriFormat masukanFormat keluaran
Dokumenpdf, docx, doc, odt, rtf, txt, htmlpdf, docx, odt, rtf, txt, html
Lembar kerjaxlsx, xls, ods, csvxlsx, ods, csv, pdf
Presentasipptx, ppt, odppptx, odp, pdf
Gambarjpg, png, gif, bmp, tiff, webp, svg, heicjpg, png, gif, bmp, tiff, webp
Videomp4, avi, mov, mkv, webmmp4, avi, mov, mkv, webm, gif
Audiomp3, wav, ogg, flac, aac, m4amp3, wav, ogg, flac, aac

Opsi kualitas dan pemrosesan

Kirimkan opsi ini dalam objek options pada task konversi.

qualityinteger

Kualitas keluaran untuk format lossy (1-100). Bawaan: 85.

densityinteger

DPI untuk konversi dokumen ke gambar. Bawaan: 150.

widthinteger

Ubah ukuran ke lebar ini dalam piksel. Rasio aspek dipertahankan jika height tidak diisi.

heightinteger

Ubah ukuran ke tinggi ini dalam piksel. Rasio aspek dipertahankan jika width tidak diisi.

pagesstring

Rentang halaman untuk operasi dokumen. Mis. 1-5, 1,3,5, all.

Contoh: PNG berkualitas tinggi pada 300 DPI
{
  "convert-hq": {
    "operation": "convert",
    "input": ["import-file"],
    "output_format": "png",
    "options": {
      "density": 300,
      "quality": 95
    }
  }
}

Webhook

Daftarkan URL webhook untuk menerima notifikasi waktu nyata saat status job atau task berubah. Semua payload ditandatangani dengan HMAC-SHA256 sehingga Anda dapat memverifikasi bahwa payload tersebut berasal dari ConvertFly.

Membuat webhook

POST/api/v1/webhooks
urlstringwajib

URL HTTPS yang menerima event webhook.

eventsstring[]wajib

Jenis event yang ingin Anda langgani.

curl
curl -X POST https://convertfly.io/api/v1/webhooks \
  -H "Authorization: Bearer cvfly_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/convertfly",
    "events": ["job.finished", "job.failed"]
  }'
Respons (201 Created)
{
  "data": {
    "id": "wh_Abc123...",
    "url": "https://your-app.com/webhooks/convertfly",
    "events": ["job.finished", "job.failed"],
    "signing_secret": "whsec_9f8e7d6c5b4a...",
    "created_at": "2026-04-03T10:30:00Z"
  }
}

Melihat daftar webhook

GET/api/v1/webhooks

Menghapus webhook

DELETE/api/v1/webhooks/:id

Jenis event

EventPemicu
job.finishedSemua task dalam job berhasil diselesaikan
job.failedSatu atau beberapa task gagal, job berstatus ERROR
task.finishedSatu task selesai
task.failedSatu task gagal

Payload webhook

POST ke URL webhook Anda
{
  "event": "job.finished",
  "timestamp": "2026-04-03T10:31:15Z",
  "data": {
    "id": "job_7kX9mP2qR",
    "status": "finished",
    "tasks": { ... }
  }
}

Memverifikasi tanda tangan

Setiap permintaan webhook menyertakan dua header: X-Webhook-Signature dan X-Webhook-Timestamp. Verifikasi keduanya untuk memastikan payload dikirim oleh ConvertFly dan tidak diubah.

Node.js
import crypto from "crypto";

function verifyWebhook(rawBody, signature, timestamp, secret) {
  const signedContent = timestamp + "." + rawBody;
  const expected = "v1=" + crypto
    .createHmac("sha256", secret)
    .update(signedContent)
    .digest("hex");

  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signature)
  );
}
Python
import hmac, hashlib

def verify_webhook(raw_body: bytes, signature: str, timestamp: str, secret: str) -> bool:
    signed_content = f"{timestamp}.{raw_body.decode()}"
    expected = "v1=" + hmac.new(
        secret.encode(), signed_content.encode(), hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

Kunci API

Kelola kunci API secara terprogram. Anda juga dapat mengelola kunci dari dasbor.

Membuat kunci API

POST/api/v1/api-keys
namestringwajib

Nama deskriptif untuk kunci.

scopesstring[]

Izin yang diberikan. Bawaan: ["*"] (akses penuh).

Respons (201 Created)
{
  "data": {
    "id": "key_Xk9m...",
    "name": "production-server",
    "key": "cvfly_sk_live_abc123def456...",
    "scopes": ["*"],
    "created_at": "2026-04-03T10:30:00Z"
  }
}

Penting: Kunci API lengkap hanya ditampilkan sekali saat dibuat. Simpan dengan aman; Anda tidak akan dapat mengambilnya lagi.

Melihat daftar kunci API

GET/api/v1/api-keys

Mencabut kunci API

DELETE/api/v1/api-keys/:id

Langsung membatalkan validitas kunci. Setiap permintaan yang menggunakannya akan mengembalikan 401.

Pembatasan laju

Permintaan API dibatasi lajunya per kunci API untuk memastikan penggunaan yang adil. Jika Anda melampaui batas, permintaan mengembalikan 429 Too Many Requests.

Batas bawaan

Setiap kunci API mengizinkan 100 permintaan per jam. Batas dan jendela waktu saat ini untuk sebuah kunci dikembalikan sebagai rate_limit dan rate_limit_window (detik) saat Anda melihat daftar kunci. Hubungi kami jika integrasi Anda memerlukan batas yang lebih tinggi.

Header respons

Setiap respons atas permintaan yang dibuat dengan kunci API menyertakan header berikut:

X-RateLimit-Limitheader

Jumlah maksimum permintaan yang diizinkan dalam jendela waktu saat ini.

X-RateLimit-Remainingheader

Sisa permintaan dalam jendela waktu saat ini.

X-RateLimit-Resetheader

Stempel waktu Unix saat jendela waktu diatur ulang.

Retry-Afterheader

Jumlah detik yang harus ditunggu sebelum mencoba lagi (hanya pada respons 429).

Contoh respons 429
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1743681600
Retry-After: 3600

{
  "code": "RATE_LIMIT_EXCEEDED",
  "message": "Rate limit exceeded. 100 requests per 3600s allowed."
}

Kesalahan

ConvertFly menggunakan kode status HTTP konvensional. Semua respons kesalahan mengikuti format yang konsisten dengan code yang dapat dibaca mesin dan message yang dapat dibaca manusia.

Format respons kesalahan

JSON
{
  "code": "INVALID_DATA",
  "message": "Missing required field: output_format",
  "details": {
    "field": "output_format",
    "reason": "required"
  }
}

Kode kesalahan

KodeHTTPDeskripsi
INVALID_DATA400Isi permintaan atau parameter tidak valid
UNAUTHENTICATED401Kunci API tidak ada atau tidak valid
FORBIDDEN403Kunci API tidak memiliki cakupan yang diperlukan untuk operasi ini
NOT_FOUND404Sumber daya tidak ada atau telah dihapus
CONFLICT409Sumber daya sudah ada atau operasi bertentangan dengan status saat ini
PAYLOAD_TOO_LARGE413Isi permintaan melebihi ukuran maksimum yang diizinkan
UNSUPPORTED_FORMAT422Konversi yang diminta tidak didukung
RATE_LIMIT_EXCEEDED429Batas laju terlampaui, lihat Pembatasan laju
INSUFFICIENT_CREDITS402Kredit tidak cukup untuk menyelesaikan operasi
SERVER_ERROR500Kesalahan internal server; coba lagi atau hubungi dukungan
UNAVAILABLE503Layanan untuk sementara tidak tersedia; coba lagi sebentar lagi

Menangani kesalahan

JavaScript
const res = await fetch("https://convertfly.io/api/v1/jobs", {
  method: "POST",
  headers: {
    "Authorization": "Bearer cvfly_sk_...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ tasks: { /* ... */ } }),
});

if (!res.ok) {
  const error = await res.json();
  console.error(`[${error.code}] ${error.message}`);
  // "[INVALID_DATA] Missing required field: output_format"
  return;
}

const { data: job } = await res.json();

Kredit

Setiap operasi memerlukan sejumlah kredit tertentu. Operasi impor dan ekspor gratis. Sisa saldo Anda disertakan di setiap respons API melalui header X-Credits-Remaining.

Biaya kredit per jenis konversi

OperasiBiayaContoh
Impor / EksporGratisimport/url, import/upload, export/url, export/s3
Konversi gambar1 kreditjpg ke png, webp ke gif, heic ke jpg
Konversi audio1 kreditmp3 ke wav, flac ke aac
Dokumen ke PDF1 kredittxt ke pdf, html ke pdf, md ke pdf
Office ke PDF2 kreditdocx ke pdf, pptx ke pdf, xlsx ke pdf
Konversi video2 kreditmp4 ke webm, mov ke mp4
PDF ke Office4 kreditpdf ke docx, pdf ke pptx
Optimalkan1 kreditKompres gambar, PDF
Gambar mini1 kreditBuat gambar pratinjau
Gabungkan1 kreditGabungkan beberapa PDF
Tanda air1 kreditTambahkan lapisan teks/gambar
Pisahkan PDF1 kreditEkstrak halaman 1-3, 7 atau satu file per halaman
Putar PDF1 kreditPutar semua halaman atau sebagian saja
Ubah ukuran gambar1 kreditLebar 1200 px, 50 persen
Pembuat GIF2 kreditKlip mp4 ke gif, harga sama dengan konversi video
Tangkapan situs web1 kreditRender URL menjadi PDF atau gambar
OCR3 kreditJadikan PDF hasil pindaian dapat dicari
Metadata1 kreditEkstrak info file

Memeriksa saldo Anda

Setiap respons API menyertakan header X-Credits-Remaining dengan saldo Anda saat ini.

Header respons
HTTP/1.1 201 Created
Content-Type: application/json
X-Credits-Remaining: 9847
X-Credits-Used: 2

Jika saldo Anda terlalu rendah untuk menyelesaikan job, API mengembalikan 402 dengan kode kesalahan INSUFFICIENT_CREDITS. Isi ulang kredit di dasbor tagihan Anda.

Lingkungan uji

Kunci sandbox memungkinkan Anda membangun dan menguji integrasi secara menyeluruh tanpa memakai kredit. Buat kunci dengan "sandbox": true; kunci ini diawali cf_test_, bukan cvfly_sk_. Semuanya berfungsi persis seperti di produksi, dengan tiga perbedaan.

KreditTidak pernah ditagih. Saldo Anda tidak tersentuh.
Ukuran fileMasukan dibatasi hingga 5 MB.
HasilGambar, video, dan PDF diberi watermark "ConvertFly SANDBOX".
Membuat kunci sandbox
curl -X POST https://convertfly.io/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_LIVE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sandbox", "sandbox": true}'

# Response includes: "key": "cf_test_...", "is_sandbox": true

Siap mulai membangun?

Buat akun gratis Anda dan uji API dengan kunci sandbox, tanpa biaya.

Data Anda

Tanpa iklan dan jaringan iklan, jadi tidak ada yang perlu ditolak. Inilah yang kami gunakan.

File Anda

Disimpan terenkripsi dan dihapus 24 jam setelah diunggah.

Cookie penting

Selalu aktif
KegunaanNamaDurasi
Mengingat bahasa AndaNEXT_LOCALESampai browser ditutup
Menghitung kuota gratis Andacf_free1 tahun
Menjaga status masuk Andaauthjs.*30 hari, jika Anda punya akun

Plausible, di-hosting oleh Dizzus, tanpa cookie. Kami melihat total, bukan orang.

Penyedia layanan: Stripe untuk pembayaran, Cloudflare untuk DNS dan perlindungan dari bot. Kebijakan privasi