AiFO AiFO مستندات AiFO

نمای کلی

Gateway AiFO endpoint تولید موسیقی را به‌صورت یکپارچه در اختیار توسعه‌دهندگان قرار می‌دهد. Provider زیرساختی این قابلیت ElevenLabs است؛ احراز هویت، کیف پول و صورتحساب از طریق AiFO انجام می‌شود.

  • POST /v1/music/generations — تولید موسیقی از prompt
  • پاسخ binary audio با Content-Type مناسب (مثلاً audio/mpeg)
  • صورتحساب: واحد per_music_minute بر اساس مدت درخواستی

احراز هویت

مثل بقیه endpointهای gateway، هدر Authorization با Bearer و API Key پلتفرم AiFO الزامی است.

Authorization: Bearer aifo_sk_live_YOUR_API_KEY

درخواست

فیلدهای اصلی: model، prompt، music_length_ms (الزامی در AiFO برای صورتحساب دقیق؛ بازه ۳۰۰۰ تا ۶۰۰۰۰۰ میلی‌ثانیه طبق API رسمی ElevenLabs). اختیاری: output_format و force_instrumental. composition_plan و inpainting در این نسخه پشتیبانی نمی‌شوند.

curl https://api.aifoapp.ir/v1/music/generations \
  -H "Authorization: Bearer aifo_sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "music_v2",
    "prompt": "Upbeat electronic track for a product demo",
    "music_length_ms": 30000,
    "output_format": "mp3_44100_128",
    "force_instrumental": false
  }' --output music.mp3
import requests

r = requests.post(
    "https://api.aifoapp.ir/v1/music/generations",
    headers={"Authorization": "Bearer aifo_sk_live_YOUR_API_KEY"},
    json={
        "model": "music_v2",
        "prompt": "Upbeat electronic track for a product demo",
        "music_length_ms": 30000,
        "output_format": "mp3_44100_128",
        "force_instrumental": False,
    },
)
open("music.mp3", "wb").write(r.content)
const res = await fetch("https://api.aifoapp.ir/v1/music/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer aifo_sk_live_YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "music_v2",
    prompt: "Upbeat electronic track for a product demo",
    music_length_ms: 30000,
    output_format: "mp3_44100_128",
    force_instrumental: false,
  }),
});
const blob = await res.blob();
import axios from "axios";
import { writeFileSync } from "fs";

const { data } = await axios.post(
  "https://api.aifoapp.ir/v1/music/generations",
  {
    model: "music_v2",
    prompt: "Upbeat electronic track for a product demo",
    music_length_ms: 30000,
    output_format: "mp3_44100_128",
    force_instrumental: false,
  },
  {
    headers: { Authorization: "Bearer aifo_sk_live_YOUR_API_KEY" },
    responseType: "arraybuffer",
  },
);
writeFileSync("music.mp3", Buffer.from(data));

پاسخ و صورتحساب

پاسخ موفق body باینری صوت است. usage بر اساس ceil(music_length_ms / 1000) ثانیه محاسبه و با واحد per_music_minute صورتحساب می‌شود. قیمت پایه provider طبق صفحه pricing رسمی ElevenLabs Music برابر ۰٫۱۵ دلار به ازای هر دقیقه است و ضریب پلتفرم MUSIC روی آن اعمال می‌شود. در صورت خطای provider، کیف پول کسر نمی‌شود.

محدودیت‌های MVP

  • فقط مسیر prompt (بدون composition_plan)
  • بدون inpainting / stems / streaming جداگانه
  • بدون ذخیره دائمی فایل در MinIO — خروجی فقط در پاسخ HTTP