🎉 Celebrate 2 Years with GlobalGPT. Built for work, creation, and discovery. Get 50% OFF.
Compare plans
Войти

API documentation

One key, one base URL. Chat is OpenAI-compatible; image, video and audio use a submit-then-poll task API. Prices are in credits and come from the same catalog the API serves, so this page is always current.

Getting started

ItemValue
Base URLhttps://api2.glbgpt.com/ai-api/open/v1
AuthenticationAuthorization: Bearer sk-glb-… — create keys under API Keys. X-API-Key is accepted too.
Limits60 requests/min, 5 concurrent chat streams, 10 media tasks in flight, 5 active keys — per account.
quickstart
from openai import OpenAI

client = OpenAI(
    api_key="sk-glb-...",
    base_url="https://api2.glbgpt.com/ai-api/open/v1",
)

r = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for chunk in r:
    print(chunk.choices[0].delta.content or "", end="")

Chat completions

POST /v1/chat/completions takes the OpenAI request body and returns the OpenAI response, streamed or not. Use any official OpenAI SDK with base_url and the key changed. The model is one of the ids below.

FieldTypeDescription
modelrequiredstringA chat model id from GET /v1/models (type=chat), e.g. gpt-6-astra.
messagesrequiredarrayOpenAI message objects: system / user / assistant / tool. Text and image_url content parts are forwarded as-is.
streambooleantrue = Server-Sent Events chat.completion.chunk frames. The last frame before [DONE] carries usage.
max_tokensintegerOutput cap. Reasoning models spend it on thinking first — a very low value can return an empty message with finish_reason=length.
temperature, top_p, stop, presence_penalty, frequency_penaltyForwarded unchanged to the model when it supports them.
tools, tool_choicearray / stringOpenAI function calling. tool_calls come back in the same shape, streamed or not.
response_formatobjectjson_object / json_schema where the model supports it.
reasoning_effortstringnone | low | medium | high for reasoning models. If you omit it, we apply the model's known-good default.
nintegerOnly 1 is supported.

Not supported (ignored or rejected): logprobs, logit_bias, seed (chat), user, store, metadata (chat). Streaming always ends with a chunk that carries usage followed by data: [DONE]; the non-stream response carries usage as usual. You are billed on usage.prompt_tokens and usage.completion_tokens at the model's per-1K price. Reasoning tokens count as completion tokens.

Tool calling

{
  "model": "gpt-6-astra",
  "messages": [{"role": "user", "content": "What's the weather in Tokyo?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}
    }
  }],
  "tool_choice": "auto"
}

The reply contains message.tool_calls (or streamed delta.tool_calls); answer with a role: "tool" message carrying tool_call_id, exactly like OpenAI.

Chat models & prices

ModelProviderInput / 1K tokensOutput / 1K tokens
glm-5.3Zhipu5 cr15 cr
glm-5.3-flashZhipu1 cr1 cr
glm-5.2Zhipu5 cr15 cr
claude-sonnet-5Anthropic7 cr33 cr
claude-opus-5Anthropic17 cr83 cr
gpt-6-astraOpenAI23 cr117 cr
gpt-5.6-solOpenAI17 cr100 cr
gpt-5.6-lunaOpenAI1 cr4 cr
gpt-5.6-terraOpenAI7 cr40 cr
deepseek-v4.1-flashDeepSeek1 cr4 cr
gpt-5.5OpenAI9 cr78 cr
gpt-4oOpenAI10 cr30 cr
deepseek-v4-proDeepSeek4 cr13 cr
gpt-5.4-nanoOpenAI1 cr4 cr
gpt-5.4-miniOpenAI3 cr15 cr
kimi-k3Moonshot10 cr50 cr
qwen3.8-maxQwen7 cr20 cr
qwen3.8-flashQwen1 cr2 cr
gemini-3.5-flash-liteGoogle1 cr8 cr
gemini-3.8-flashGoogle5 cr25 cr
claude-opus-4.8Anthropic17 cr83 cr
claude-fable-5Anthropic33 cr167 cr
claude-fable-5.1Anthropic33 cr167 cr
claude-opus-4.7Anthropic17 cr83 cr
claude-opus-4.5Anthropic17 cr83 cr
claude-opus-4.6Anthropic17 cr83 cr
claude-haiku-4.5Anthropic3 cr17 cr
gemini-3.1-proGoogle10 cr50 cr
gemini-3.6-flashGoogle5 cr25 cr
gemini-3-proGoogle13 cr60 cr
gemini-omni-flash-previewGoogle5 cr30 cr
gemini-3-flashGoogle2 cr10 cr
gemini-3.1-flash-liteGoogle1 cr5 cr
gemini-2.5-flashGoogle1 cr8 cr
gemini-2.5-proGoogle8 cr50 cr
grok-4.3xAI4 cr8 cr
grok-4.6xAI7 cr20 cr
kimi-k2.6Moonshot3 cr13 cr
muse-spark-1.2Meta4 cr14 cr
muse-spark-1.3Meta4 cr14 cr

Media tasks (image, video, audio)

Media generation is asynchronous. Submit a task, poll it until it is succeeded or failed, then download output.url. Credits are reserved when you submit and released if the task fails. Outputs stay available for 30 days.

MethodPathPurpose
POST /v1/tasksSubmit an image / video / audio task. Credits are reserved now, settled when the task finishes.
GET /v1/tasks/{id}Task status and, once succeeded, the output URL.
GET /v1/tasks?limit=&after=&status=Your recent tasks, newest first, cursor paging via after=<id>.
POST /v1/tasks/estimateSame body as submit; returns the billing tier and credits without creating a task.
GET /v1/models?type=image|video|audioEvery media model with price, tiers (video) and accepted parameters.

Request body — common fields

Every model accepts model and prompt; the rest depends on the model — each model's section below lists exactly what it takes, and GET /v1/models/{id} returns the same in parameters. Fields a model doesn't accept are dropped, not rejected, and echoed back in ignored_parameters so you can spot typos.

FieldTypeDescription
modelrequiredstringMedia model id, e.g. kling-v3, gpt-image-2.5, eleven-v3.
promptstringText prompt. Required for most models; optional for the image tools (remove-bg, face-swap…). Max 20,000 characters, some models cap lower.
imagesstring[]Public https URLs or data: URIs. Order matters where two are needed (face-swap: [face, target]; virtual-tryon: [person, garment]). A single image may also be sent as image.
video_urlstringPublic https URL of a source / reference video, for models that accept one.
aspect_ratiostringe.g. 1:1, 16:9, 9:16, 4:3, 3:4, 21:9 — the set a model accepts follows the provider; unsupported values are rejected by the provider.
resolutionstringOne of the model's listed values (case-insensitive aliases accepted). Changes the price tier.
durationintegerSeconds, within the model's range or set. Changes the price tier. Ignored for fixed-length models.
seedintegerDeterministic sampling where the provider supports it.
negative_promptstringWhat to avoid, for models that support it.
watermarkbooleanProvider watermark on/off where offered.
audiobooleanGenerate audio with the video (kling-v3, kling-v2-6, wan…). Selects the audio price tier.
draftbooleanflux-3-video: cheaper draft render (hd only).
metadataobjectModel-specific extras (see each model's metadata keys). Unknown keys are dropped and reported in ignored_parameters.
Idempotency-Key (header)stringRetry the same submit safely: same key + same body returns the original task (Idempotent-Replayed: true); same key + different body → 422.
tasks
# submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-image-2.5", "prompt": "a red bicycle by a white wall", "aspect_ratio": "1:1"}'

# poll until status is "succeeded" — output.url is the image
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Lifecycle & polling

statusMeaning
queuedAccepted, credits reserved, waiting for a worker.
processingSent to the provider (or being retried after a transient provider error).
succeededoutput.url is ready. Charged the reserved amount (audio models: settled on real length).
failederror.code says why. Reserved credits are released.

Poll GET /v1/tasks/{id} every 5–10 seconds. Typical times: images 10–60 s, audio 20–90 s, video 1–5 minutes. A task object looks like this:

{
  "id": "1169054296717658112",
  "object": "task",
  "model": "kling-v3",
  "type": "video",
  "status": "succeeded",
  "created_at": 1789473066,
  "finished_at": 1789473241,
  "credits_reserved": 500,
  "parameters": {"resolution": "720p", "duration": 3},
  "output": {"url": "https://static.futureshareai.com/open/video/…/….mp4", "type": "video"}
}

// failed
{ "id": "…", "status": "failed",
  "error": {"code": "invalid_input", "message": "The provider rejected the input …", "retryable": false} }
error.coderetryableMeaning
invalid_inputnoProvider rejected the input — unreachable media URL, unsupported combination, or an input without the expected content (e.g. no face detected).
content_policy_violationnoBlocked by the provider's safety policy or a real-person likeness rule.
rate_limitedyesProvider busy. Retry in a moment.
provider_unavailableyesProvider outage after our retries (4 attempts over ~15 minutes). Resubmit later.
generation_failednoAnything else. Not charged.

Estimate before you submit

POST /v1/tasks/estimate with the same body returns the billing tier and credits ({"credits": 500, "billing_model": "kling-v3-720p-3"}) without creating a task or reserving anything.

Image models

Text-to-image models take a prompt and usually an aspect_ratio. Image-editing tools take one or two input images and an optional prompt. Output is a single image URL.

OpenAI · 2

gpt-image-2

OpenAI image generation and editing. Send images for edit / reference; the output is one image.

Inputs: prompt required · images optional (max 4)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
imagesstring[]Up to 4 input image URL(s) for editing or reference.
metadata.backgroundstringtransparent | opaque | autoBackground handling (invalid values are dropped).
metadata.output_formatstringpng | jpeg | webpOutput file format.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gpt-image-2",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "metadata": {
    "background": "auto",
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
gpt-image-2.5

OpenAI image generation and editing. Send images for edit / reference; the output is one image.

Inputs: prompt required · images optional (max 4)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
imagesstring[]Up to 4 input image URL(s) for editing or reference.
  • Runs on a different line than gpt-image-2: metadata.background / output_format are ignored here.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gpt-image-2.5",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

ByteDance · 3

seedream-5.0-lite

ByteDance Seedream text-to-image / image-to-image.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)With aspect_ratio set the image is rendered at that ratio at the chosen tier's total pixels; without it the provider picks the ratio.
resolutionstring2K | 4K (anything lower resolves to 2K)Output resolution tier. Changes the price.
imagesstring[]Up to 10 reference images.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.output_formatstringpng | jpegOutput file format.
metadata.prompt_optimize_modestringstandard | fastHow the provider rewrites the prompt.
  • seed and negative_prompt are not supported by this model (silently ignored).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream-5.0-lite",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "watermark": false,
  "metadata": {
    "output_format": "png",
    "prompt_optimize_mode": "standard"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
seedream-5.0-pro

ByteDance Seedream text-to-image / image-to-image.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)With aspect_ratio set the image is rendered at that ratio at the chosen tier's total pixels; without it the provider picks the ratio.
resolutionstring1K | 2K (no 4K)Output resolution tier. Changes the price.
imagesstring[]Up to 10 reference images.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.output_formatstringpng | jpegOutput file format.
metadata.prompt_optimize_modestringstandard | fastHow the provider rewrites the prompt.
  • seed and negative_prompt are not supported by this model (silently ignored).
  • Interactive edit: put <bbox> / <point> coordinate tags in the prompt alongside images to target a region.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream-5.0-pro",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "watermark": false,
  "metadata": {
    "output_format": "png",
    "prompt_optimize_mode": "standard"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
seedream-4.5

ByteDance Seedream text-to-image / image-to-image.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)With aspect_ratio set the image is rendered at that ratio at the chosen tier's total pixels; without it the provider picks the ratio.
resolutionstring2K | 4K (anything lower resolves to 2K)Output resolution tier. Changes the price.
imagesstring[]Up to 10 reference images.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.output_formatstringpng | jpegOutput file format.
metadata.prompt_optimize_modestringstandard | fastHow the provider rewrites the prompt.
  • seed and negative_prompt are not supported by this model (silently ignored).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream-4.5",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "watermark": false,
  "metadata": {
    "output_format": "png",
    "prompt_optimize_mode": "standard"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Google · 3

nano-banana

Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus 4:5 and 5:4Output aspect ratio.
imagesstring[]Up to 10 reference images (provider cap 14).
seedintegerRandom seed for reproducible output.
  • Flat price; no resolution control (output size follows the model default).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "seed": 42
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
nano-banana-2

Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus 4:5 and 5:4Output aspect ratio.
resolutionstring1K | 0.5K | 2K | 4K (default 1K)Output resolution tier. Changes the price.
imagesstring[]Up to 10 reference images (provider cap 14).
seedintegerRandom seed for reproducible output.
  • Priced by resolution tier. 9:21 is clamped to 9:16.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana-2",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "1K",
  "aspect_ratio": "1:1",
  "seed": 42
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (4)
tiercredits
resolution=1K300
resolution=0.5K200
resolution=2K400
resolution=4K600
nano-banana-pro

Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus 4:5 and 5:4Output aspect ratio.
resolutionstring1K | 2K | 4K (default 1K)Output resolution tier. Changes the price.
imagesstring[]Up to 10 reference images (provider cap 14).
seedintegerRandom seed for reproducible output.
  • Priced by resolution tier (4K is the highest).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana-pro",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "1K",
  "aspect_ratio": "1:1",
  "seed": 42
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (2)
tiercredits
resolution=1K500
resolution=4K1000

Black Forest Labs · 5

flux-dev

Black Forest Labs FLUX text-to-image.

Inputs: prompt required · images optional (max 8)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted)Image tier, mapped to pixel width × height. Does not change the price.
seedintegerRandom seed for reproducible output.
metadata.prompt_upsamplingbooleanLet the provider enrich the prompt.
metadata.output_formatstringjpeg | png | webp (default jpeg)Output file format; invalid values are dropped.
metadata.stepsinteger1–50 (clamped)Diffusion steps.
metadata.guidancenumber1.5–5 (clamped)Guidance scale.
  • Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-dev",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "aspect_ratio": "1:1",
  "seed": 42,
  "metadata": {
    "prompt_upsampling": false,
    "output_format": "png",
    "steps": 28,
    "guidance": 3
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
flux-pro-1.1

Black Forest Labs FLUX text-to-image.

Inputs: prompt required · images optional (max 8)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted)Image tier, mapped to pixel width × height. Does not change the price.
seedintegerRandom seed for reproducible output.
metadata.prompt_upsamplingbooleanLet the provider enrich the prompt.
metadata.output_formatstringjpeg | png | webp (default jpeg)Output file format; invalid values are dropped.
  • Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-pro-1.1",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "aspect_ratio": "1:1",
  "seed": 42,
  "metadata": {
    "prompt_upsampling": false,
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
flux-pro-1.1-ultra

Black Forest Labs FLUX 1.1 Ultra — highest quality, aspect passed straight through, no resolution tier.

Inputs: prompt required · images optional (max 8)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
seedintegerRandom seed for reproducible output.
metadata.prompt_upsamplingbooleanLet the provider enrich the prompt.
metadata.output_formatstringjpeg | png | webp (default jpeg)Output file format; invalid values are dropped.
metadata.rawbooleanLess-processed, more photographic look (Ultra's signature option).
  • Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-pro-1.1-ultra",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "aspect_ratio": "1:1",
  "seed": 42,
  "metadata": {
    "prompt_upsampling": false,
    "output_format": "png",
    "raw": false
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
flux-2-pro

Black Forest Labs FLUX text-to-image.

Inputs: prompt required · images optional (max 8)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted)Image tier, mapped to pixel width × height. Does not change the price.
imagesstring[]Up to 8 reference images (multi-reference).
seedintegerRandom seed for reproducible output.
metadata.prompt_upsamplingbooleanLet the provider enrich the prompt.
metadata.output_formatstringjpeg | png | webp (default jpeg)Output file format; invalid values are dropped.
  • Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-2-pro",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1",
  "seed": 42,
  "metadata": {
    "prompt_upsampling": false,
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
flux-kontext-pro

Black Forest Labs FLUX Kontext — image editing driven by a prompt.

Inputs: prompt required · 1 image required (max 4)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
imagesstring[]1 to 4 input images (required; multi-reference is experimental upstream).
seedintegerRandom seed for reproducible output.
metadata.prompt_upsamplingbooleanLet the provider enrich the prompt.
metadata.output_formatstringjpeg | png | webp (default png)Output file format; invalid values are dropped.
  • Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-kontext-pro",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "aspect_ratio": "1:1",
  "seed": 42,
  "metadata": {
    "prompt_upsampling": false,
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Ideogram · 3

ideogram-v4

Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostringIdeogram's 15 ratios (see Ideogram 3.0)Output aspect ratio.
resolutionstring1K | 2K (default 2K); an exact WxH from Ideogram's official list is also acceptedOutput tier. Does not change the price.
imagesstring[]Exactly one image (≤ 10 MB) switches to remix / image-to-image.
metadata.aestheticsstringStyle description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt.
metadata.art_stylestringStyle description — free text.
metadata.lightingstringStyle description — free text.
metadata.mediumstringStyle description — free text.
metadata.photostringStyle description — free text.
metadata.color_palettestring[]["#RRGGBB", ...]Palette as hex strings (malformed entries dropped).
metadata.image_weightinteger1–100 (clamped)Remix only: how strongly the input image steers the result.
  • seed and negative_prompt are ignored (no upstream fields on 4.0).
  • Style keys are ignored on remix.
  • Flat price per image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ideogram-v4",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "aspect_ratio": "1:1",
  "metadata": {
    "aesthetics": "clean, minimal",
    "art_style": "editorial illustration",
    "lighting": "soft morning light",
    "medium": "digital painting",
    "photo": "35mm film look",
    "image_weight": 50
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
ideogram-v4-turbo

Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostringIdeogram's 15 ratios (see Ideogram 3.0)Output aspect ratio.
resolutionstring1K | 2K (default 2K); an exact WxH from Ideogram's official list is also acceptedOutput tier. Does not change the price.
imagesstring[]Exactly one image (≤ 10 MB) switches to remix / image-to-image.
metadata.aestheticsstringStyle description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt.
metadata.art_stylestringStyle description — free text.
metadata.lightingstringStyle description — free text.
metadata.mediumstringStyle description — free text.
metadata.photostringStyle description — free text.
metadata.color_palettestring[]["#RRGGBB", ...]Palette as hex strings (malformed entries dropped).
metadata.image_weightinteger1–100 (clamped)Remix only: how strongly the input image steers the result.
  • seed and negative_prompt are ignored (no upstream fields on 4.0).
  • Style keys are ignored on remix.
  • Flat price per image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ideogram-v4-turbo",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "aspect_ratio": "1:1",
  "metadata": {
    "aesthetics": "clean, minimal",
    "art_style": "editorial illustration",
    "lighting": "soft morning light",
    "medium": "digital painting",
    "photo": "35mm film look",
    "image_weight": 50
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
ideogram-v4-quality

Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostringIdeogram's 15 ratios (see Ideogram 3.0)Output aspect ratio.
resolutionstring1K | 2K (default 2K); an exact WxH from Ideogram's official list is also acceptedOutput tier. Does not change the price.
imagesstring[]Exactly one image (≤ 10 MB) switches to remix / image-to-image.
metadata.aestheticsstringStyle description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt.
metadata.art_stylestringStyle description — free text.
metadata.lightingstringStyle description — free text.
metadata.mediumstringStyle description — free text.
metadata.photostringStyle description — free text.
metadata.color_palettestring[]["#RRGGBB", ...]Palette as hex strings (malformed entries dropped).
metadata.image_weightinteger1–100 (clamped)Remix only: how strongly the input image steers the result.
  • seed and negative_prompt are ignored (no upstream fields on 4.0).
  • Style keys are ignored on remix.
  • Flat price per image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ideogram-v4-quality",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "aspect_ratio": "1:1",
  "metadata": {
    "aesthetics": "clean, minimal",
    "art_style": "editorial illustration",
    "lighting": "soft morning light",
    "medium": "digital painting",
    "photo": "35mm film look",
    "image_weight": 50
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Agnes · 1

agnes-image-2.1-flash

Agnes Image 2.1 Flash — text-to-image or image-to-image.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted)Size is derived from aspect_ratio + resolution (16-aligned); 0.5K is treated as 1K.
imagesstring[]Reference images for image-to-image.
  • The provider renders synchronously — the task can take up to ~6 minutes to leave queued.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "agnes-image-2.1-flash",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "1:1"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Image tools · 8

remove-bg

Remove the background from images[0].

Inputs: prompt optional · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "remove-bg",
  "images": [
    "https://example.com/input-1.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
remove-watermark

Remove a watermark from images[0].

Inputs: prompt optional · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "remove-watermark",
  "images": [
    "https://example.com/input-1.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
ai-expand

Outpaint images[0] beyond its borders; the prompt guides the new areas.

Inputs: prompt optional · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
metadata.aspect_ratiostringOutput crop / canvas ratio (this tool reads it from metadata, not the top level).
seedintegerRandom seed for reproducible output.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ai-expand",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "seed": 42,
  "metadata": {
    "aspect_ratio": "16:9"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
id-photo

Turn images[0] into an ID / passport photo.

Inputs: prompt optional · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
metadata.genderstringSubject gender hint.
metadata.aspect_ratiostringOutput crop / canvas ratio (this tool reads it from metadata, not the top level).
metadata.backgroundstringBackground colour / style.
metadata.output_formatstringjpg | png (webp becomes png)Output file format.
seedintegerRandom seed for reproducible output.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "id-photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "seed": 42,
  "metadata": {
    "gender": "female",
    "aspect_ratio": "16:9",
    "background": "auto",
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
face-swap

Swap the face from images[0] onto images[1].

Inputs: prompt optional · 2 images required (max 2)
FieldTypeValuesDescription
imagesstring[]Exactly 2 images: [face source, target photo]. Both must contain a detectable face.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "face-swap",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
change-haircut

Change the haircut / hair colour in images[0].

Inputs: prompt required · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
metadata.haircutstringTarget haircut name.
metadata.hair_colorstringTarget hair colour.
metadata.genderstringSubject gender hint.
metadata.aspect_ratiostringOutput crop / canvas ratio (this tool reads it from metadata, not the top level).
metadata.output_formatstringjpg | png (webp becomes png)Output file format.
seedintegerRandom seed for reproducible output.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "change-haircut",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "seed": 42,
  "metadata": {
    "haircut": "bob",
    "hair_color": "auburn",
    "gender": "female",
    "aspect_ratio": "16:9",
    "output_format": "png"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
virtual-tryon

Put the garment from images[1] on the person in images[0].

Inputs: prompt optional · 2 images required (max 2)
FieldTypeValuesDescription
imagesstring[]Exactly 2 images: [person, garment].
metadata.categorystringupper_body | lower_body | dresses (default upper_body)Garment category.
metadata.garment_desstringdefaults to the promptGarment description.
seedintegerRandom seed for reproducible output.
  • prompt doubles as the garment description.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "virtual-tryon",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "seed": 42,
  "metadata": {
    "category": "upper_body",
    "garment_des": "red cotton t-shirt"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
change-background

Replace the background of images[0] from a prompt or a reference image.

Inputs: prompt required · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
metadata.ref_image_urlstringReference background image (instead of a prompt).
negative_promptstringWhat to avoid.
seedintegerRandom seed for reproducible output.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "change-background",
  "prompt": "A red bicycle leaning on a white wall, photo",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "negative_prompt": "blurry, low quality, text",
  "seed": 42,
  "metadata": {
    "ref_image_url": "https://example.com/background.jpg"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Topaz · 1

hd-upscale

Upscale images[0] (Topaz Labs, 4× by default).

Inputs: prompt optional · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Exactly 1 image (required).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hd-upscale",
  "images": [
    "https://example.com/input-1.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Video models

The price is a tier of resolution × duration (plus audio, reference-video or draft variants where offered). Send an image in images for image-to-video; models that accept video_url or reference_videos do video-to-video. Expand a model's price tiers to see every combination.

Kling · 2

kling-v3

Kling V3 text-to-video / image-to-video (1 image = start frame, 2 = start + end).

Inputs: prompt required · images optional (max 2)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring720p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3–15 s (default 5)Length in seconds. Changes the price.
imagesstring[]Up to 2 images: start frame, or start + end frame.
negative_promptstringWhat to avoid.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
audiobooleanGenerate an audio track. Selects the audio price tier.
  • Price = resolution tier × duration, plus the audio variant.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "kling-v3",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "720p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "negative_prompt": "blurry, low quality, text",
  "watermark": false,
  "audio": true
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (52)
tiercredits
resolution=720p · duration=3500
resolution=720p · duration=3 · audio700
resolution=720p · duration=4600
resolution=720p · duration=4 · audio900
resolution=720p · duration=5700
resolution=720p · duration=5 · audio1100
resolution=720p · duration=6900
resolution=720p · duration=6 · audio1300
resolution=720p · duration=71000
resolution=720p · duration=7 · audio1500
resolution=720p · duration=81200
resolution=720p · duration=8 · audio1700
resolution=720p · duration=91300
resolution=720p · duration=9 · audio1900
resolution=720p · duration=101400
resolution=720p · duration=10 · audio2100
resolution=720p · duration=111600
resolution=720p · duration=11 · audio2400
resolution=720p · duration=121700
resolution=720p · duration=12 · audio2600
resolution=720p · duration=131900
resolution=720p · duration=13 · audio2800
resolution=720p · duration=142000
resolution=720p · duration=14 · audio3000
resolution=720p · duration=152100
resolution=720p · duration=15 · audio3200
resolution=1080p · duration=3600
resolution=1080p · duration=3 · audio900
resolution=1080p · duration=4800
resolution=1080p · duration=4 · audio1200
resolution=1080p · duration=51000
resolution=1080p · duration=5 · audio1400
resolution=1080p · duration=61200
resolution=1080p · duration=6 · audio1700
resolution=1080p · duration=71400
resolution=1080p · duration=7 · audio2000
resolution=1080p · duration=81500
resolution=1080p · duration=8 · audio2300
resolution=1080p · duration=91700
resolution=1080p · duration=9 · audio2600
resolution=1080p · duration=101900
resolution=1080p · duration=10 · audio2800
resolution=1080p · duration=112100
resolution=1080p · duration=11 · audio3100
resolution=1080p · duration=122300
resolution=1080p · duration=12 · audio3400
resolution=1080p · duration=132500
resolution=1080p · duration=13 · audio3700
resolution=1080p · duration=142700
resolution=1080p · duration=14 · audio4000
resolution=1080p · duration=152800
resolution=1080p · duration=15 · audio4200
kling-v2-6

Kling V2.6 text-to-video / image-to-video.

Inputs: prompt required · images optional (max 2)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
durationinteger5 | 10 s (default 5)Length in seconds. Changes the price.
imagesstring[]Up to 2 images: start frame, or start + end frame.
negative_promptstringWhat to avoid.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
audiobooleanGenerate an audio track. Selects the audio price tier.
  • Price = resolution tier × duration, plus the audio variant.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "kling-v2-6",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "duration": 5,
  "aspect_ratio": "16:9",
  "negative_prompt": "blurry, low quality, text",
  "watermark": false,
  "audio": true
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (8)
tiercredits
duration=5600
duration=5 · audio1200
duration=5 · image_to_video600
duration=5 · audio · image_to_video1200
duration=101200
duration=10 · audio2400
duration=10 · image_to_video1200
duration=10 · audio · image_to_video2400

Alibaba · 1

wan3.0-video

Alibaba Wan 3.0 — one model for text-to-video, first/last-frame, and reference generation (from images, videos, audio, a document or a web page). The mode follows the media you send.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
resolutionstring480P | 720P | 1080P (default 720P) — (1080P costs 4× 480P)Output resolution tier. Changes the price.
durationinteger2–30 s (default 5)Length in seconds. Changes the price.
aspect_ratiostring16:9, 4:3, 1:1, 3:4, 9:16, or adaptiveOutput aspect ratio.
imagesstring[]Frames: [0] first frame, [1] last frame. Cannot be mixed with metadata.reference_*.
metadata.reference_imagesstring[]≤ 10Reference images, addressed in the prompt as 图1, 图2…
metadata.reference_videosstring[]≤ 5, ≤ 15 s totalReference videos (视频1…).
metadata.reference_audiosstring[]≤ 5, ≤ 15 s totalReference audio (音频1…).
metadata.reference_filesstring[]exactly 1; exclusive with reference_linksGenerate from a document.
metadata.reference_linksstring[]exactly 1; exclusive with reference_filesGenerate from a web page.
metadata.generate_audiobooleanAudio track on/off (same price either way).
metadata.prompt_extendbooleanProvider prompt rewrite.
seedintegerRandom seed for reproducible output.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
  • resolution has no default — omitting it is a 400.
  • Only output seconds are billed.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "wan3.0-video",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "720P",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "watermark": false,
  "metadata": {
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ],
    "reference_files": [
      "https://example.com/brief.pdf"
    ],
    "reference_links": [
      "https://example.com/article"
    ],
    "generate_audio": true,
    "prompt_extend": true
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (87)
tiercredits
resolution=480P · duration=2200
resolution=480P · duration=3300
resolution=480P · duration=4400
resolution=480P · duration=5500
resolution=480P · duration=6600
resolution=480P · duration=7700
resolution=480P · duration=8800
resolution=480P · duration=9900
resolution=480P · duration=101000
resolution=480P · duration=111100
resolution=480P · duration=121200
resolution=480P · duration=131300
resolution=480P · duration=141400
resolution=480P · duration=151500
resolution=480P · duration=161600
resolution=480P · duration=171700
resolution=480P · duration=181800
resolution=480P · duration=191900
resolution=480P · duration=202000
resolution=480P · duration=212100
resolution=480P · duration=222200
resolution=480P · duration=232300
resolution=480P · duration=242400
resolution=480P · duration=252500
resolution=480P · duration=262600
resolution=480P · duration=272700
resolution=480P · duration=282800
resolution=480P · duration=292900
resolution=480P · duration=303000
resolution=720P · duration=2400
resolution=720P · duration=3600
resolution=720P · duration=4800
resolution=720P · duration=51000
resolution=720P · duration=61200
resolution=720P · duration=71400
resolution=720P · duration=81600
resolution=720P · duration=91800
resolution=720P · duration=102000
resolution=720P · duration=112200
resolution=720P · duration=122400
resolution=720P · duration=132600
resolution=720P · duration=142800
resolution=720P · duration=153000
resolution=720P · duration=163200
resolution=720P · duration=173400
resolution=720P · duration=183600
resolution=720P · duration=193800
resolution=720P · duration=204000
resolution=720P · duration=214200
resolution=720P · duration=224400
resolution=720P · duration=234600
resolution=720P · duration=244800
resolution=720P · duration=255000
resolution=720P · duration=265200
resolution=720P · duration=275400
resolution=720P · duration=285600
resolution=720P · duration=295800
resolution=720P · duration=306000
resolution=1080P · duration=2800
resolution=1080P · duration=31200
resolution=1080P · duration=41600
resolution=1080P · duration=52000
resolution=1080P · duration=62400
resolution=1080P · duration=72800
resolution=1080P · duration=83200
resolution=1080P · duration=93600
resolution=1080P · duration=104000
resolution=1080P · duration=114400
resolution=1080P · duration=124800
resolution=1080P · duration=135200
resolution=1080P · duration=145600
resolution=1080P · duration=156000
resolution=1080P · duration=166400
resolution=1080P · duration=176800
resolution=1080P · duration=187200
resolution=1080P · duration=197600
resolution=1080P · duration=208000
resolution=1080P · duration=218400
resolution=1080P · duration=228800
resolution=1080P · duration=239200
resolution=1080P · duration=249600
resolution=1080P · duration=2510000
resolution=1080P · duration=2610400
resolution=1080P · duration=2710800
resolution=1080P · duration=2811200
resolution=1080P · duration=2911600
resolution=1080P · duration=3012000

HappyHorse · 4

happyhorse-1.0-t2v

HappyHorse 1.0 text-to-video.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus 4:5 and 5:4 (default 16:9; 3:2 / 2:3 snap to 4:3 / 3:4)Output aspect ratio.
resolutionstring720p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3–15 s (default 5)Length in seconds. Changes the price.
seedintegerRandom seed for reproducible output.
watermarkbooleandefault falseProvider watermark (always sent; default false).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1.0-t2v",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "resolution": "720p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "watermark": false
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (26)
tiercredits
resolution=720p · duration=31300
resolution=720p · duration=41700
resolution=720p · duration=52100
resolution=720p · duration=62500
resolution=720p · duration=72900
resolution=720p · duration=83300
resolution=720p · duration=93700
resolution=720p · duration=104100
resolution=720p · duration=114500
resolution=720p · duration=124900
resolution=720p · duration=135300
resolution=720p · duration=145700
resolution=720p · duration=156100
resolution=1080p · duration=32000
resolution=1080p · duration=42600
resolution=1080p · duration=53200
resolution=1080p · duration=63900
resolution=1080p · duration=74500
resolution=1080p · duration=85200
resolution=1080p · duration=95800
resolution=1080p · duration=106400
resolution=1080p · duration=117100
resolution=1080p · duration=127700
resolution=1080p · duration=138400
resolution=1080p · duration=149000
resolution=1080p · duration=159600
happyhorse-1.0-i2v

HappyHorse 1.0 image-to-video (aspect follows the input image).

Inputs: prompt required · 1 image required (max 1)
FieldTypeValuesDescription
resolutionstring720p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3–15 s (default 5)Length in seconds. Changes the price.
imagesstring[]Required: 1 first-frame image.
seedintegerRandom seed for reproducible output.
watermarkbooleandefault falseProvider watermark (always sent; default false).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1.0-i2v",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "resolution": "720p",
  "duration": 5,
  "seed": 42,
  "watermark": false
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (26)
tiercredits
resolution=720p · duration=31300
resolution=720p · duration=41700
resolution=720p · duration=52100
resolution=720p · duration=62500
resolution=720p · duration=72900
resolution=720p · duration=83300
resolution=720p · duration=93700
resolution=720p · duration=104100
resolution=720p · duration=114500
resolution=720p · duration=124900
resolution=720p · duration=135300
resolution=720p · duration=145700
resolution=720p · duration=156100
resolution=1080p · duration=32000
resolution=1080p · duration=42600
resolution=1080p · duration=53200
resolution=1080p · duration=63900
resolution=1080p · duration=74500
resolution=1080p · duration=85200
resolution=1080p · duration=95800
resolution=1080p · duration=106400
resolution=1080p · duration=117100
resolution=1080p · duration=127700
resolution=1080p · duration=138400
resolution=1080p · duration=149000
resolution=1080p · duration=159600
happyhorse-1.0-r2v

HappyHorse 1.0 reference-to-video (1–9 reference images).

Inputs: prompt required · 1 image required (max 9)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus 4:5 and 5:4 (default 16:9; 3:2 / 2:3 snap to 4:3 / 3:4)Output aspect ratio.
resolutionstring720p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3–15 s (default 5)Length in seconds. Changes the price.
imagesstring[]Required: 1–9 reference images.
seedintegerRandom seed for reproducible output.
watermarkbooleandefault falseProvider watermark (always sent; default false).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1.0-r2v",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "resolution": "720p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "watermark": false
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (26)
tiercredits
resolution=720p · duration=31300
resolution=720p · duration=41700
resolution=720p · duration=52100
resolution=720p · duration=62500
resolution=720p · duration=72900
resolution=720p · duration=83300
resolution=720p · duration=93700
resolution=720p · duration=104100
resolution=720p · duration=114500
resolution=720p · duration=124900
resolution=720p · duration=135300
resolution=720p · duration=145700
resolution=720p · duration=156100
resolution=1080p · duration=32000
resolution=1080p · duration=42600
resolution=1080p · duration=53200
resolution=1080p · duration=63900
resolution=1080p · duration=74500
resolution=1080p · duration=85200
resolution=1080p · duration=95800
resolution=1080p · duration=106400
resolution=1080p · duration=117100
resolution=1080p · duration=127700
resolution=1080p · duration=138400
resolution=1080p · duration=149000
resolution=1080p · duration=159600
happyhorse-1.0-video-edit

HappyHorse 1.0 video edit: rewrites a source video; length follows the source.

Inputs: prompt required · images optional (max 5) · video_url required
FieldTypeValuesDescription
resolutionstring720p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3–15 s (default 5)Billing tier only — the output keeps the source length.
video_urlstringSource video URL (required).
imagesstring[]Up to 5 reference images.
seedintegerRandom seed for reproducible output.
watermarkbooleandefault falseProvider watermark (always sent; default false).
metadata.audio_settingstringauto | originRegenerate audio or keep the original track.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1.0-video-edit",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "video_url": "https://example.com/source.mp4",
  "resolution": "720p",
  "duration": 5,
  "seed": 42,
  "watermark": false,
  "metadata": {
    "audio_setting": "auto"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (26)
tiercredits
resolution=720p · duration=3 · reference_video1300
resolution=720p · duration=4 · reference_video1700
resolution=720p · duration=5 · reference_video2100
resolution=720p · duration=6 · reference_video2500
resolution=720p · duration=7 · reference_video2900
resolution=720p · duration=8 · reference_video3300
resolution=720p · duration=9 · reference_video3700
resolution=720p · duration=10 · reference_video4100
resolution=720p · duration=11 · reference_video4500
resolution=720p · duration=12 · reference_video4900
resolution=720p · duration=13 · reference_video5300
resolution=720p · duration=14 · reference_video5700
resolution=720p · duration=15 · reference_video6100
resolution=1080p · duration=3 · reference_video2000
resolution=1080p · duration=4 · reference_video2600
resolution=1080p · duration=5 · reference_video3200
resolution=1080p · duration=6 · reference_video3900
resolution=1080p · duration=7 · reference_video4500
resolution=1080p · duration=8 · reference_video5200
resolution=1080p · duration=9 · reference_video5800
resolution=1080p · duration=10 · reference_video6400
resolution=1080p · duration=11 · reference_video7100
resolution=1080p · duration=12 · reference_video7700
resolution=1080p · duration=13 · reference_video8400
resolution=1080p · duration=14 · reference_video9000
resolution=1080p · duration=15 · reference_video9600

ByteDance · 3

seedance-2.0

ByteDance Seedance. Mode follows the media: no media = text-to-video; 1 image = first frame; 2 images = first + last frame; a video URL in images or metadata.reference_videos = reference / continuation (with-video price tier).

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus adaptive (ratio decided by the input media)Output aspect ratio.
resolutionstring480p | 720p (default 480p)Output resolution tier. Changes the price.
durationinteger4–15 s (default 5)Length in seconds. Changes the price.
imagesstring[]Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed.
audiostringReference audio URL; must be paired with a reference video (r2v). Max 15.2 s.
seedintegerRandom seed for reproducible output.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.reference_imagesstring[]≤ 9Reference images (role reference_image).
metadata.reference_videosstring[]≤ 3Reference videos. Selects the with-video price tier.
metadata.reference_audiosstring[]≤ 3Reference audio URLs.
metadata.generate_audiobooleanAttach an audio track to the output.
metadata.return_last_framebooleanAlso return the last frame image.
metadata.camera_fixedbooleanKeep the camera fixed (stripped on seedance-2.0-fast text-to-video).
metadata.priorityinteger0–9 (default 0)Scheduling priority; no billing effect.
  • seed is ignored after a provider failover.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2.0",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "480p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "audio": "https://example.com/reference.mp3",
  "seed": 42,
  "watermark": false,
  "metadata": {
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ],
    "generate_audio": true,
    "return_last_frame": false,
    "camera_fixed": false,
    "priority": 0
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (48)
tiercredits
resolution=480p · duration=4900
resolution=480p · duration=4 · reference_video2600
resolution=480p · duration=51200
resolution=480p · duration=5 · reference_video2800
resolution=480p · duration=61400
resolution=480p · duration=6 · reference_video2900
resolution=480p · duration=71600
resolution=480p · duration=7 · reference_video3100
resolution=480p · duration=81800
resolution=480p · duration=8 · reference_video3200
resolution=480p · duration=92100
resolution=480p · duration=9 · reference_video3300
resolution=480p · duration=102300
resolution=480p · duration=10 · reference_video3500
resolution=480p · duration=112500
resolution=480p · duration=11 · reference_video3600
resolution=480p · duration=122700
resolution=480p · duration=12 · reference_video3700
resolution=480p · duration=133000
resolution=480p · duration=13 · reference_video3900
resolution=480p · duration=143200
resolution=480p · duration=14 · reference_video4000
resolution=480p · duration=153400
resolution=480p · duration=15 · reference_video4100
resolution=720p · duration=42000
resolution=720p · duration=4 · reference_video5600
resolution=720p · duration=52500
resolution=720p · duration=5 · reference_video5900
resolution=720p · duration=62900
resolution=720p · duration=6 · reference_video6200
resolution=720p · duration=73400
resolution=720p · duration=7 · reference_video6500
resolution=720p · duration=83900
resolution=720p · duration=8 · reference_video6800
resolution=720p · duration=94400
resolution=720p · duration=9 · reference_video7100
resolution=720p · duration=104900
resolution=720p · duration=10 · reference_video7400
resolution=720p · duration=115400
resolution=720p · duration=11 · reference_video7700
resolution=720p · duration=125800
resolution=720p · duration=12 · reference_video8000
resolution=720p · duration=136300
resolution=720p · duration=13 · reference_video8300
resolution=720p · duration=146800
resolution=720p · duration=14 · reference_video8600
resolution=720p · duration=157300
resolution=720p · duration=15 · reference_video8900
seedance-2.0-fast

ByteDance Seedance. Mode follows the media: no media = text-to-video; 1 image = first frame; 2 images = first + last frame; a video URL in images or metadata.reference_videos = reference / continuation (with-video price tier).

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus adaptive (ratio decided by the input media)Output aspect ratio.
resolutionstring480p | 720p (default 480p)Output resolution tier. Changes the price.
durationinteger4–15 s (default 5)Length in seconds. Changes the price.
imagesstring[]Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed.
audiostringReference audio URL; must be paired with a reference video (r2v). Max 15.2 s.
seedintegerRandom seed for reproducible output.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.reference_imagesstring[]≤ 9Reference images (role reference_image).
metadata.reference_videosstring[]≤ 3Reference videos. Selects the with-video price tier.
metadata.reference_audiosstring[]≤ 3Reference audio URLs.
metadata.generate_audiobooleanAttach an audio track to the output.
metadata.return_last_framebooleanAlso return the last frame image.
metadata.camera_fixedbooleanKeep the camera fixed (stripped on seedance-2.0-fast text-to-video).
metadata.priorityinteger0–9 (default 0)Scheduling priority; no billing effect.
  • seed is ignored after a provider failover.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2.0-fast",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "480p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "audio": "https://example.com/reference.mp3",
  "seed": 42,
  "watermark": false,
  "metadata": {
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ],
    "generate_audio": true,
    "return_last_frame": false,
    "camera_fixed": false,
    "priority": 0
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (48)
tiercredits
resolution=480p · duration=4800
resolution=480p · duration=4 · reference_video2100
resolution=480p · duration=51000
resolution=480p · duration=5 · reference_video2200
resolution=480p · duration=61100
resolution=480p · duration=6 · reference_video2300
resolution=480p · duration=71300
resolution=480p · duration=7 · reference_video2400
resolution=480p · duration=81500
resolution=480p · duration=8 · reference_video2500
resolution=480p · duration=91700
resolution=480p · duration=9 · reference_video2600
resolution=480p · duration=101900
resolution=480p · duration=10 · reference_video2700
resolution=480p · duration=112000
resolution=480p · duration=11 · reference_video2800
resolution=480p · duration=122200
resolution=480p · duration=12 · reference_video2900
resolution=480p · duration=132400
resolution=480p · duration=13 · reference_video3100
resolution=480p · duration=142600
resolution=480p · duration=14 · reference_video3200
resolution=480p · duration=152800
resolution=480p · duration=15 · reference_video3300
resolution=720p · duration=41600
resolution=720p · duration=4 · reference_video4400
resolution=720p · duration=52000
resolution=720p · duration=5 · reference_video4700
resolution=720p · duration=62400
resolution=720p · duration=6 · reference_video4900
resolution=720p · duration=72800
resolution=720p · duration=7 · reference_video5100
resolution=720p · duration=83200
resolution=720p · duration=8 · reference_video5400
resolution=720p · duration=93500
resolution=720p · duration=9 · reference_video5600
resolution=720p · duration=103900
resolution=720p · duration=10 · reference_video5800
resolution=720p · duration=114300
resolution=720p · duration=11 · reference_video6000
resolution=720p · duration=124700
resolution=720p · duration=12 · reference_video6300
resolution=720p · duration=135100
resolution=720p · duration=13 · reference_video6500
resolution=720p · duration=145500
resolution=720p · duration=14 · reference_video6700
resolution=720p · duration=155900
resolution=720p · duration=15 · reference_video7000
seedance-2.5

ByteDance Seedance. Mode follows the media: no media = text-to-video; 1 image = first frame; 2 images = first + last frame; a video URL in images or metadata.reference_videos = reference / continuation (with-video price tier).

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
aspect_ratiostringstandard set plus adaptive (ratio decided by the input media); rejected on first/last-frame tasksOutput aspect ratio.
resolutionstring480p | 720p (default 480p) — (1080p costs 2.25× 720p)Output resolution tier. Changes the price.
durationinteger4–30 s (default 5)Length in seconds. Changes the price.
imagesstring[]Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed.
audiostringReference audio URL.
seedintegerRandom seed for reproducible output.
watermarkbooleanProvider watermark. Only forwarded when you send it; omitted follows the provider default.
metadata.reference_imagesstring[]≤ 30Reference images (role reference_image).
metadata.reference_videosstring[]≤ 10Reference videos. Selects the with-video price tier.
metadata.reference_audiosstring[]≤ 10Reference audio URLs.
metadata.generate_audiobooleanAttach an audio track to the output.
metadata.return_last_framebooleanAlso return the last frame image.
  • Send aspect_ratio "adaptive" whenever the request carries a reference video.
  • Edit-style prompts ("replace / delete…" over a reference video) are not served on this line; use reference semantics.
  • seed is ignored after a provider failover.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2.5",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "480p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "audio": "https://example.com/reference.mp3",
  "seed": 42,
  "watermark": false,
  "metadata": {
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ],
    "generate_audio": true,
    "return_last_frame": false
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (108)
tiercredits
resolution=480p · duration=41300
resolution=480p · duration=4 · reference_video6400
resolution=480p · duration=51600
resolution=480p · duration=5 · reference_video6600
resolution=480p · duration=61900
resolution=480p · duration=6 · reference_video6800
resolution=480p · duration=72200
resolution=480p · duration=7 · reference_video7000
resolution=480p · duration=82500
resolution=480p · duration=8 · reference_video7100
resolution=480p · duration=92800
resolution=480p · duration=9 · reference_video7300
resolution=480p · duration=103100
resolution=480p · duration=10 · reference_video7500
resolution=480p · duration=113400
resolution=480p · duration=11 · reference_video7700
resolution=480p · duration=123800
resolution=480p · duration=12 · reference_video7900
resolution=480p · duration=134100
resolution=480p · duration=13 · reference_video8100
resolution=480p · duration=144400
resolution=480p · duration=14 · reference_video8300
resolution=480p · duration=154700
resolution=480p · duration=15 · reference_video8500
resolution=480p · duration=165000
resolution=480p · duration=16 · reference_video8600
resolution=480p · duration=175300
resolution=480p · duration=17 · reference_video8800
resolution=480p · duration=185600
resolution=480p · duration=18 · reference_video9000
resolution=480p · duration=196000
resolution=480p · duration=19 · reference_video9200
resolution=480p · duration=206300
resolution=480p · duration=20 · reference_video9400
resolution=480p · duration=216600
resolution=480p · duration=21 · reference_video9600
resolution=480p · duration=226900
resolution=480p · duration=22 · reference_video9800
resolution=480p · duration=237200
resolution=480p · duration=23 · reference_video10000
resolution=480p · duration=247500
resolution=480p · duration=24 · reference_video10100
resolution=480p · duration=257800
resolution=480p · duration=25 · reference_video10300
resolution=480p · duration=268100
resolution=480p · duration=26 · reference_video10500
resolution=480p · duration=278500
resolution=480p · duration=27 · reference_video10700
resolution=480p · duration=288800
resolution=480p · duration=28 · reference_video10900
resolution=480p · duration=299100
resolution=480p · duration=29 · reference_video11100
resolution=480p · duration=309400
resolution=480p · duration=30 · reference_video11300
resolution=720p · duration=42800
resolution=720p · duration=4 · reference_video14400
resolution=720p · duration=53500
resolution=720p · duration=5 · reference_video14800
resolution=720p · duration=64200
resolution=720p · duration=6 · reference_video15200
resolution=720p · duration=74900
resolution=720p · duration=7 · reference_video15600
resolution=720p · duration=85600
resolution=720p · duration=8 · reference_video16100
resolution=720p · duration=96300
resolution=720p · duration=9 · reference_video16500
resolution=720p · duration=107000
resolution=720p · duration=10 · reference_video16900
resolution=720p · duration=117700
resolution=720p · duration=11 · reference_video17300
resolution=720p · duration=128500
resolution=720p · duration=12 · reference_video17700
resolution=720p · duration=139200
resolution=720p · duration=13 · reference_video18200
resolution=720p · duration=149900
resolution=720p · duration=14 · reference_video18600
resolution=720p · duration=1510600
resolution=720p · duration=15 · reference_video19000
resolution=720p · duration=1611300
resolution=720p · duration=16 · reference_video19400
resolution=720p · duration=1712000
resolution=720p · duration=17 · reference_video19900
resolution=720p · duration=1812700
resolution=720p · duration=18 · reference_video20300
resolution=720p · duration=1913400
resolution=720p · duration=19 · reference_video20700
resolution=720p · duration=2014100
resolution=720p · duration=20 · reference_video21100
resolution=720p · duration=2114800
resolution=720p · duration=21 · reference_video21500
resolution=720p · duration=2215500
resolution=720p · duration=22 · reference_video22000
resolution=720p · duration=2316200
resolution=720p · duration=23 · reference_video22400
resolution=720p · duration=2416900
resolution=720p · duration=24 · reference_video22800
resolution=720p · duration=2517600
resolution=720p · duration=25 · reference_video23200
resolution=720p · duration=2618300
resolution=720p · duration=26 · reference_video23700
resolution=720p · duration=2719000
resolution=720p · duration=27 · reference_video24100
resolution=720p · duration=2819700
resolution=720p · duration=28 · reference_video24500
resolution=720p · duration=2920400
resolution=720p · duration=29 · reference_video24900
resolution=720p · duration=3021100
resolution=720p · duration=30 · reference_video25400

MiniMax · 1

minimax-h3

MiniMax Hailuo H3. Text-to-video (aspect_ratio required, not adaptive), image-to-video (1 image = first frame, 2 = first + last), or reference-to-video (metadata.reference_*). Frames and reference media cannot be mixed.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
resolutionstring768P | 2K (default 768P)Output resolution tier. Changes the price.
durationinteger4–15 s (default 5)Length in seconds. Changes the price.
aspect_ratiostringstandard set plus adaptive (not for text-to-video); default 16:9 when you send nothingOutput aspect ratio.
imagesstring[]Up to 2 frame images.
metadata.reference_imagesstring[]≤ 9 (the first 5 are free; more add a small per-image charge)Reference images.
metadata.reference_videosstring[]≤ 3, ≤ 15 s totalReference videos — with-video price tier, settled to the real input length on completion.
metadata.reference_audiosstring[]≤ 3Reference audio (must be paired with an image or video on the primary line).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "minimax-h3",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "768P",
  "duration": 5,
  "aspect_ratio": "16:9",
  "metadata": {
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ]
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (48)
tiercredits
resolution=768P · duration=41100
resolution=768P · duration=4 · reference_video5100
resolution=768P · duration=51300
resolution=768P · duration=5 · reference_video5300
resolution=768P · duration=61600
resolution=768P · duration=6 · reference_video5600
resolution=768P · duration=71900
resolution=768P · duration=7 · reference_video5900
resolution=768P · duration=82100
resolution=768P · duration=8 · reference_video6100
resolution=768P · duration=92400
resolution=768P · duration=9 · reference_video6400
resolution=768P · duration=102700
resolution=768P · duration=10 · reference_video6700
resolution=768P · duration=112900
resolution=768P · duration=11 · reference_video6900
resolution=768P · duration=123200
resolution=768P · duration=12 · reference_video7200
resolution=768P · duration=133500
resolution=768P · duration=13 · reference_video7500
resolution=768P · duration=143700
resolution=768P · duration=14 · reference_video7700
resolution=768P · duration=154000
resolution=768P · duration=15 · reference_video8000
resolution=2K · duration=41700
resolution=2K · duration=4 · reference_video8200
resolution=2K · duration=52200
resolution=2K · duration=5 · reference_video8700
resolution=2K · duration=62600
resolution=2K · duration=6 · reference_video9100
resolution=2K · duration=73000
resolution=2K · duration=7 · reference_video9500
resolution=2K · duration=83500
resolution=2K · duration=8 · reference_video10000
resolution=2K · duration=93900
resolution=2K · duration=9 · reference_video10400
resolution=2K · duration=104300
resolution=2K · duration=10 · reference_video10800
resolution=2K · duration=114800
resolution=2K · duration=11 · reference_video11300
resolution=2K · duration=125200
resolution=2K · duration=12 · reference_video11700
resolution=2K · duration=135600
resolution=2K · duration=13 · reference_video12100
resolution=2K · duration=146100
resolution=2K · duration=14 · reference_video12600
resolution=2K · duration=156500
resolution=2K · duration=15 · reference_video13000

Black Forest Labs · 1

flux-3-video

Black Forest Labs FLUX 3 Video. Mode follows the assets: no media = text-to-video; images = keyframes (1 start, 2 start + end, 3–10 spaced evenly, order is semantic); a video URL = continuation (~2.4× the price). Keyframes and a continuation video cannot be combined.

Inputs: prompt required · images optional (max 4)
FieldTypeValuesDescription
resolutionstringhd | fhd (default hd)Output resolution tier. Changes the price.
durationinteger5–20 s (default 5)Length in seconds. Changes the price.
aspect_ratiostring21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16 (omit for auto)Output aspect ratio.
imagesstring[]1–4 keyframe images.
reference_videosstring[]exactly 1Continuation source video.
draftbooleanLow-quality preview at ~1/3 price; hd only (draft + fhd is a 400).
metadata.generate_audiobooleandefault trueAudio track on/off (same price).
  • Continuation is billed for the requested seconds even if the provider returns a shorter clip.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-3-video",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "hd",
  "duration": 5,
  "aspect_ratio": "16:9",
  "reference_videos": [
    "https://example.com/reference.mp4"
  ],
  "draft": false,
  "metadata": {
    "generate_audio": true
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (96)
tiercredits
resolution=hd · duration=52300
resolution=hd · duration=5 · draft800
resolution=hd · duration=5 · reference_video5500
resolution=hd · duration=5 · reference_video · draft1600
resolution=hd · duration=62700
resolution=hd · duration=6 · draft1000
resolution=hd · duration=6 · reference_video6600
resolution=hd · duration=6 · reference_video · draft1900
resolution=hd · duration=73200
resolution=hd · duration=7 · draft1100
resolution=hd · duration=7 · reference_video7600
resolution=hd · duration=7 · reference_video · draft2200
resolution=hd · duration=83600
resolution=hd · duration=8 · draft1300
resolution=hd · duration=8 · reference_video8700
resolution=hd · duration=8 · reference_video · draft2600
resolution=hd · duration=94100
resolution=hd · duration=9 · draft1400
resolution=hd · duration=9 · reference_video9800
resolution=hd · duration=9 · reference_video · draft2900
resolution=hd · duration=104500
resolution=hd · duration=10 · draft1600
resolution=hd · duration=10 · reference_video10900
resolution=hd · duration=10 · reference_video · draft3200
resolution=hd · duration=115000
resolution=hd · duration=11 · draft1800
resolution=hd · duration=11 · reference_video12000
resolution=hd · duration=11 · reference_video · draft3500
resolution=hd · duration=125400
resolution=hd · duration=12 · draft1900
resolution=hd · duration=12 · reference_video13100
resolution=hd · duration=12 · reference_video · draft3800
resolution=hd · duration=135900
resolution=hd · duration=13 · draft2100
resolution=hd · duration=13 · reference_video14200
resolution=hd · duration=13 · reference_video · draft4200
resolution=hd · duration=146300
resolution=hd · duration=14 · draft2200
resolution=hd · duration=14 · reference_video15300
resolution=hd · duration=14 · reference_video · draft4500
resolution=hd · duration=156800
resolution=hd · duration=15 · draft2400
resolution=hd · duration=15 · reference_video16400
resolution=hd · duration=15 · reference_video · draft4800
resolution=hd · duration=167200
resolution=hd · duration=16 · draft2600
resolution=hd · duration=16 · reference_video17500
resolution=hd · duration=16 · reference_video · draft5100
resolution=hd · duration=177700
resolution=hd · duration=17 · draft2700
resolution=hd · duration=17 · reference_video18600
resolution=hd · duration=17 · reference_video · draft5400
resolution=hd · duration=188200
resolution=hd · duration=18 · draft2900
resolution=hd · duration=18 · reference_video19700
resolution=hd · duration=18 · reference_video · draft5800
resolution=hd · duration=198600
resolution=hd · duration=19 · draft3000
resolution=hd · duration=19 · reference_video20800
resolution=hd · duration=19 · reference_video · draft6100
resolution=hd · duration=209100
resolution=hd · duration=20 · draft3200
resolution=hd · duration=20 · reference_video21800
resolution=hd · duration=20 · reference_video · draft6400
resolution=fhd · duration=53900
resolution=fhd · duration=5 · reference_video7100
resolution=fhd · duration=64600
resolution=fhd · duration=6 · reference_video8500
resolution=fhd · duration=75400
resolution=fhd · duration=7 · reference_video9900
resolution=fhd · duration=86200
resolution=fhd · duration=8 · reference_video11300
resolution=fhd · duration=97000
resolution=fhd · duration=9 · reference_video12700
resolution=fhd · duration=107700
resolution=fhd · duration=10 · reference_video14100
resolution=fhd · duration=118500
resolution=fhd · duration=11 · reference_video15500
resolution=fhd · duration=129300
resolution=fhd · duration=12 · reference_video16900
resolution=fhd · duration=1310000
resolution=fhd · duration=13 · reference_video18400
resolution=fhd · duration=1410800
resolution=fhd · duration=14 · reference_video19800
resolution=fhd · duration=1511600
resolution=fhd · duration=15 · reference_video21200
resolution=fhd · duration=1612400
resolution=fhd · duration=16 · reference_video22600
resolution=fhd · duration=1713100
resolution=fhd · duration=17 · reference_video24000
resolution=fhd · duration=1813900
resolution=fhd · duration=18 · reference_video25400
resolution=fhd · duration=1914700
resolution=fhd · duration=19 · reference_video26800
resolution=fhd · duration=2015500
resolution=fhd · duration=20 · reference_video28200

Agnes · 3

agnes-video-2.5

Agnes Video 2.5. Modes text / keyframe / reference are inferred from the material (1 image = first frame, 2 = first + last, 3+ = reference; any reference_* list or audio = reference) or set explicitly with agnes_mode.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
resolutionstring720P | 960P | 2K (default 720P)Output resolution tier. Changes the price.
durationinteger4–12 s (default 5) — 4–12 (default 5)Length in seconds. Changes the price.
aspect_ratiostring21:9, 16:9, 4:3, 1:1, 3:4, 9:16 (default 16:9; anything else is a 400)Output aspect ratio.
imagesstring[]Up to 10 images (keyframes or references).
metadata.agnes_modestringtext | keyframe | referenceForce a mode; a mode/material mismatch is a 400 before any charge.
metadata.first_framestringExplicit first-frame slot (keyframe mode).
metadata.last_framestringExplicit last-frame slot — the only way to send a last frame alone.
metadata.reference_imagesstring[]beyond 5 images each adds a small per-image chargeReference images (<Picture N> in the prompt).
metadata.reference_videos(string | {url, start_seconds, require_audio})[]Reference videos (<Video N>). Each reference video is billed as one extra output-length of input seconds.
metadata.reference_audiosstring[]Reference audio (<Audio N>).
seedintegerRandom seed for reproducible output.
  • Billed per second of output (plus estimated reference-video seconds). negative_prompt / watermark are not supported.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "agnes-video-2.5",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "720P",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "metadata": {
    "agnes_mode": "keyframe",
    "first_frame": "https://example.com/first-frame.jpg",
    "last_frame": "https://example.com/last-frame.jpg",
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_videos": [
      "https://example.com/reference.mp4"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ]
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (54)
tiercredits
resolution=720P · duration=4330
resolution=720P · duration=4 · reference_video670
resolution=720P · duration=5420
resolution=720P · duration=5 · reference_video830
resolution=720P · duration=6500
resolution=720P · duration=6 · reference_video1000
resolution=720P · duration=7580
resolution=720P · duration=7 · reference_video1170
resolution=720P · duration=8670
resolution=720P · duration=8 · reference_video1330
resolution=720P · duration=9750
resolution=720P · duration=9 · reference_video1500
resolution=720P · duration=10830
resolution=720P · duration=10 · reference_video1670
resolution=720P · duration=11920
resolution=720P · duration=11 · reference_video1830
resolution=720P · duration=121000
resolution=720P · duration=12 · reference_video2000
resolution=960P · duration=4530
resolution=960P · duration=4 · reference_video1070
resolution=960P · duration=5670
resolution=960P · duration=5 · reference_video1330
resolution=960P · duration=6800
resolution=960P · duration=6 · reference_video1600
resolution=960P · duration=7930
resolution=960P · duration=7 · reference_video1860
resolution=960P · duration=81070
resolution=960P · duration=8 · reference_video2130
resolution=960P · duration=91200
resolution=960P · duration=9 · reference_video2400
resolution=960P · duration=101330
resolution=960P · duration=10 · reference_video2660
resolution=960P · duration=111470
resolution=960P · duration=11 · reference_video2930
resolution=960P · duration=121600
resolution=960P · duration=12 · reference_video3200
resolution=2K · duration=4730
resolution=2K · duration=4 · reference_video1470
resolution=2K · duration=5920
resolution=2K · duration=5 · reference_video1830
resolution=2K · duration=61100
resolution=2K · duration=6 · reference_video2200
resolution=2K · duration=71280
resolution=2K · duration=7 · reference_video2560
resolution=2K · duration=81470
resolution=2K · duration=8 · reference_video2930
resolution=2K · duration=91650
resolution=2K · duration=9 · reference_video3300
resolution=2K · duration=101830
resolution=2K · duration=10 · reference_video3660
resolution=2K · duration=112020
resolution=2K · duration=11 · reference_video4030
resolution=2K · duration=122200
resolution=2K · duration=12 · reference_video4400
agnes-video-2.5-flash

Agnes Video 2.5 Flash — same contract as agnes-video-2.5, 720P only, at most 5 reference images, no reference videos.

Inputs: prompt required · images optional (max 5)
FieldTypeValuesDescription
resolutionstring720P (default 720P)Output resolution tier. Changes the price.
durationinteger4–12 s (default 5) — 4–12 (default 5)Length in seconds. Changes the price.
aspect_ratiostring21:9, 16:9, 4:3, 1:1, 3:4, 9:16 (default 16:9)Output aspect ratio.
imagesstring[]Up to 5 images.
metadata.agnes_modestringtext | keyframe | referenceForce a mode.
metadata.first_framestringExplicit first-frame slot.
metadata.last_framestringExplicit last-frame slot.
metadata.reference_imagesstring[]≤ 5Reference images.
metadata.reference_audiosstring[]Reference audio.
seedintegerRandom seed for reproducible output.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "agnes-video-2.5-flash",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "720P",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "metadata": {
    "agnes_mode": "keyframe",
    "first_frame": "https://example.com/first-frame.jpg",
    "last_frame": "https://example.com/last-frame.jpg",
    "reference_images": [
      "https://example.com/reference-1.jpg",
      "https://example.com/reference-2.jpg"
    ],
    "reference_audios": [
      "https://example.com/reference.mp3"
    ]
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (9)
tiercredits
resolution=720P · duration=4330
resolution=720P · duration=5420
resolution=720P · duration=6500
resolution=720P · duration=7580
resolution=720P · duration=8670
resolution=720P · duration=9750
resolution=720P · duration=10830
resolution=720P · duration=11920
resolution=720P · duration=121000
agnes-video-v2.0

Agnes Video 2.0. 1 image = first frame; 2+ images = keyframe transition (default) or multi-reference with agnes_mode = reference.

Inputs: prompt required · images optional (max 10)
FieldTypeValuesDescription
resolutionstring720p | 480p | 1080p (default 720p)Output resolution tier. Changes the price.
durationinteger3 | 5 | 10 | 18 s (default 5) — 3 | 5 | 10 | 18 (other values round up to the next tier)Length in seconds. Changes the price.
aspect_ratiostring16:9, 9:16, 1:1, 4:3, 3:4 (others snap; default 16:9)Output aspect ratio.
imagesstring[]Up to 10 images.
metadata.agnes_modestringkeyframes (default) | referenceHow 2+ images are used.
seedintegerRandom seed for reproducible output.
metadata.negative_promptstringWhat to avoid.
  • Billed per second at the rounded-up duration tier.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "agnes-video-v2.0",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "resolution": "720p",
  "duration": 5,
  "aspect_ratio": "16:9",
  "seed": 42,
  "metadata": {
    "agnes_mode": "keyframe",
    "negative_prompt": "blurry, low quality, text"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (12)
tiercredits
resolution=720p · duration=345
resolution=720p · duration=575
resolution=720p · duration=10150
resolution=720p · duration=18270
resolution=480p · duration=345
resolution=480p · duration=575
resolution=480p · duration=10150
resolution=480p · duration=18270
resolution=1080p · duration=345
resolution=1080p · duration=575
resolution=1080p · duration=10150
resolution=1080p · duration=18270

xAI · 2

grok-imagine-video

xAI Grok Imagine — text-to-video or image-to-video.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring480p | 720p | 1080pOutput resolution tier. Changes the price.
durationinteger1–15 s (default 5)Length in seconds. Billed per second.
imagesstring[]Optional: 1 image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "grok-imagine-video",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "duration": 5,
  "aspect_ratio": "16:9"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (15)
tiercredits
duration=1100
duration=2200
duration=3300
duration=4400
duration=5500
duration=6600
duration=7700
duration=8800
duration=9900
duration=101000
duration=111100
duration=121200
duration=131300
duration=141400
duration=151500
grok-imagine-video-1.5

xAI Grok Imagine 1.5 — image-to-video only.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring480p | 720p | 1080pOutput resolution tier. Changes the price.
durationinteger1–15 s (default 5)Length in seconds. Billed per second.
imagesstring[]Required: 1 image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "grok-imagine-video-1.5",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "duration": 5,
  "aspect_ratio": "16:9"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (15)
tiercredits
duration=1150
duration=2300
duration=3450
duration=4600
duration=5750
duration=6900
duration=71050
duration=81200
duration=91350
duration=101500
duration=111650
duration=121800
duration=131950
duration=142100
duration=152250

OpenAI · 1

sora-2

OpenAI Sora 2 text-to-video / image-to-video.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
durationinteger4 | 8 | 12 s (default 4) — 4 | 8 | 12 (others snap to the nearest)Length in seconds. Changes the price.
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
imagesstring[]Optional: 1 image.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "sora-2",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "duration": 4,
  "aspect_ratio": "16:9"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (3)
tiercredits
duration=4600
duration=81200
duration=121800

Google · 1

veo3.1

Google Veo 3.1 (fast). Fixed 8-second clips; an input image selects image-to-video.

Inputs: prompt required · images optional (max 3)
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
resolutionstring720p | 1080pOutput resolution tier. Changes the price.
imagesstring[]Up to 3 images (the first is the start frame).
  • duration is fixed at 8 s and cannot be changed.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "veo3.1",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg",
    "https://example.com/input-2.jpg"
  ],
  "aspect_ratio": "16:9"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (2)
tiercredits
flat1500
image_to_video1500

Runway · 1

runway-gen4-turbo

Runway Gen-4 Turbo — image-to-video only.

Inputs: prompt required · 1 image required (max 1)
FieldTypeValuesDescription
imagesstring[]Required: 1 image.
durationinteger5 | 10 s (default 5)Length in seconds. Changes the price.
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "runway-gen4-turbo",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "duration": 5,
  "aspect_ratio": "16:9"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
Price tiers (2)
tiercredits
duration=5200
duration=10400

Luma · 1

luma-ray-2-flash

Luma Ray 2 Flash text-to-video.

Inputs: prompt required
FieldTypeValuesDescription
aspect_ratiostring1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21 (unsupported values snap to the nearest)Output aspect ratio.
metadata.loopbooleanSeamless loop.
  • Flat price.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "luma-ray-2-flash",
  "prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
  "aspect_ratio": "16:9",
  "metadata": {
    "loop": false
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Audio models

Text-to-speech models read prompt as the text to speak (per 1,000 characters); music models read it as a description (per task or per second). Per-second models reserve a maximum at submit and settle on the real length.

ElevenLabs · 3

eleven-v3

ElevenLabs Eleven v3 text-to-speech with expressive audio tags like [whispering], [laughing].

Inputs: prompt required
FieldTypeValuesDescription
metadata.voice_idstringdefault: George (JBFqnCBsd6RMkjVDRZzb)ElevenLabs voice id.
metadata.stabilitynumber0–1Lower = wider emotional range.
metadata.similarity_boostnumber0–1How closely to match the original voice.
metadata.stylenumberStyle exaggeration (non-zero adds latency).
metadata.speednumber1.0 = normalSpeaking speed.
metadata.use_speaker_boostbooleanBoost similarity to the original speaker.
metadata.language_codestringISO 639-1Omit for auto-detection.
  • prompt is the text to speak, max 5,000 characters. Billed per 1,000 characters at submit. Output MP3.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "eleven-v3",
  "prompt": "Hello from GlobalGPT. This is a short test sentence.",
  "metadata": {
    "voice_id": "JBFqnCBsd6RMkjVDRZzb",
    "stability": 0.5,
    "similarity_boost": 0.75,
    "style": 0.2,
    "speed": 1,
    "use_speaker_boost": true,
    "language_code": "en"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
eleven-multilingual-v2

ElevenLabs Multilingual v2 text-to-speech — 29 languages, steady long-form narration (audio tags are read literally).

Inputs: prompt required
FieldTypeValuesDescription
metadata.voice_idstringdefault: George (JBFqnCBsd6RMkjVDRZzb)ElevenLabs voice id.
metadata.stabilitynumber0–1Lower = wider emotional range.
metadata.similarity_boostnumber0–1How closely to match the original voice.
metadata.stylenumberStyle exaggeration (non-zero adds latency).
metadata.speednumber1.0 = normalSpeaking speed.
metadata.use_speaker_boostbooleanBoost similarity to the original speaker.
metadata.language_codestringISO 639-1Omit for auto-detection.
  • prompt is the text to speak, max 10,000 characters. Billed per 1,000 characters at submit. Output MP3.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "eleven-multilingual-v2",
  "prompt": "Hello from GlobalGPT. This is a short test sentence.",
  "metadata": {
    "voice_id": "JBFqnCBsd6RMkjVDRZzb",
    "stability": 0.5,
    "similarity_boost": 0.75,
    "style": 0.2,
    "speed": 1,
    "use_speaker_boost": true,
    "language_code": "en"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
eleven-music-v2

ElevenLabs Music v2 text-to-music. prompt describes genre, mood, instruments, vocals, structure.

Inputs: prompt required
FieldTypeValuesDescription
durationinteger10–300 s (default 30) — 10–300 (default 30)Requested length in seconds; billed per second at submit.
metadata.force_instrumentalbooleanNo vocals.
  • Output MP3 (44.1 kHz, 128 kbps).
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "eleven-music-v2",
  "prompt": "A calm piano melody with soft strings, 90 BPM",
  "duration": 30,
  "metadata": {
    "force_instrumental": false
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Alibaba · 1

qwen-audio-3.0-tts-flash

Alibaba Qwen-Audio TTS — Chinese-first multilingual speech, 49 voices including Chinese dialects. Output WAV.

Inputs: prompt required
FieldTypeValuesDescription
metadata.voicestringe.g. Cherry (default), Ethan, Jada, DylanVoice name; an unknown voice fails the task.
metadata.language_typestringAuto (default), Chinese, English, …Language hint; set it when using dialect voices.
  • prompt is the text to speak, max 4,096 characters. Billed per 1,000 characters.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "qwen-audio-3.0-tts-flash",
  "prompt": "Hello from GlobalGPT. This is a short test sentence.",
  "metadata": {
    "voice": "Cherry",
    "language_type": "Auto"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

ByteDance · 1

seed-audio-1.0

ByteDance Seed-Audio 1.0 — finished audio from one prompt: multi-character dialogue, emotion, music and effects (up to 120 s). Exactly one reference source: audio, images or metadata.speaker.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
audiostringReference audio URL (≤ 30 s, ≤ 10 MB; wav/mp3/pcm/ogg).
imagesstring[]Optional: 1 reference image (jpeg/png/webp, ≤ 10 MB).
metadata.speakerstringDoubao TTS voice id or cloned voice id.
metadata.speech_ratenumberSpeaking rate.
metadata.loudness_ratenumberLoudness.
metadata.pitch_ratenumberPitch.
  • prompt max 3,000 characters; address a reference audio as @音频1.
  • Reserved for 120 s at submit, settled to the real output length.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seed-audio-1.0",
  "prompt": "Hello from GlobalGPT. This is a short test sentence.",
  "images": [
    "https://example.com/input-1.jpg"
  ],
  "audio": "https://example.com/reference.mp3",
  "metadata": {
    "speaker": "zh_female_xiaohe",
    "speech_rate": 1,
    "loudness_rate": 1,
    "pitch_rate": 1
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Mureka · 2

mureka-v9-song

Mureka V9 — sings your lyrics as a full song. prompt = the lyrics (section tags like [Verse] / [Chorus] supported).

Inputs: prompt required
FieldTypeValuesDescription
metadata.style_promptstring≤ 1,024 charactersGenre, mood, instruments, vocals.
  • prompt max 3,000 characters. Flat price per track.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "mureka-v9-song",
  "prompt": "[Verse]\nCity lights are fading out\n[Chorus]\nWe keep on driving",
  "metadata": {
    "style_prompt": "warm acoustic folk, female vocal"
  }
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
mureka-v9-bgm

Mureka V9 — instrumental background music from a description.

Inputs: prompt required

No optional parameters — send model and prompt.

  • prompt max 1,024 characters. Flat price per track.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "mureka-v9-bgm",
  "prompt": "A calm piano melody with soft strings, 90 BPM"
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Google · 2

lyria-3-clip

Google Lyria 3 — 30-second music clip from a prompt (genre, mood, instruments, BPM). English prompts recommended.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
imagesstring[]Optional: 1 reference image whose mood inspires the music.
  • Flat price. seed / negative_prompt are ignored.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "lyria-3-clip",
  "prompt": "A calm piano melody with soft strings, 90 BPM",
  "images": [
    "https://example.com/input-1.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."
lyria-3-pro

Google Lyria 3 Pro — music up to 3 minutes, length steered by the prompt.

Inputs: prompt required · images optional (max 1)
FieldTypeValuesDescription
imagesstring[]Optional: 1 reference image whose mood inspires the music.
  • Flat price. seed / negative_prompt are ignored.
Example request (all parameters)
# 1) submit
curl https://api2.glbgpt.com/ai-api/open/v1/tasks \
  -H "Authorization: Bearer sk-glb-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "lyria-3-pro",
  "prompt": "A calm piano melody with soft strings, 90 BPM",
  "images": [
    "https://example.com/input-1.jpg"
  ]
}'

# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api2.glbgpt.com/ai-api/open/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."

Usage

GET /v1/usage?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD (UTC, up to 90 days, default last 30) returns per-day totals and a per-model breakdown of credits, requests and tokens for API traffic only. The same numbers are on the Usage page.

Errors & limits

Errors use the OpenAI envelope: {"error": {"message", "type", "code", "trace_id"}} with a real HTTP status. 429 responses include Retry-After.

HTTPcodeMeaning
400invalid_requestBody validation failed — the message says which field.
400upstream_rejected / context_length_exceeded / content_policy_violationThe model provider refused the chat request.
401missing_api_key / invalid_api_keySend Authorization: Bearer sk-glb-…
402insufficient_creditNot enough paid credits. Top up or subscribe.
402paid_only_channelThe API never spends free or trial credits.
402plan_requiredThe model is not included in your plan.
404not_found / model_not_foundUnknown model, retired model (message names the successor), or task not yours.
409idempotency_in_progressSame Idempotency-Key is still being processed.
422idempotency_key_reusedSame Idempotency-Key with a different body.
429rate_limit_exceeded / too_many_auth_failuresPer-account limits (60 req/min, 5 chat streams, 10 media tasks in flight) or repeated bad keys from one IP. Honour Retry-After.
502upstream_error / model_unavailableProvider failed or has no capacity for this model right now. Retry or switch model.

Rate limits per account: 60 requests per minute, 5 concurrent chat streams, 10 media tasks in flight. Ask us if you need more.