ویدئو · kind=video

API Omni Flash 1.1اومنی فلش ۱.۱ · دریافت کلید API و تولید ویدئو با کد

تولید و ادامهٔ ویدیوی چندورودی با صدای بومی تا طول تجمعی ۴۰ ثانیه؛ فریم شروع/پایان و خروجی تا 4K. مدل Omni Flash 1.1 ساختهٔ Google Gemini است. برای فراخوانی، مقدار model_slug را دقیقاً برابر gemini-omni-flash-1-1 بگذارید.

از ۱۳۱ کردیت ≈ ۷۷٬۲۹۰ تومان · پرداخت ریالی با کردیت · بدون کارت خارجی · بدون نیاز به اشتراک پرو

ارسال تولید · POST /v1/media/generations

curl -sS "https://api.noqte.ai/v1/media/generations" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Idempotency-Key: order-1042-cover-v1" \
  -H "Content-Type: application/json" \
  -d '{
  "model_slug": "gemini-omni-flash-1-1",
  "prompt": "A calm cinematic scene at sunrise, soft light",
  "params": {
    "duration": "6",
    "quality": "360p"
  },
  "max_credits": 20
}'
import os
import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}

payload = {
    "model_slug": "gemini-omni-flash-1-1",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "6",
        "quality": "360p",
    },
    "max_credits": 20,
}

response = requests.post(
    f"{BASE}/generations",
    json=payload,
    headers={**HEADERS, "Idempotency-Key": "order-1042-cover-v1"},
    timeout=60,
)
data = response.json()
if not response.ok:
    raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
print(data)
const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

const response = await fetch(`${BASE}/generations`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json", "Idempotency-Key": "order-1042-cover-v1" },
  body: JSON.stringify({
    model_slug: "gemini-omni-flash-1-1",
    prompt: "A calm cinematic scene at sunrise, soft light",
    params: {
      duration: "6",
      quality: "360p"
    },
    max_credits: 20
  }),
});
const data = await response.json();
if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
console.log(data);
<?php
$base = "https://api.noqte.ai/v1/media";
$headers = [
    "Authorization: Bearer " . getenv("NOQTE_MEDIA_KEY"),
    "Idempotency-Key: order-1042-cover-v1",
    "Content-Type: application/json",
];

$payload = [
    "model_slug" => "gemini-omni-flash-1-1",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "6",
        "quality" => "360p",
    ],
    "max_credits" => 20,
];

$ch = curl_init("$base/generations");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);

$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($body, true);
if ($status >= 400) {
    throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
}
print_r($data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
	"strings"
)

func main() {
	payload := `{
	  "model_slug": "gemini-omni-flash-1-1",
	  "prompt": "A calm cinematic scene at sunrise, soft light",
	  "params": {
	    "duration": "6",
	    "quality": "360p"
	  },
	  "max_credits": 20
	}`

	req, err := http.NewRequest("POST", "https://api.noqte.ai/v1/media/generations", strings.NewReader(payload))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))
	req.Header.Set("Idempotency-Key", "order-1042-cover-v1")

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	data, _ := io.ReadAll(res.Body)
	fmt.Println(res.StatusCode, string(data))
}
قیمت پیش‌فرض
۱۳۱ کردیت ≈ ۷۷٬۲۹۰ تومان
واحد قیمت
به ازای هر ثانیه
خروجی
ویدئو
پرامپت
الزامی · تا ۴۰٬۰۰۰ کاراکتر

01 · Contract

قرارداد ورودی این مدل

فقط نام گروه‌ها و مقدارهای زیر برای این مدل معتبرند؛ گزینهٔ ناشناخته پیش از کسر کردیت با خطای 422 رد می‌شود. به‌روز شده در ۱۶ شهریور ۱۴۰۵ از کاتالوگ زندهٔ نقطه؛ مرجع نهایی پاسخ GET /v1/media/models است.

params — گروه‌های گزینه و مقدارهای مجاز

گروهمقدارهای مجاز (id)قیمت با این گزینه
duration33 ثانیه44 ثانیه55 ثانیه66 ثانیهپیش‌فرض77 ثانیه88 ثانیه99 ثانیه1010 ثانیه۶۶ تا ۲۱۸ کردیت
quality360pپیش‌نویس · 360pپیش‌فرض720pHD · 720p1080pآپ‌اسکیل · 1080p4Kآپ‌اسکیل · 4K۱۳۱ تا ۱٬۱۶۳ کردیت
size16:9پیش‌فرض9:16۱۳۱ کردیت
count1یک خروجیپیش‌فرض2دو خروجی3سه خروجی4چهار خروجی۱۳۱ تا ۵۲۴ کردیت

ورودی‌ها

ورودیفیلدحداکثرالزامی
متن · پرامپتprompt۴۰٬۰۰۰ کاراکتربله
تصویر · تصاویر مرجع شخصیت، محصول، صحنه یا استایلrefs۷خیر
ویدئو · ویدیوهای مرجع حرکت، شخصیت یا استایلrefs۳خیر
تصویر · فریم شروع (اختیاری)ref_slots.first_frame۱خیر
تصویر · فریم پایانی (اختیاری)ref_slots.last_frame۱خیر
ویدئو · ویدیوی مبدأ برای ادامه؛ ۱ تا ۳۰ ثانیه (خروجی تا ۴۰ ثانیه)ref_slots.source_video۱خیر

فایل‌های مرجع اول با POST /v1/media/uploads ثبت می‌شوند و بعد شناسهٔ برگشتی در refs یا برای ورودی‌های نقش‌دار در ref_slots می‌آید؛ URL یا مسیر فایل پذیرفته نمی‌شود. سقف حجم، فرمت و مدت مجاز هر ورودی در پاسخ کاتالوگ همین مدل می‌آید.

این مدل یا با فریم شروع و فریم پایانی کار می‌کند یا با تصاویر مرجع، ویدیوهای مرجع، ویدیوی مبدأ — هم‌زمان نه. با دادن فریم، بقیهٔ ورودی‌ها برای این ساخت کنار می‌روند.

02 · Samples

نمونهٔ درخواست با gemini-omni-flash-1-1

اول قیمت همین ورودی را بگیرید، بعد با max_credits و یک Idempotency-Key ثابت ارسال کنید و تا completed پیگیری کنید.

برآورد هزینه — بدون کسر کردیت

curl -sS "https://api.noqte.ai/v1/media/estimate" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_slug": "gemini-omni-flash-1-1",
  "prompt": "A calm cinematic scene at sunrise, soft light",
  "params": {
    "duration": "6",
    "quality": "360p"
  }
}'
import os
import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}

payload = {
    "model_slug": "gemini-omni-flash-1-1",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "6",
        "quality": "360p",
    },
}

response = requests.post(
    f"{BASE}/estimate",
    json=payload,
    headers=HEADERS,
    timeout=60,
)
data = response.json()
if not response.ok:
    raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
print(data)
const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

const response = await fetch(`${BASE}/estimate`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({
    model_slug: "gemini-omni-flash-1-1",
    prompt: "A calm cinematic scene at sunrise, soft light",
    params: {
      duration: "6",
      quality: "360p"
    }
  }),
});
const data = await response.json();
if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
console.log(data);
<?php
$base = "https://api.noqte.ai/v1/media";
$headers = [
    "Authorization: Bearer " . getenv("NOQTE_MEDIA_KEY"),
    "Content-Type: application/json",
];

$payload = [
    "model_slug" => "gemini-omni-flash-1-1",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "6",
        "quality" => "360p",
    ],
];

$ch = curl_init("$base/estimate");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);

$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($body, true);
if ($status >= 400) {
    throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
}
print_r($data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
	"strings"
)

func main() {
	payload := `{
	  "model_slug": "gemini-omni-flash-1-1",
	  "prompt": "A calm cinematic scene at sunrise, soft light",
	  "params": {
	    "duration": "6",
	    "quality": "360p"
	  }
	}`

	req, err := http.NewRequest("POST", "https://api.noqte.ai/v1/media/estimate", strings.NewReader(payload))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	data, _ := io.ReadAll(res.Body)
	fmt.Println(res.StatusCode, string(data))
}

پاسخ پذیرش — 202 application/json

202 application/json
{
  "request_id": "req_9f1c2d3e4a5b6c7d8e9f0a1b2c3d4e5f",
  "generation": {
    "id": "0f3a9c2e7b1d4a6c8e5f2b9d1c7a3e4f",
    "request_id": "req_9f1c2d3e4a5b6c7d8e9f0a1b2c3d4e5f",
    "api_key_id": 51,
    "kind": "video",
    "model_slug": "gemini-omni-flash-1-1",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
      "duration": "6",
      "quality": "360p"
    },
    "texts": {},
    "status": "pending",
    "created_at": "2026-09-05T10:00:00+00:00",
    "completed_at": null,
    "charged_credits": 12,
    "refunded_credits": 0,
    "net_credits": 12,
    "billing_status": "charged",
    "outputs": [],
    "error": null
  },
  "replayed": false,
  "poll_after_seconds": 5
}

جریان کامل: برآورد ← ارسال ← پیگیری تا آماده‌شدن خروجی

# کلید را فقط در متغیر محیطی نگه دارید؛ نیازمند curl و jq
export NOQTE_MEDIA_KEY='sk-media-…'
BASE='https://api.noqte.ai/v1/media'
PAYLOAD='{"model_slug":"gemini-omni-flash-1-1","prompt":"A calm cinematic scene at sunrise, soft light","params":{"duration":"6","quality":"360p"}}'

# ۱) برآورد — بدون کسر کردیت
curl -sS "$BASE/estimate" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

# ۲) ارسال تولید — شناسهٔ تکرار را یک‌بار بسازید و در retry همان را بفرستید
OP_ID="$(uuidgen)"
GEN_ID=$(curl -sS "$BASE/generations" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Idempotency-Key: $OP_ID" \
  -H "Content-Type: application/json" \
  -d "$(printf '%s' "$PAYLOAD" | jq '. + {max_credits: 20}')" | jq -r '.generation.id')

# ۳) پیگیری هر ۵ ثانیه تا completed یا failed
while :; do
  STATUS=$(curl -sS "$BASE/generations/$GEN_ID" -H "Authorization: Bearer $NOQTE_MEDIA_KEY")
  STATE=$(printf '%s' "$STATUS" | jq -r '.generation.status')
  [ "$STATE" = completed ] || [ "$STATE" = failed ] && break
  sleep 5
done
printf '%s\n' "$STATUS" | jq '.generation | {status, net_credits, billing_status, outputs}'
import os
import time
import uuid

import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}


def call(method, path, **kwargs):
    response = requests.request(method, f"{BASE}{path}", headers={**HEADERS, **kwargs.pop("headers", {})}, timeout=60, **kwargs)
    data = response.json()
    if not response.ok:
        raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
    return data


payload = {
    "model_slug": "gemini-omni-flash-1-1",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "6",
        "quality": "360p",
    },
}

# ۱) برآورد — بدون کسر کردیت
estimate = call("POST", "/estimate", json=payload)
print("credits:", estimate["credits"], "wallet:", estimate["wallet_balance"])

# ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
operation_id = str(uuid.uuid4())
accepted = call(
    "POST",
    "/generations",
    json={**payload, "max_credits": estimate["credits"]},
    headers={"Idempotency-Key": operation_id},
)
generation = accepted["generation"]

# ۳) پیگیری تا completed یا failed
while generation["status"] in ("pending", "running"):
    time.sleep(accepted.get("poll_after_seconds") or 5)
    generation = call("GET", f"/generations/{generation['id']}")["generation"]

if generation["status"] == "failed":
    raise RuntimeError(f"{generation['error']['code']} — billing: {generation['billing_status']}")

for output in generation["outputs"]:
    print(output["url"])  # لینک امضاشده و زمان‌دار
import { randomUUID } from "node:crypto";

const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

async function call(path, init = {}) {
  const response = await fetch(`${BASE}${path}`, {
    ...init,
    headers: { ...headers, "Content-Type": "application/json", ...init.headers },
    signal: AbortSignal.timeout(60_000),
  });
  const data = await response.json();
  if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
  return data;
}

const payload = {
  model_slug: "gemini-omni-flash-1-1",
  prompt: "A calm cinematic scene at sunrise, soft light",
  params: {
    duration: "6",
    quality: "360p"
  }
};

// ۱) برآورد — بدون کسر کردیت
const estimate = await call("/estimate", { method: "POST", body: JSON.stringify(payload) });
console.log("credits:", estimate.credits, "wallet:", estimate.wallet_balance);

// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
const operationId = randomUUID();
const accepted = await call("/generations", {
  method: "POST",
  headers: { "Idempotency-Key": operationId },
  body: JSON.stringify({ ...payload, max_credits: estimate.credits }),
});
let { generation } = accepted;

// ۳) پیگیری تا completed یا failed
while (generation.status === "pending" || generation.status === "running") {
  await new Promise((resolve) => setTimeout(resolve, (accepted.poll_after_seconds ?? 5) * 1000));
  ({ generation } = await call(`/generations/${generation.id}`));
}

if (generation.status === "failed") {
  throw new Error(`${generation.error.code} — billing: ${generation.billing_status}`);
}
for (const output of generation.outputs) console.log(output.url); // لینک امضاشده و زمان‌دار
<?php
$base = "https://api.noqte.ai/v1/media";
$key = getenv("NOQTE_MEDIA_KEY");

function call(string $method, string $path, ?array $json = null, array $extraHeaders = []): array
{
    global $base, $key;
    $ch = curl_init($base . $path);
    $headers = array_merge(["Authorization: Bearer $key", "Content-Type: application/json"], $extraHeaders);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CUSTOMREQUEST => $method,
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_POSTFIELDS => $json === null ? null : json_encode($json, JSON_UNESCAPED_UNICODE),
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    $data = json_decode($body, true);
    if ($status >= 400) {
        throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
    }
    return $data;
}

$payload = [
    "model_slug" => "gemini-omni-flash-1-1",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "6",
        "quality" => "360p",
    ],
];

// ۱) برآورد — بدون کسر کردیت
$estimate = call("POST", "/estimate", $payload);
echo "credits: {$estimate['credits']}\n";

// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
$operationId = bin2hex(random_bytes(16));
$accepted = call("POST", "/generations", $payload + ["max_credits" => $estimate["credits"]], ["Idempotency-Key: $operationId"]);
$generation = $accepted["generation"];

// ۳) پیگیری تا completed یا failed
while (in_array($generation["status"], ["pending", "running"], true)) {
    sleep($accepted["poll_after_seconds"] ?? 5);
    $generation = call("GET", "/generations/{$generation['id']}")["generation"];
}

if ($generation["status"] === "failed") {
    throw new RuntimeException($generation["error"]["code"] . " — billing: " . $generation["billing_status"]);
}
foreach ($generation["outputs"] as $output) {
    echo $output["url"], "\n"; // لینک امضاشده و زمان‌دار
}
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
	"os"
	"time"

	"github.com/google/uuid"
)

const base = "https://api.noqte.ai/v1/media"

func call(method, path string, body any, headers map[string]string) map[string]any {
	var reader *bytes.Reader
	if body != nil {
		raw, _ := json.Marshal(body)
		reader = bytes.NewReader(raw)
	} else {
		reader = bytes.NewReader(nil)
	}
	req, err := http.NewRequest(method, base+path, reader)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))
	req.Header.Set("Content-Type", "application/json")
	for k, v := range headers {
		req.Header.Set(k, v)
	}
	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	var data map[string]any
	json.NewDecoder(res.Body).Decode(&data)
	if res.StatusCode >= 400 {
		e := data["error"].(map[string]any)
		panic(fmt.Sprintf("%d %v: %v", res.StatusCode, e["code"], e["message"]))
	}
	return data
}

func main() {
	payload := map[string]any{
		"model_slug": "gemini-omni-flash-1-1",
		"prompt":     "A calm cinematic scene at sunrise, soft light",
		"params":     map[string]string{"duration": "6", "quality": "360p"},
	}

	// ۱) برآورد — بدون کسر کردیت
	estimate := call("POST", "/estimate", payload, nil)
	fmt.Println("credits:", estimate["credits"])

	// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
	payload["max_credits"] = estimate["credits"]
	accepted := call("POST", "/generations", payload, map[string]string{"Idempotency-Key": uuid.NewString()})
	generation := accepted["generation"].(map[string]any)

	// ۳) پیگیری تا completed یا failed
	for generation["status"] == "pending" || generation["status"] == "running" {
		time.Sleep(5 * time.Second)
		generation = call("GET", "/generations/"+generation["id"].(string), nil, nil)["generation"].(map[string]any)
	}
	if generation["status"] == "failed" {
		panic(fmt.Sprintf("%v — billing: %v", generation["error"], generation["billing_status"]))
	}
	for _, output := range generation["outputs"].([]any) {
		fmt.Println(output.(map[string]any)["url"]) // لینک امضاشده و زمان‌دار
	}
}

03 · API key

دریافت کلید API Omni Flash 1.1

یک کلید تولید محتوا برای همهٔ مدل‌های فعال نقطه کافی است؛ هزینه با کردیت کیف پول و به‌صورت ریالی پرداخت می‌شود و اشتراک پرو لازم نیست.

  1. 01

    ثبت‌نام یا ورود به نقطه

    با شمارهٔ موبایل یا ایمیل. نیازی به کارت بین‌المللی، اشتراک دلاری یا پلن پرو نیست.

  2. 02

    شارژ کیف پول با کردیت

    پرداخت ریالی؛ هزینهٔ هر تولید از همین موجودی کسر می‌شود و قبل از هر درخواست قابل برآورد است.

  3. 03

    ساخت کلید تولید محتوا

    از «کلیدهای API → تولید محتوا» یک کلید sk-media بسازید؛ در صورت نیاز آن را فقط به همین مدل محدود و برایش سقف کردیت روزانه بگذارید.

  4. 04

    اجرای اولین درخواست

    همین نمونهٔ صفحه را با کلید خود اجرا کنید: برآورد، ارسال با Idempotency-Key و پیگیری تا آماده‌شدن خروجی.

04 · FAQ

پرسش‌های پرتکرار دربارهٔ API Omni Flash 1.1

چطور کلید API Omni Flash 1.1 بگیرم؟

در نقطه ثبت‌نام کنید، کیف پول را با کردیت شارژ کنید و از بخش «کلیدهای API → تولید محتوا» یک کلید بسازید. مدل Omni Flash 1.1 ساختهٔ Google Gemini است و همان کلید برای همهٔ مدل‌های فعال نقطه کار می‌کند؛ کافی است model_slug را برابر gemini-omni-flash-1-1 بگذارید.

قیمت API Omni Flash 1.1 چقدر است؟

پیکربندی پیش‌فرض Omni Flash 1.1 ۱۳۱ کردیت ≈ ۷۷٬۲۹۰ تومان هزینه دارد و به ازای هر ثانیه محاسبه می‌شود؛ گزینه‌ها (کیفیت، مدت، تعداد خروجی) می‌توانند قیمت را تغییر دهند. قیمت دقیق هر ورودی را قبل از تولید از endpoint برآورد بگیرید؛ برآورد کردیتی کسر نمی‌کند.

برای استفاده از API Omni Flash 1.1 به کارت خارجی یا VPN نیاز دارم؟

نه. پرداخت ریالی و با کردیت کیف پول نقطه انجام می‌شود و درخواست‌ها به آدرس پایهٔ نقطه ارسال می‌شوند؛ اشتراک پرو هم لازم نیست.

Omni Flash 1.1 چه ورودی‌هایی می‌پذیرد؟

علاوه بر پرامپت، تصویر (تصاویر مرجع شخصیت، محصول، صحنه یا استایل، تا ۷ فایل)، ویدئو (ویدیوهای مرجع حرکت، شخصیت یا استایل، تا ۳ فایل)، تصویر (فریم شروع (اختیاری)، تا ۱ فایل)، تصویر (فریم پایانی (اختیاری)، تا ۱ فایل)، ویدئو (ویدیوی مبدأ برای ادامه؛ ۱ تا ۳۰ ثانیه (خروجی تا ۴۰ ثانیه)، تا ۱ فایل) پذیرفته می‌شود. فایل‌های مرجع اول با POST /v1/media/uploads ثبت می‌شوند و شناسهٔ برگشتی در refs یا ref_slots می‌آید.

خروجی ویدئو Omni Flash 1.1 را چطور دریافت کنم؟

پاسخ ارسال 202 است. وضعیت را هر پنج ثانیه از GET /v1/media/generations/{id} بخوانید؛ وقتی completed شد، outputs لینک امضاشده و زمان‌دار (حدود یک ساعت) خروجی را دارد. فایل را در فضای خودتان ذخیره کنید.

Omni Flash 1.1 را از کد صدا بزنید

کلید تولید محتوا بسازید، مجموعهٔ Postman را import کنید و همین نمونه را با کلید خودتان اجرا کنید.