Gambar, audio & video
Setiap endpoint di halaman ini hanya bisa dipakai dengan model yang punya fitur tersebut di AI → Katalog. Ukuran atau kualitas yang tidak punya tarif di katalog ditolak dengan LLM_UNIT_NOT_PRICED sebelum apa pun dikirim ke provider, jadi tidak ada yang ditagih.
Membuat gambar
Section titled “Membuat gambar”POST https://api.satupod.com/v1/images/generationsimport base64
result = client.images.generate( model="NAMA_MODEL_GAMBAR", prompt="Maskot robot biru di atas server, gaya ilustrasi datar", size="1024x1024", n=1,)with open("gambar.png", "wb") as f: f.write(base64.b64decode(result.data[0].b64_json))sizeberbentukLEBARxTINGGI, bawaannya1024x1024.autoditolak, karena harga dihitung dari ukuran yang diminta.npaling banyak 4. Yang ditagih hanya gambar yang benar-benar kembali.- Jawaban selalu
b64_json.response_format: "url"ditolak. - Ditagih per gambar, sesuai tarif ukuran dan kualitas di katalog.
Teks ke suara
Section titled “Teks ke suara”POST https://api.satupod.com/v1/audio/speechresponse = client.audio.speech.create( model="NAMA_MODEL_SUARA", voice="ID_SUARA", input="Selamat datang di Satupod.",)response.write_to_file("salam.mp3")inputpaling banyak 4096 karakter.voiceadalah ID suara milik provider model itu.response_format:mp3(bawaan),opus,aac,flac,wav, ataupcm.- Jawabannya berkas audio, bukan JSON. Tidak ada streaming.
- Ditagih per karakter yang dikirim.
Transkripsi audio
Section titled “Transkripsi audio”POST https://api.satupod.com/v1/audio/transcriptionswith open("rapat.mp3", "rb") as f: result = client.audio.transcriptions.create( model="NAMA_MODEL_TRANSKRIPSI", file=f, language="id", )print(result.text)- Body berbentuk
multipart/form-data. Berkas paling besar 25 MB; di atas itu ditolak denganLLM_AUDIO_TOO_LARGE(HTTP 413). - Field:
file(wajib),model,language,prompt,temperature,response_format(jsonbawaan,text,verbose_json,srt, atauvtt). - Ditagih per detik audio sesuai durasi yang dilaporkan provider. Berkasnya tidak disimpan.
Membuat video
Section titled “Membuat video”Pembuatan video berjalan di latar belakang dalam tiga langkah.
POST https://api.satupod.com/v1/videos memulai pekerjaanGET https://api.satupod.com/v1/videos/{id} membaca statusGET https://api.satupod.com/v1/videos/{id}/content mengunduh berkas mp4- Mulai. Kirim
model,prompt,seconds(bawaan 4), dansize(LEBARxTINGGI, bawaan1280x720). Jawabannya objek pekerjaan denganid. - Tunggu. Baca status sampai
completedataufailed. Statusnya:queued,in_progress,completed, ataufailed. - Unduh berkasnya dari
/content, lalu simpan sendiri.
Yang perlu diketahui:
- Video ditagih saat selesai. Pekerjaan yang gagal tidak ditagih.
- Satupod tidak menyimpan video. Berkas hanya tersedia selama provider menyimpannya (lihat
expires_at). Setelah itu jawabannya410 VIDEO_EXPIRED. - Pekerjaan hanya terlihat oleh kunci milik akun yang membuatnya.