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
| Item | Value |
|---|---|
| Base URL | https://api.glbgpt.com/v1 |
| Authentication | Authorization: Bearer sk-glb-… — create keys under API Keys. X-API-Key is accepted too. |
| Limits | 60 requests/min, 5 concurrent chat streams, 10 media tasks in flight, 5 active keys — per account. |
from openai import OpenAI
client = OpenAI(
api_key="sk-glb-...",
base_url="https://api.glbgpt.com/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.
| Field | Type | Description |
|---|---|---|
| modelrequired | string | A chat model id from GET /v1/models (type=chat), e.g. gpt-6-astra. |
| messagesrequired | array | OpenAI message objects: system / user / assistant / tool. Text and image_url content parts are forwarded as-is. |
| stream | boolean | true = Server-Sent Events chat.completion.chunk frames. The last frame before [DONE] carries usage. |
| max_tokens | integer | Output 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_penalty | — | Forwarded unchanged to the model when it supports them. |
| tools, tool_choice | array / string | OpenAI function calling. tool_calls come back in the same shape, streamed or not. |
| response_format | object | json_object / json_schema where the model supports it. |
| reasoning_effort | string | none | low | medium | high for reasoning models. If you omit it, we apply the model's known-good default. |
| n | integer | Only 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
| Model | Provider | Input / 1K tokens | Output / 1K tokens | |
|---|---|---|---|---|
| glm-5.3 | Zhipu | 5 cr | 15 cr | |
| glm-5.3-flash | Zhipu | 1 cr | 1 cr | |
| glm-5.2 | Zhipu | 5 cr | 15 cr | |
| claude-sonnet-5 | Anthropic | 7 cr | 33 cr | |
| claude-opus-5 | Anthropic | 17 cr | 83 cr | |
| gpt-6-astra | OpenAI | 23 cr | 117 cr | |
| gpt-5.6-sol | OpenAI | 17 cr | 100 cr | |
| gpt-5.6-luna | OpenAI | 1 cr | 4 cr | |
| gpt-5.6-terra | OpenAI | 7 cr | 40 cr | |
| deepseek-v4.1-flash | DeepSeek | 1 cr | 4 cr | |
| gpt-5.5 | OpenAI | 9 cr | 78 cr | |
| gpt-4o | OpenAI | 10 cr | 30 cr | |
| deepseek-v4-pro | DeepSeek | 4 cr | 13 cr | |
| gpt-5.4-nano | OpenAI | 1 cr | 4 cr | |
| gpt-5.4-mini | OpenAI | 3 cr | 15 cr | |
| kimi-k3 | Moonshot | 10 cr | 50 cr | |
| qwen3.8-max | Qwen | 7 cr | 20 cr | |
| qwen3.8-flash | Qwen | 1 cr | 2 cr | |
| gemini-3.5-flash-lite | 1 cr | 8 cr | ||
| gemini-3.8-flash | 5 cr | 25 cr | ||
| agnes-2.5-flash | 1 cr | 1 cr | ||
| agnes-3.0-flash | 1 cr | 1 cr | ||
| gpt-6.1-sol | OpenAI | 5 cr | 23 cr | |
| gpt-6.1-terra | OpenAI | 3 cr | 17 cr | |
| gpt-6-luna | OpenAI | 0 cr | 1 cr | |
| claude-opus-5.5 | Anthropic | 17 cr | 83 cr | |
| claude-opus-4.8 | Anthropic | 17 cr | 83 cr | |
| claude-fable-5 | Anthropic | 33 cr | 167 cr | |
| claude-fable-5.1 | Anthropic | 33 cr | 167 cr | |
| claude-opus-4.7 | Anthropic | 17 cr | 83 cr | |
| claude-opus-4.5 | Anthropic | 17 cr | 83 cr | |
| claude-opus-4.6 | Anthropic | 17 cr | 83 cr | |
| claude-sonnet-5.5 | Anthropic | 7 cr | 33 cr | |
| claude-haiku-4.5 | Anthropic | 3 cr | 17 cr | |
| claude-haiku-5.5 | Anthropic | 2 cr | 8 cr | |
| gemini-4-argon | 7 cr | 33 cr | ||
| kimi-k3.1-pro | Moonshot | 7 cr | 33 cr | |
| muse-wonder | Meta | 13 cr | 67 cr | |
| minimax-m3.1-flash | MiniMax | 0 cr | 2 cr | |
| gemini-3.1-pro | 10 cr | 50 cr | ||
| gemini-3.6-flash | 5 cr | 25 cr | ||
| gemini-3-pro | 13 cr | 60 cr | ||
| gemini-omni-flash-preview | 5 cr | 30 cr | ||
| gemini-3-flash | 2 cr | 10 cr | ||
| gemini-3.1-flash-lite | 1 cr | 5 cr | ||
| gemini-2.5-flash | 1 cr | 8 cr | ||
| gemini-2.5-pro | 8 cr | 50 cr | ||
| grok-4.3 | xAI | 4 cr | 8 cr | |
| grok-4.6 | xAI | 7 cr | 20 cr | |
| kimi-k2.6 | Moonshot | 3 cr | 13 cr | |
| muse-spark-1.2 | Meta | 4 cr | 14 cr | |
| muse-spark-1.3 | Meta | 4 cr | 14 cr |
Responses API
POST /v1/responses is the OpenAI Responses API on the same keys and prices. Use it when your tool speaks Responses rather than chat completions — Codex, the OpenAI Agents SDK, client.responses.create(...) in the official SDKs. Streaming events are passed through verbatim; stream:false returns the final response object. Not every chat model is on it yet: check endpoints on the model object in GET /v1/models — the GPT, GLM, Qwen, Grok and Muse Spark families, deepseek-v4-pro and gemini-3.8-flash are; Claude, the other Gemini models and Kimi answer 400 here until their providers support the format.
| Field | Type | Description |
|---|---|---|
| modelrequired | string | A chat model whose entry in GET /v1/models lists "/v1/responses" under endpoints — today the GPT, GLM, Qwen, Grok and Muse Spark families plus deepseek-v4-pro and gemini-3.8-flash. Other models answer 400 here; use /v1/chat/completions for them. Same prices as chat completions. |
| inputrequired | string / array | A prompt string, or the full list of input items (messages, function_call_output, …). Send the whole history every time — there is no server-side state. |
| instructions | string | System-level instructions for this response. |
| stream | boolean | true = Server-Sent Events (response.created → deltas → response.completed). The response.completed event carries usage. |
| tools, tool_choice, parallel_tool_calls | array / string / boolean | Client-executed tools: function, custom, and namespace groups of them — the set Codex and the Agents SDK send. web_search is accepted but ignored (no browsing). Priced built-ins (file_search, code_interpreter, image_generation, mcp, computer_use) are rejected with 400. |
| reasoning | object | {"effort": "low|medium|high", "summary": "auto"} for reasoning models. Reasoning tokens are billed as output tokens. |
| include | array | e.g. ["reasoning.encrypted_content"] so a stateless client (Codex) can carry reasoning across turns. |
| max_output_tokens, temperature, top_p, text, metadata, prompt_cache_key, truncation | — | Forwarded unchanged when the model supports them. |
Not supported (rejected with 400 before any charge): previous_response_id, conversation, store: true (forced to false), background: true, priced built-in tools (web_search is ignored, not rejected). Keep the conversation on your side and resend the full input — including function_call / function_call_output items — on every turn, exactly as Codex does with store:false. You are billed on usage.input_tokens and usage.output_tokens of the response.completed event.
Function calling
{
"model": "gpt-6-astra",
"input": "What's the weather in Tokyo?",
"tools": [{
"type": "function",
"name": "get_weather",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}
}],
"stream": true
}The output contains a function_call item with call_id, name and arguments; append it and a {"type":"function_call_output","call_id":…,"output":…} item to input for the next request.
Codex
# ~/.codex/config.toml model = "gpt-6-astra" model_provider = "globalgpt" [model_providers.globalgpt] name = "GlobalGPT" base_url = "https://api.glbgpt.com/v1" env_key = "GLOBALGPT_API_KEY" wire_api = "responses"
Then export GLOBALGPT_API_KEY=sk-glb-…. Codex sends store:false and include: ["reasoning.encrypted_content"], which is exactly the stateless shape this endpoint expects.
Anthropic Messages
Use the same GlobalGPT API key with Claude Desktop, Claude Code or CC Switch. Messages supports streaming, client tools, images, text documents and prompt caching. Select a chat model listed for/v1/messages in GET /v1/models. POST /v1/messages/count_tokensreturns an input token estimate without charging credits.
| Item | Value |
|---|---|
| Gateway base URL | https://api.glbgpt.com |
| API key | sk-glb-... |
| Authentication | x-api-key |
Claude Desktop
In Settings, open Configure third-party inference. Choose Gateway for Connection, enter the Gateway base URL above, choose Static API key for Credential kind, paste your GlobalGPT key, and selectx-api-key for the auth scheme.
Claude Code
export ANTHROPIC_BASE_URL=https://api.glbgpt.com export ANTHROPIC_API_KEY=sk-glb-... export ANTHROPIC_MODEL=claude-opus-4.6
Set ANTHROPIC_DEFAULT_HAIKU_MODEL only if your client needs a separate fast model. Claude Code can also use other chat models listed for Messages, such as deepseek-v4-pro.
CC Switch
Add a provider with the same Gateway base URL and API key, then select a Messages-compatible model. Routing mode uses the same endpoint.
The Messages API does not provide Batches, Files, MCP servers, containers or provider-hosted web search, web fetch and code execution tools. Client-executed tools remain available. Usage is billed in credits; cached input receives the configured cache discount.
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.
| Method | Path | Purpose |
|---|---|---|
| POST /v1/tasks | Submit 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/estimate | Same body as submit; returns the billing tier and credits without creating a task. | |
| GET /v1/models?type=image|video|audio | Every 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.
| Field | Type | Description |
|---|---|---|
| modelrequired | string | Media model id, e.g. kling-v3, gpt-image-2.5, eleven_v4. |
| prompt | string | Text prompt. Required for most models; optional for the image tools (remove-bg, face-swap…). Max 20,000 characters, some models cap lower. |
| images | string[] | 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_url | string | Public https URL of a source / reference video, for models that accept one. |
| aspect_ratio | string | e.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. |
| resolution | string | One of the model's listed values (case-insensitive aliases accepted). Changes the price tier. |
| duration | integer | Seconds, within the model's range or set. Changes the price tier. Ignored for fixed-length models. |
| seed | integer | Deterministic sampling where the provider supports it. |
| negative_prompt | string | What to avoid, for models that support it. |
| watermark | boolean | Provider watermark on/off where offered. |
| audio | boolean | Generate audio with the video (kling-v3, kling-v2-6, wan…). Selects the audio price tier. |
| draft | boolean | flux-3-video: cheaper draft render (hd only). |
| metadata | object | Model-specific extras (see each model's metadata keys). Unknown keys are dropped and reported in ignored_parameters. |
| Idempotency-Key (header) | string | Retry the same submit safely: same key + same body returns the original task (Idempotent-Replayed: true); same key + different body → 422. |
# submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Lifecycle & polling
| status | Meaning |
|---|---|
| queued | Accepted, credits reserved, waiting for a worker. |
| processing | Sent to the provider (or being retried after a transient provider error). |
| succeeded | output.url is ready. Charged the reserved amount (audio models: settled on real length). |
| failed | error.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.code | retryable | Meaning |
|---|---|---|
| invalid_input | no | Provider rejected the input — unreachable media URL, unsupported combination, or an input without the expected content (e.g. no face detected). |
| content_policy_violation | no | Blocked by the provider's safety policy or a real-person likeness rule. |
| rate_limited | yes | Provider busy. Retry in a moment. |
| provider_unavailable | yes | Provider outage after our retries (4 attempts over ~15 minutes). Resubmit later. |
| generation_failed | no | Anything 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
OpenAI image generation and editing. Send images for edit / reference; the output is one image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| images | string[] | — | Up to 4 input image URL(s) for editing or reference. |
| metadata.background | string | transparent | opaque | auto | Background handling (invalid values are dropped). |
| metadata.output_format | string | png | jpeg | webp | Output file format. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."OpenAI image generation and editing. Send images for edit / reference; the output is one image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| images | string[] | — | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ByteDance · 4
ByteDance Seedream 5.0 Flash image generation and editing. Send reference images for editing; each task produces one image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | auto | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 3:2 | 2:3 | 2:1 | 1:2 | 21:9 (default auto) | Output aspect ratio. |
| resolution | string | 1K | 1.5K | 2K (default 1K) | Output resolution tier. Does not change the price. |
| images | string[] | — | Up to 10 ordered public HTTP(S) reference image URLs. Original URLs are forwarded unchanged; data URIs and private upload keys are not accepted. |
| watermark | boolean | false (default) | true | Whether to add a provider watermark. |
| metadata.output_format | string | png (default) | jpeg | Output file format. |
| metadata.prompt_optimize_mode | string | standard (optional) | Request standard prompt optimization. Omit to use the provider's native behavior. |
| n | integer | 1 | One output image per task. Omit or send 1; other values are rejected. |
- Send JSON with a non-empty prompt. Flat price per image, regardless of resolution or reference count.
- size, mode, seed, negative_prompt, layers and other unsupported parameters are rejected before billing. 4K, 9:21 and fast prompt optimization are not supported.
- With auto aspect ratio, the output framing may vary by provider; image editing can follow the first reference image's ratio.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5-0-flash",
"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",
"watermark": false,
"metadata": {
"output_format": "png",
"prompt_optimize_mode": "standard"
}
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ByteDance Seedream text-to-image / image-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 2K | 4K (anything lower resolves to 2K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 reference images. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.output_format | string | png | jpeg | Output file format. |
| metadata.prompt_optimize_mode | string | standard | fast | How 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ByteDance Seedream text-to-image / image-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 1K | 2K (no 4K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 reference images. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.output_format | string | png | jpeg | Output file format. |
| metadata.prompt_optimize_mode | string | standard | fast | How 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ByteDance Seedream text-to-image / image-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 2K | 4K (anything lower resolves to 2K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 reference images. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.output_format | string | png | jpeg | Output file format. |
| metadata.prompt_optimize_mode | string | standard | fast | How 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Google · 4
Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus 4:5 and 5:4 | Output aspect ratio. |
| images | string[] | — | Up to 10 reference images (provider cap 14). |
| seed | integer | — | Random seed for reproducible output. |
- Flat price; no resolution control (output size follows the model default).
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus 4:5 and 5:4 | Output aspect ratio. |
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 reference images (provider cap 14). |
| seed | integer | — | Random seed for reproducible output. |
- Priced by resolution tier. 9:21 is clamped to 9:16.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (4)
| tier | credits |
|---|---|
| resolution=1K | 300 |
| resolution=0.5K | 200 |
| resolution=2K | 400 |
| resolution=4K | 600 |
Google Nano Banana 2.1 image generation and editing. Send images for editing or reference.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9 | Output aspect ratio. |
| resolution | string | 1K | 2K | 4K (default 1K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 14 reference image URLs. |
- PNG output; web search and image search are disabled on this API. seed is not supported.
- Priced by resolution tier. 9:21 is mapped to 9:16.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2.1",
"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"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (3)
| tier | credits |
|---|---|
| resolution=1K | 200 |
| resolution=2K | 300 |
| resolution=4K | 500 |
Google Nano Banana (Gemini image). Text-to-image, or editing / multi-reference with images.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus 4:5 and 5:4 | Output aspect ratio. |
| resolution | string | 1K | 2K | 4K (default 1K) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 reference images (provider cap 14). |
| seed | integer | — | Random seed for reproducible output. |
- Priced by resolution tier (4K is the highest).
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (2)
| tier | credits |
|---|---|
| resolution=1K | 500 |
| resolution=4K | 1000 |
Black Forest Labs · 7
Black Forest Labs FLUX 3 Image. Generate an image from a prompt, or send reference images for editing and composition.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | auto | 21:9 | 2:1 | 16:9 | 3:2 | 7:5 | 4:3 | 5:4 | 1:1 | 4:5 | 3:4 | 5:7 | 2:3 | 9:16 | 1:2 | 9:21 (default auto) | Output aspect ratio. |
| resolution | string | 768sq | 1k | 1.5k | 2k | 4k (default 1k) | Output resolution tier. Changes the price. |
| images | string[] | — | Up to 10 ordered public HTTP(S) image URLs. Original URLs are forwarded unchanged; data URIs and file uploads are not accepted. |
| n | integer | 1 | One output image per task; other values are rejected. |
- Send JSON with a non-empty prompt. Priced by resolution tier.
- Legacy seed, safety_tolerance, size, mode and other unsupported parameters are rejected before billing.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-image",
"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"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (5)
| tier | credits |
|---|---|
| resolution=768sq | 110 |
| resolution=1k | 130 |
| resolution=1.5k | 190 |
| resolution=2k | 270 |
| resolution=4k | 1620 |
Black Forest Labs FLUX text-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted) | Image tier, mapped to pixel width × height. Does not change the price. |
| seed | integer | — | Random seed for reproducible output. |
| metadata.prompt_upsampling | boolean | — | Let the provider enrich the prompt. |
| metadata.output_format | string | jpeg | png | webp (default jpeg) | Output file format; invalid values are dropped. |
| metadata.steps | integer | 1–50 (clamped) | Diffusion steps. |
| metadata.guidance | number | 1.5–5 (clamped) | Guidance scale. |
- Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Black Forest Labs FLUX text-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted) | Image tier, mapped to pixel width × height. Does not change the price. |
| seed | integer | — | Random seed for reproducible output. |
| metadata.prompt_upsampling | boolean | — | Let the provider enrich the prompt. |
| metadata.output_format | string | jpeg | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Black Forest Labs FLUX 1.1 Ultra — highest quality, aspect passed straight through, no resolution tier.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| seed | integer | — | Random seed for reproducible output. |
| metadata.prompt_upsampling | boolean | — | Let the provider enrich the prompt. |
| metadata.output_format | string | jpeg | png | webp (default jpeg) | Output file format; invalid values are dropped. |
| metadata.raw | boolean | — | Less-processed, more photographic look (Ultra's signature option). |
- Flat price per image regardless of parameters.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Black Forest Labs FLUX text-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 0.5K, 1K, 2K, 4K (video-style 480p/720p/1080p are converted) | Image tier, mapped to pixel width × height. Does not change the price. |
| images | string[] | — | Up to 8 reference images (multi-reference). |
| seed | integer | — | Random seed for reproducible output. |
| metadata.prompt_upsampling | boolean | — | Let the provider enrich the prompt. |
| metadata.output_format | string | jpeg | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Black Forest Labs FLUX Kontext — image editing driven by a prompt.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| images | string[] | — | 1 to 4 input images (required; multi-reference is experimental upstream). |
| seed | integer | — | Random seed for reproducible output. |
| metadata.prompt_upsampling | boolean | — | Let the provider enrich the prompt. |
| metadata.output_format | string | jpeg | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."FLUX 3 Image Klein: fast text-to-image or up to 10 references; five resolution tiers; seed, metadata.steps 1-16
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 768sq | 1k | 1.5k | 2k | 4k (default 1k) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.steps | — | — | Diffusion steps (provider range, e.g. 1–40). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-image-klein",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1k"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (5)
| tier | credits |
|---|---|
| resolution=768sq | 21 |
| resolution=1k | 24 |
| resolution=1.5k | 29 |
| resolution=2k | 37 |
| resolution=4k | 96 |
Ideogram · 7
Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | Ideogram's 15 ratios (see Ideogram 3.0) | Output aspect ratio. |
| resolution | string | 1K | 2K (default 2K); an exact WxH from Ideogram's official list is also accepted | Output tier. Does not change the price. |
| images | string[] | — | Exactly one image (≤ 10 MB) switches to remix / image-to-image. |
| metadata.aesthetics | string | — | Style description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt. |
| metadata.art_style | string | — | Style description — free text. |
| metadata.lighting | string | — | Style description — free text. |
| metadata.medium | string | — | Style description — free text. |
| metadata.photo | string | — | Style description — free text. |
| metadata.color_palette | string[] | ["#RRGGBB", ...] | Palette as hex strings (malformed entries dropped). |
| metadata.image_weight | integer | 1–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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | Ideogram's 15 ratios (see Ideogram 3.0) | Output aspect ratio. |
| resolution | string | 1K | 2K (default 2K); an exact WxH from Ideogram's official list is also accepted | Output tier. Does not change the price. |
| images | string[] | — | Exactly one image (≤ 10 MB) switches to remix / image-to-image. |
| metadata.aesthetics | string | — | Style description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt. |
| metadata.art_style | string | — | Style description — free text. |
| metadata.lighting | string | — | Style description — free text. |
| metadata.medium | string | — | Style description — free text. |
| metadata.photo | string | — | Style description — free text. |
| metadata.color_palette | string[] | ["#RRGGBB", ...] | Palette as hex strings (malformed entries dropped). |
| metadata.image_weight | integer | 1–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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.0. Text-to-image, styled text-to-image (metadata style keys), or remix with exactly one input image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | Ideogram's 15 ratios (see Ideogram 3.0) | Output aspect ratio. |
| resolution | string | 1K | 2K (default 2K); an exact WxH from Ideogram's official list is also accepted | Output tier. Does not change the price. |
| images | string[] | — | Exactly one image (≤ 10 MB) switches to remix / image-to-image. |
| metadata.aesthetics | string | — | Style description — free text. Any style key switches the request to Ideogram's structured prompt and disables magic prompt. |
| metadata.art_style | string | — | Style description — free text. |
| metadata.lighting | string | — | Style description — free text. |
| metadata.medium | string | — | Style description — free text. |
| metadata.photo | string | — | Style description — free text. |
| metadata.color_palette | string[] | ["#RRGGBB", ...] | Palette as hex strings (malformed entries dropped). |
| metadata.image_weight | integer | 1–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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.5 Very Low (edits only)
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.magic_prompt | — | — | Ideogram prompt enhancement: AUTO | ON | OFF. |
| metadata.background | — | — | gpt-image: transparent | opaque | auto. |
| metadata.edit_mode | — | — | Forwarded to the provider. |
| metadata.mask_url | — | — | Forwarded to the provider. |
| metadata.context_window | — | — | Forwarded to the provider. |
| metadata.style_type | — | — | Ideogram style preset (AUTO, GENERAL, REALISTIC, DESIGN…). |
| metadata.style_preset | — | — | Named style preset (provider enum). |
| metadata.style_codes | — | — | Ideogram style code(s) for consistent looks. |
| metadata.color_palette | — | — | Ideogram palette preset or explicit colours. |
| metadata.aesthetics | — | — | Image tools: aesthetics preset. |
| metadata.art_style | — | — | Image tools: art style preset. |
| metadata.lighting | — | — | Image tools: lighting preset. |
| metadata.medium | — | — | Image tools: rendering medium (provider enum). |
| metadata.photo | — | — | Image tools: treat the input as a photo (provider flag). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "ideogram-v4.5-very-low",
"prompt": "A red bicycle leaning on a white wall, photo",
"images": [
"https://example.com/input-1.jpg"
]
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.5 Low
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.magic_prompt | — | — | Ideogram prompt enhancement: AUTO | ON | OFF. |
| metadata.background | — | — | gpt-image: transparent | opaque | auto. |
| metadata.edit_mode | — | — | Forwarded to the provider. |
| metadata.mask_url | — | — | Forwarded to the provider. |
| metadata.context_window | — | — | Forwarded to the provider. |
| metadata.style_type | — | — | Ideogram style preset (AUTO, GENERAL, REALISTIC, DESIGN…). |
| metadata.style_preset | — | — | Named style preset (provider enum). |
| metadata.style_codes | — | — | Ideogram style code(s) for consistent looks. |
| metadata.color_palette | — | — | Ideogram palette preset or explicit colours. |
| metadata.aesthetics | — | — | Image tools: aesthetics preset. |
| metadata.art_style | — | — | Image tools: art style preset. |
| metadata.lighting | — | — | Image tools: lighting preset. |
| metadata.medium | — | — | Image tools: rendering medium (provider enum). |
| metadata.photo | — | — | Image tools: treat the input as a photo (provider flag). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "ideogram-v4.5-low",
"prompt": "A red bicycle leaning on a white wall, photo"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.5 Medium
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.magic_prompt | — | — | Ideogram prompt enhancement: AUTO | ON | OFF. |
| metadata.background | — | — | gpt-image: transparent | opaque | auto. |
| metadata.edit_mode | — | — | Forwarded to the provider. |
| metadata.mask_url | — | — | Forwarded to the provider. |
| metadata.context_window | — | — | Forwarded to the provider. |
| metadata.style_type | — | — | Ideogram style preset (AUTO, GENERAL, REALISTIC, DESIGN…). |
| metadata.style_preset | — | — | Named style preset (provider enum). |
| metadata.style_codes | — | — | Ideogram style code(s) for consistent looks. |
| metadata.color_palette | — | — | Ideogram palette preset or explicit colours. |
| metadata.aesthetics | — | — | Image tools: aesthetics preset. |
| metadata.art_style | — | — | Image tools: art style preset. |
| metadata.lighting | — | — | Image tools: lighting preset. |
| metadata.medium | — | — | Image tools: rendering medium (provider enum). |
| metadata.photo | — | — | Image tools: treat the input as a photo (provider flag). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "ideogram-v4.5-medium",
"prompt": "A red bicycle leaning on a white wall, photo"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Ideogram 4.5 High
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.magic_prompt | — | — | Ideogram prompt enhancement: AUTO | ON | OFF. |
| metadata.background | — | — | gpt-image: transparent | opaque | auto. |
| metadata.edit_mode | — | — | Forwarded to the provider. |
| metadata.mask_url | — | — | Forwarded to the provider. |
| metadata.context_window | — | — | Forwarded to the provider. |
| metadata.style_type | — | — | Ideogram style preset (AUTO, GENERAL, REALISTIC, DESIGN…). |
| metadata.style_preset | — | — | Named style preset (provider enum). |
| metadata.style_codes | — | — | Ideogram style code(s) for consistent looks. |
| metadata.color_palette | — | — | Ideogram palette preset or explicit colours. |
| metadata.aesthetics | — | — | Image tools: aesthetics preset. |
| metadata.art_style | — | — | Image tools: art style preset. |
| metadata.lighting | — | — | Image tools: lighting preset. |
| metadata.medium | — | — | Image tools: rendering medium (provider enum). |
| metadata.photo | — | — | Image tools: treat the input as a photo (provider flag). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "ideogram-v4.5-high",
"prompt": "A red bicycle leaning on a white wall, photo"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Alibaba · 2
Qwen Image 3.0: text-to-image (1K/2K same price) or edit with 1-3 images
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 2K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.enable_prompt_expansion | — | — | Forwarded to the provider. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-3.0",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (4)
| tier | credits |
|---|---|
| resolution=1K | 100 |
| resolution=1K | 110 |
| resolution=1K | 120 |
| resolution=1K | 130 |
Qwen Image 3.0 Pro: 1K/2K text-to-image or edit with 1-3 images
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 2K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.enable_prompt_expansion | — | — | Forwarded to the provider. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-3.0-pro",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (8)
| tier | credits |
|---|---|
| resolution=1K | 133 |
| resolution=1K | 143 |
| resolution=1K | 153 |
| resolution=1K | 163 |
| resolution=2K | 250 |
| resolution=2K | 260 |
| resolution=2K | 270 |
| resolution=2K | 280 |
Other · 8
Krea 3: 0.5K/1K/2K; text-to-image or edit with 1-8 images (priced per output and per reference)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 0.5K | 1K | 2K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| negative_prompt | — | — | What to avoid. |
| metadata.variant | — | — | Forwarded to the provider. |
| metadata.reasoning_level | — | — | Forwarded to the provider. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "krea-v3",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (27)
| tier | credits |
|---|---|
| resolution=0.5K | 25 |
| resolution=0.5K | 50 |
| resolution=0.5K | 75 |
| resolution=0.5K | 100 |
| resolution=0.5K | 125 |
| resolution=0.5K | 150 |
| resolution=0.5K | 175 |
| resolution=0.5K | 200 |
| resolution=0.5K | 225 |
| resolution=1K | 100 |
| resolution=1K | 200 |
| resolution=1K | 300 |
| resolution=1K | 400 |
| resolution=1K | 500 |
| resolution=1K | 600 |
| resolution=1K | 700 |
| resolution=1K | 800 |
| resolution=1K | 900 |
| resolution=2K | 400 |
| resolution=2K | 800 |
| resolution=2K | 1200 |
| resolution=2K | 1600 |
| resolution=2K | 2000 |
| resolution=2K | 2400 |
| resolution=2K | 2800 |
| resolution=2K | 3200 |
| resolution=2K | 3600 |
Microsoft MAI Image 2.6: 1K/2K text-to-image or edit with 1-5 images (edit size chosen by the model)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 2K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| metadata.web_grounding | — | — | Forwarded to the provider. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "mai-image-2.6",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (7)
| tier | credits |
|---|---|
| resolution=1K | 104 |
| resolution=1K | 125 |
| resolution=1K | 146 |
| resolution=1K | 167 |
| resolution=1K | 188 |
| resolution=1K | 209 |
| resolution=2K | 233 |
Microsoft MAI Image 2.6 Flash: 1K/2K text-to-image or edit with 1-5 images (edit size chosen by the model)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 2K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| metadata.web_grounding | — | — | Forwarded to the provider. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "mai-image-2.6-flash",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (7)
| tier | credits |
|---|---|
| resolution=1K | 52 |
| resolution=1K | 59 |
| resolution=1K | 66 |
| resolution=1K | 73 |
| resolution=1K | 80 |
| resolution=1K | 87 |
| resolution=2K | 117 |
HiDream i1-dev (text-to-image)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "hidream-i1-dev",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."HiDream i1-full (text-to-image)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "hidream-i1-full",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."HiDream E1 Full (edit one image; images required)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "hidream-e1-full",
"prompt": "A red bicycle leaning on a white wall, photo",
"images": [
"https://example.com/input-1.jpg"
],
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."HiDream o1-image-dev (text-to-image or edit with 1-3 images)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "hidream-o1-image-dev",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."HiDream o1-image (text-to-image or edit with 1-3 images)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 1K | 0.5K | 2K | 4K (default 1K) | Output resolution tier. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| metadata.output_format | — | — | Image file format, e.g. png / jpeg / webp. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "hidream-o1-image",
"prompt": "A red bicycle leaning on a white wall, photo",
"resolution": "1K"
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Agnes · 1
Agnes Image 2.1 Flash — text-to-image or image-to-image.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 0.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. |
| images | string[] | — | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Image tools · 8
Remove the background from images[0].
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Remove a watermark from images[0].
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Outpaint images[0] beyond its borders; the prompt guides the new areas.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
| metadata.aspect_ratio | string | — | Output crop / canvas ratio (this tool reads it from metadata, not the top level). |
| seed | integer | — | Random seed for reproducible output. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Turn images[0] into an ID / passport photo.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
| metadata.gender | string | — | Subject gender hint. |
| metadata.aspect_ratio | string | — | Output crop / canvas ratio (this tool reads it from metadata, not the top level). |
| metadata.background | string | — | Background colour / style. |
| metadata.output_format | string | jpg | png (webp becomes png) | Output file format. |
| seed | integer | — | Random seed for reproducible output. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Swap the face from images[0] onto images[1].
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 2 images: [face source, target photo]. Both must contain a detectable face. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Change the haircut / hair colour in images[0].
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
| metadata.haircut | string | — | Target haircut name. |
| metadata.hair_color | string | — | Target hair colour. |
| metadata.gender | string | — | Subject gender hint. |
| metadata.aspect_ratio | string | — | Output crop / canvas ratio (this tool reads it from metadata, not the top level). |
| metadata.output_format | string | jpg | png (webp becomes png) | Output file format. |
| seed | integer | — | Random seed for reproducible output. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Put the garment from images[1] on the person in images[0].
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 2 images: [person, garment]. |
| metadata.category | string | upper_body | lower_body | dresses (default upper_body) | Garment category. |
| metadata.garment_des | string | defaults to the prompt | Garment description. |
| seed | integer | — | Random seed for reproducible output. |
- prompt doubles as the garment description.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Replace the background of images[0] from a prompt or a reference image.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
| metadata.ref_image_url | string | — | Reference background image (instead of a prompt). |
| negative_prompt | string | — | What to avoid. |
| seed | integer | — | Random seed for reproducible output. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Topaz · 1
Upscale images[0] (Topaz Labs, 4× by default).
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Exactly 1 image (required). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/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 · 3
Kling V3 text-to-video / image-to-video (1 image = start frame, 2 = start + end).
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3–15 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Up to 2 images: start frame, or start + end frame. |
| negative_prompt | string | — | What to avoid. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| audio | boolean | — | Generate an audio track. Selects the audio price tier. |
- Price = resolution tier × duration, plus the audio variant.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (52)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 500 |
| resolution=720p · duration=3 · audio | 700 |
| resolution=720p · duration=4 | 600 |
| resolution=720p · duration=4 · audio | 900 |
| resolution=720p · duration=5 | 700 |
| resolution=720p · duration=5 · audio | 1100 |
| resolution=720p · duration=6 | 900 |
| resolution=720p · duration=6 · audio | 1300 |
| resolution=720p · duration=7 | 1000 |
| resolution=720p · duration=7 · audio | 1500 |
| resolution=720p · duration=8 | 1200 |
| resolution=720p · duration=8 · audio | 1700 |
| resolution=720p · duration=9 | 1300 |
| resolution=720p · duration=9 · audio | 1900 |
| resolution=720p · duration=10 | 1400 |
| resolution=720p · duration=10 · audio | 2100 |
| resolution=720p · duration=11 | 1600 |
| resolution=720p · duration=11 · audio | 2400 |
| resolution=720p · duration=12 | 1700 |
| resolution=720p · duration=12 · audio | 2600 |
| resolution=720p · duration=13 | 1900 |
| resolution=720p · duration=13 · audio | 2800 |
| resolution=720p · duration=14 | 2000 |
| resolution=720p · duration=14 · audio | 3000 |
| resolution=720p · duration=15 | 2100 |
| resolution=720p · duration=15 · audio | 3200 |
| resolution=1080p · duration=3 | 600 |
| resolution=1080p · duration=3 · audio | 900 |
| resolution=1080p · duration=4 | 800 |
| resolution=1080p · duration=4 · audio | 1200 |
| resolution=1080p · duration=5 | 1000 |
| resolution=1080p · duration=5 · audio | 1400 |
| resolution=1080p · duration=6 | 1200 |
| resolution=1080p · duration=6 · audio | 1700 |
| resolution=1080p · duration=7 | 1400 |
| resolution=1080p · duration=7 · audio | 2000 |
| resolution=1080p · duration=8 | 1500 |
| resolution=1080p · duration=8 · audio | 2300 |
| resolution=1080p · duration=9 | 1700 |
| resolution=1080p · duration=9 · audio | 2600 |
| resolution=1080p · duration=10 | 1900 |
| resolution=1080p · duration=10 · audio | 2800 |
| resolution=1080p · duration=11 | 2100 |
| resolution=1080p · duration=11 · audio | 3100 |
| resolution=1080p · duration=12 | 2300 |
| resolution=1080p · duration=12 · audio | 3400 |
| resolution=1080p · duration=13 | 2500 |
| resolution=1080p · duration=13 · audio | 3700 |
| resolution=1080p · duration=14 | 2700 |
| resolution=1080p · duration=14 · audio | 4000 |
| resolution=1080p · duration=15 | 2800 |
| resolution=1080p · duration=15 · audio | 4200 |
Kling V2.6 text-to-video / image-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| duration | integer | 5 | 10 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Up to 2 images: start frame, or start + end frame. |
| negative_prompt | string | — | What to avoid. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| audio | boolean | — | Generate an audio track. Selects the audio price tier. |
- Price = resolution tier × duration, plus the audio variant.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (8)
| tier | credits |
|---|---|
| duration=5 | 600 |
| duration=5 · audio | 1200 |
| duration=5 · image_to_video | 600 |
| duration=5 · audio · image_to_video | 1200 |
| duration=10 | 1200 |
| duration=10 · audio | 2400 |
| duration=10 · image_to_video | 1200 |
| duration=10 · audio · image_to_video | 2400 |
Kling 4.0 (720p/1080p, 3-30s; text, first/last/key frames, or reference images via metadata.omni_reference_task_type=reference)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. |
| duration | integer | 3–30 s (default 5) | Length in seconds. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| metadata.omni_reference_task_type | — | — | Forwarded to the provider. |
| metadata.last_frame_image | — | — | Forwarded to the provider. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v4",
"prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
"resolution": "720p",
"duration": 5
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (56)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 1100 |
| resolution=720p · duration=4 | 1500 |
| resolution=720p · duration=5 | 1800 |
| resolution=720p · duration=6 | 2200 |
| resolution=720p · duration=7 | 2600 |
| resolution=720p · duration=8 | 2900 |
| resolution=720p · duration=9 | 3300 |
| resolution=720p · duration=10 | 3700 |
| resolution=720p · duration=11 | 4000 |
| resolution=720p · duration=12 | 4400 |
| resolution=720p · duration=13 | 4800 |
| resolution=720p · duration=14 | 5100 |
| resolution=720p · duration=15 | 5500 |
| resolution=720p · duration=16 | 5900 |
| resolution=720p · duration=17 | 6200 |
| resolution=720p · duration=18 | 6600 |
| resolution=720p · duration=19 | 7000 |
| resolution=720p · duration=20 | 7400 |
| resolution=720p · duration=21 | 7700 |
| resolution=720p · duration=22 | 8100 |
| resolution=720p · duration=23 | 8500 |
| resolution=720p · duration=24 | 8800 |
| resolution=720p · duration=25 | 9200 |
| resolution=720p · duration=26 | 9600 |
| resolution=720p · duration=27 | 9900 |
| resolution=720p · duration=28 | 10300 |
| resolution=720p · duration=29 | 10700 |
| resolution=720p · duration=30 | 11000 |
| resolution=1080p · duration=3 | 1700 |
| resolution=1080p · duration=4 | 2200 |
| resolution=1080p · duration=5 | 2800 |
| resolution=1080p · duration=6 | 3300 |
| resolution=1080p · duration=7 | 3900 |
| resolution=1080p · duration=8 | 4400 |
| resolution=1080p · duration=9 | 5000 |
| resolution=1080p · duration=10 | 5500 |
| resolution=1080p · duration=11 | 6100 |
| resolution=1080p · duration=12 | 6600 |
| resolution=1080p · duration=13 | 7200 |
| resolution=1080p · duration=14 | 7700 |
| resolution=1080p · duration=15 | 8300 |
| resolution=1080p · duration=16 | 8800 |
| resolution=1080p · duration=17 | 9400 |
| resolution=1080p · duration=18 | 9900 |
| resolution=1080p · duration=19 | 10500 |
| resolution=1080p · duration=20 | 11000 |
| resolution=1080p · duration=21 | 11600 |
| resolution=1080p · duration=22 | 12100 |
| resolution=1080p · duration=23 | 12700 |
| resolution=1080p · duration=24 | 13200 |
| resolution=1080p · duration=25 | 13800 |
| resolution=1080p · duration=26 | 14300 |
| resolution=1080p · duration=27 | 14900 |
| resolution=1080p · duration=28 | 15400 |
| resolution=1080p · duration=29 | 16000 |
| resolution=1080p · duration=30 | 16500 |
Alibaba · 2
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.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 480P | 720P | 1080P (default 720P) — (1080P costs 4× 480P) | Output resolution tier. Changes the price. |
| duration | integer | 2–30 s (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | 16:9, 4:3, 1:1, 3:4, 9:16, or adaptive | Output aspect ratio. |
| images | string[] | — | Frames: [0] first frame, [1] last frame. Cannot be mixed with metadata.reference_*. |
| metadata.reference_images | string[] | ≤ 10 | Reference images, addressed in the prompt as 图1, 图2… |
| metadata.reference_videos | string[] | ≤ 5, ≤ 15 s total | Reference videos (视频1…). |
| metadata.reference_audios | string[] | ≤ 5, ≤ 15 s total | Reference audio (音频1…). |
| metadata.reference_files | string[] | exactly 1; exclusive with reference_links | Generate from a document. |
| metadata.reference_links | string[] | exactly 1; exclusive with reference_files | Generate from a web page. |
| metadata.generate_audio | boolean | — | Audio track on/off (same price either way). |
| metadata.prompt_extend | boolean | — | Provider prompt rewrite. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | — | Provider 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (87)
| tier | credits |
|---|---|
| resolution=480P · duration=2 | 200 |
| resolution=480P · duration=3 | 300 |
| resolution=480P · duration=4 | 400 |
| resolution=480P · duration=5 | 500 |
| resolution=480P · duration=6 | 600 |
| resolution=480P · duration=7 | 700 |
| resolution=480P · duration=8 | 800 |
| resolution=480P · duration=9 | 900 |
| resolution=480P · duration=10 | 1000 |
| resolution=480P · duration=11 | 1100 |
| resolution=480P · duration=12 | 1200 |
| resolution=480P · duration=13 | 1300 |
| resolution=480P · duration=14 | 1400 |
| resolution=480P · duration=15 | 1500 |
| resolution=480P · duration=16 | 1600 |
| resolution=480P · duration=17 | 1700 |
| resolution=480P · duration=18 | 1800 |
| resolution=480P · duration=19 | 1900 |
| resolution=480P · duration=20 | 2000 |
| resolution=480P · duration=21 | 2100 |
| resolution=480P · duration=22 | 2200 |
| resolution=480P · duration=23 | 2300 |
| resolution=480P · duration=24 | 2400 |
| resolution=480P · duration=25 | 2500 |
| resolution=480P · duration=26 | 2600 |
| resolution=480P · duration=27 | 2700 |
| resolution=480P · duration=28 | 2800 |
| resolution=480P · duration=29 | 2900 |
| resolution=480P · duration=30 | 3000 |
| resolution=720P · duration=2 | 400 |
| resolution=720P · duration=3 | 600 |
| resolution=720P · duration=4 | 800 |
| resolution=720P · duration=5 | 1000 |
| resolution=720P · duration=6 | 1200 |
| resolution=720P · duration=7 | 1400 |
| resolution=720P · duration=8 | 1600 |
| resolution=720P · duration=9 | 1800 |
| resolution=720P · duration=10 | 2000 |
| resolution=720P · duration=11 | 2200 |
| resolution=720P · duration=12 | 2400 |
| resolution=720P · duration=13 | 2600 |
| resolution=720P · duration=14 | 2800 |
| resolution=720P · duration=15 | 3000 |
| resolution=720P · duration=16 | 3200 |
| resolution=720P · duration=17 | 3400 |
| resolution=720P · duration=18 | 3600 |
| resolution=720P · duration=19 | 3800 |
| resolution=720P · duration=20 | 4000 |
| resolution=720P · duration=21 | 4200 |
| resolution=720P · duration=22 | 4400 |
| resolution=720P · duration=23 | 4600 |
| resolution=720P · duration=24 | 4800 |
| resolution=720P · duration=25 | 5000 |
| resolution=720P · duration=26 | 5200 |
| resolution=720P · duration=27 | 5400 |
| resolution=720P · duration=28 | 5600 |
| resolution=720P · duration=29 | 5800 |
| resolution=720P · duration=30 | 6000 |
| resolution=1080P · duration=2 | 800 |
| resolution=1080P · duration=3 | 1200 |
| resolution=1080P · duration=4 | 1600 |
| resolution=1080P · duration=5 | 2000 |
| resolution=1080P · duration=6 | 2400 |
| resolution=1080P · duration=7 | 2800 |
| resolution=1080P · duration=8 | 3200 |
| resolution=1080P · duration=9 | 3600 |
| resolution=1080P · duration=10 | 4000 |
| resolution=1080P · duration=11 | 4400 |
| resolution=1080P · duration=12 | 4800 |
| resolution=1080P · duration=13 | 5200 |
| resolution=1080P · duration=14 | 5600 |
| resolution=1080P · duration=15 | 6000 |
| resolution=1080P · duration=16 | 6400 |
| resolution=1080P · duration=17 | 6800 |
| resolution=1080P · duration=18 | 7200 |
| resolution=1080P · duration=19 | 7600 |
| resolution=1080P · duration=20 | 8000 |
| resolution=1080P · duration=21 | 8400 |
| resolution=1080P · duration=22 | 8800 |
| resolution=1080P · duration=23 | 9200 |
| resolution=1080P · duration=24 | 9600 |
| resolution=1080P · duration=25 | 10000 |
| resolution=1080P · duration=26 | 10400 |
| resolution=1080P · duration=27 | 10800 |
| resolution=1080P · duration=28 | 11200 |
| resolution=1080P · duration=29 | 11600 |
| resolution=1080P · duration=30 | 12000 |
Alibaba Wan 3.0 Prime (480P/720P/1080P, 2-30s)
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 480P | 720P | 1080P (default 720P) | Output resolution tier. |
| duration | integer | 2–30 s (default 5) | Length in seconds. |
| aspect_ratio | — | — | Output aspect ratio, e.g. 16:9. |
| seed | — | — | Deterministic seed. |
| watermark | — | — | Provider watermark on/off. |
| metadata.reference_images | — | — | Reference image URL(s) — video models: character / style reference (not a start frame). |
| metadata.reference_videos | — | — | Reference video URL(s) for video-to-video / style reference. |
| metadata.reference_audios | — | — | Reference audio URL(s). |
| metadata.reference_files | — | — | Reference file URLs (provider-specific). |
| metadata.reference_links | — | — | Reference URLs (provider-specific). |
| metadata.generate_audio | — | — | Generate audio with the video. |
| metadata.prompt_extend | — | — | Wan: let the provider expand the prompt. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"prompt": "A small red boat drifting on a calm lake at sunrise, gentle waves",
"resolution": "720P",
"duration": 5
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (87)
| tier | credits |
|---|---|
| resolution=480P · duration=2 | 300 |
| resolution=480P · duration=3 | 500 |
| resolution=480P · duration=4 | 600 |
| resolution=480P · duration=5 | 800 |
| resolution=480P · duration=6 | 1000 |
| resolution=480P · duration=7 | 1100 |
| resolution=480P · duration=8 | 1300 |
| resolution=480P · duration=9 | 1400 |
| resolution=480P · duration=10 | 1600 |
| resolution=480P · duration=11 | 1700 |
| resolution=480P · duration=12 | 1900 |
| resolution=480P · duration=13 | 2100 |
| resolution=480P · duration=14 | 2200 |
| resolution=480P · duration=15 | 2400 |
| resolution=480P · duration=16 | 2500 |
| resolution=480P · duration=17 | 2700 |
| resolution=480P · duration=18 | 2900 |
| resolution=480P · duration=19 | 3000 |
| resolution=480P · duration=20 | 3200 |
| resolution=480P · duration=21 | 3300 |
| resolution=480P · duration=22 | 3500 |
| resolution=480P · duration=23 | 3600 |
| resolution=480P · duration=24 | 3800 |
| resolution=480P · duration=25 | 4000 |
| resolution=480P · duration=26 | 4100 |
| resolution=480P · duration=27 | 4300 |
| resolution=480P · duration=28 | 4400 |
| resolution=480P · duration=29 | 4600 |
| resolution=480P · duration=30 | 4800 |
| resolution=720P · duration=2 | 700 |
| resolution=720P · duration=3 | 1000 |
| resolution=720P · duration=4 | 1300 |
| resolution=720P · duration=5 | 1600 |
| resolution=720P · duration=6 | 2000 |
| resolution=720P · duration=7 | 2300 |
| resolution=720P · duration=8 | 2600 |
| resolution=720P · duration=9 | 2900 |
| resolution=720P · duration=10 | 3300 |
| resolution=720P · duration=11 | 3600 |
| resolution=720P · duration=12 | 3900 |
| resolution=720P · duration=13 | 4200 |
| resolution=720P · duration=14 | 4600 |
| resolution=720P · duration=15 | 4900 |
| resolution=720P · duration=16 | 5200 |
| resolution=720P · duration=17 | 5500 |
| resolution=720P · duration=18 | 5900 |
| resolution=720P · duration=19 | 6200 |
| resolution=720P · duration=20 | 6500 |
| resolution=720P · duration=21 | 6900 |
| resolution=720P · duration=22 | 7200 |
| resolution=720P · duration=23 | 7500 |
| resolution=720P · duration=24 | 7800 |
| resolution=720P · duration=25 | 8200 |
| resolution=720P · duration=26 | 8500 |
| resolution=720P · duration=27 | 8800 |
| resolution=720P · duration=28 | 9100 |
| resolution=720P · duration=29 | 9500 |
| resolution=720P · duration=30 | 9800 |
| resolution=1080P · duration=2 | 1300 |
| resolution=1080P · duration=3 | 2000 |
| resolution=1080P · duration=4 | 2600 |
| resolution=1080P · duration=5 | 3300 |
| resolution=1080P · duration=6 | 3900 |
| resolution=1080P · duration=7 | 4600 |
| resolution=1080P · duration=8 | 5200 |
| resolution=1080P · duration=9 | 5900 |
| resolution=1080P · duration=10 | 6500 |
| resolution=1080P · duration=11 | 7200 |
| resolution=1080P · duration=12 | 7800 |
| resolution=1080P · duration=13 | 8500 |
| resolution=1080P · duration=14 | 9100 |
| resolution=1080P · duration=15 | 9800 |
| resolution=1080P · duration=16 | 10400 |
| resolution=1080P · duration=17 | 11100 |
| resolution=1080P · duration=18 | 11700 |
| resolution=1080P · duration=19 | 12400 |
| resolution=1080P · duration=20 | 13100 |
| resolution=1080P · duration=21 | 13700 |
| resolution=1080P · duration=22 | 14400 |
| resolution=1080P · duration=23 | 15000 |
| resolution=1080P · duration=24 | 15700 |
| resolution=1080P · duration=25 | 16300 |
| resolution=1080P · duration=26 | 17000 |
| resolution=1080P · duration=27 | 17600 |
| resolution=1080P · duration=28 | 18300 |
| resolution=1080P · duration=29 | 18900 |
| resolution=1080P · duration=30 | 19600 |
HappyHorse · 4
HappyHorse 1.0 text-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus 4:5 and 5:4 (default 16:9; 3:2 / 2:3 snap to 4:3 / 3:4) | Output aspect ratio. |
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3–15 s (default 5) | Length in seconds. Changes the price. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | default false | Provider watermark (always sent; default false). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (26)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 1300 |
| resolution=720p · duration=4 | 1700 |
| resolution=720p · duration=5 | 2100 |
| resolution=720p · duration=6 | 2500 |
| resolution=720p · duration=7 | 2900 |
| resolution=720p · duration=8 | 3300 |
| resolution=720p · duration=9 | 3700 |
| resolution=720p · duration=10 | 4100 |
| resolution=720p · duration=11 | 4500 |
| resolution=720p · duration=12 | 4900 |
| resolution=720p · duration=13 | 5300 |
| resolution=720p · duration=14 | 5700 |
| resolution=720p · duration=15 | 6100 |
| resolution=1080p · duration=3 | 2000 |
| resolution=1080p · duration=4 | 2600 |
| resolution=1080p · duration=5 | 3200 |
| resolution=1080p · duration=6 | 3900 |
| resolution=1080p · duration=7 | 4500 |
| resolution=1080p · duration=8 | 5200 |
| resolution=1080p · duration=9 | 5800 |
| resolution=1080p · duration=10 | 6400 |
| resolution=1080p · duration=11 | 7100 |
| resolution=1080p · duration=12 | 7700 |
| resolution=1080p · duration=13 | 8400 |
| resolution=1080p · duration=14 | 9000 |
| resolution=1080p · duration=15 | 9600 |
HappyHorse 1.0 image-to-video (aspect follows the input image).
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3–15 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Required: 1 first-frame image. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | default false | Provider watermark (always sent; default false). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (26)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 1300 |
| resolution=720p · duration=4 | 1700 |
| resolution=720p · duration=5 | 2100 |
| resolution=720p · duration=6 | 2500 |
| resolution=720p · duration=7 | 2900 |
| resolution=720p · duration=8 | 3300 |
| resolution=720p · duration=9 | 3700 |
| resolution=720p · duration=10 | 4100 |
| resolution=720p · duration=11 | 4500 |
| resolution=720p · duration=12 | 4900 |
| resolution=720p · duration=13 | 5300 |
| resolution=720p · duration=14 | 5700 |
| resolution=720p · duration=15 | 6100 |
| resolution=1080p · duration=3 | 2000 |
| resolution=1080p · duration=4 | 2600 |
| resolution=1080p · duration=5 | 3200 |
| resolution=1080p · duration=6 | 3900 |
| resolution=1080p · duration=7 | 4500 |
| resolution=1080p · duration=8 | 5200 |
| resolution=1080p · duration=9 | 5800 |
| resolution=1080p · duration=10 | 6400 |
| resolution=1080p · duration=11 | 7100 |
| resolution=1080p · duration=12 | 7700 |
| resolution=1080p · duration=13 | 8400 |
| resolution=1080p · duration=14 | 9000 |
| resolution=1080p · duration=15 | 9600 |
HappyHorse 1.0 reference-to-video (1–9 reference images).
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus 4:5 and 5:4 (default 16:9; 3:2 / 2:3 snap to 4:3 / 3:4) | Output aspect ratio. |
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3–15 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Required: 1–9 reference images. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | default false | Provider watermark (always sent; default false). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (26)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 1300 |
| resolution=720p · duration=4 | 1700 |
| resolution=720p · duration=5 | 2100 |
| resolution=720p · duration=6 | 2500 |
| resolution=720p · duration=7 | 2900 |
| resolution=720p · duration=8 | 3300 |
| resolution=720p · duration=9 | 3700 |
| resolution=720p · duration=10 | 4100 |
| resolution=720p · duration=11 | 4500 |
| resolution=720p · duration=12 | 4900 |
| resolution=720p · duration=13 | 5300 |
| resolution=720p · duration=14 | 5700 |
| resolution=720p · duration=15 | 6100 |
| resolution=1080p · duration=3 | 2000 |
| resolution=1080p · duration=4 | 2600 |
| resolution=1080p · duration=5 | 3200 |
| resolution=1080p · duration=6 | 3900 |
| resolution=1080p · duration=7 | 4500 |
| resolution=1080p · duration=8 | 5200 |
| resolution=1080p · duration=9 | 5800 |
| resolution=1080p · duration=10 | 6400 |
| resolution=1080p · duration=11 | 7100 |
| resolution=1080p · duration=12 | 7700 |
| resolution=1080p · duration=13 | 8400 |
| resolution=1080p · duration=14 | 9000 |
| resolution=1080p · duration=15 | 9600 |
HappyHorse 1.0 video edit: rewrites a source video; length follows the source.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3–15 s (default 5) | Billing tier only — the output keeps the source length. |
| video_url | string | — | Source video URL (required). |
| images | string[] | — | Up to 5 reference images. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | default false | Provider watermark (always sent; default false). |
| metadata.audio_setting | string | auto | origin | Regenerate audio or keep the original track. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (26)
| tier | credits |
|---|---|
| resolution=720p · duration=3 · reference_video | 1300 |
| resolution=720p · duration=4 · reference_video | 1700 |
| resolution=720p · duration=5 · reference_video | 2100 |
| resolution=720p · duration=6 · reference_video | 2500 |
| resolution=720p · duration=7 · reference_video | 2900 |
| resolution=720p · duration=8 · reference_video | 3300 |
| resolution=720p · duration=9 · reference_video | 3700 |
| resolution=720p · duration=10 · reference_video | 4100 |
| resolution=720p · duration=11 · reference_video | 4500 |
| resolution=720p · duration=12 · reference_video | 4900 |
| resolution=720p · duration=13 · reference_video | 5300 |
| resolution=720p · duration=14 · reference_video | 5700 |
| resolution=720p · duration=15 · reference_video | 6100 |
| resolution=1080p · duration=3 · reference_video | 2000 |
| resolution=1080p · duration=4 · reference_video | 2600 |
| resolution=1080p · duration=5 · reference_video | 3200 |
| resolution=1080p · duration=6 · reference_video | 3900 |
| resolution=1080p · duration=7 · reference_video | 4500 |
| resolution=1080p · duration=8 · reference_video | 5200 |
| resolution=1080p · duration=9 · reference_video | 5800 |
| resolution=1080p · duration=10 · reference_video | 6400 |
| resolution=1080p · duration=11 · reference_video | 7100 |
| resolution=1080p · duration=12 · reference_video | 7700 |
| resolution=1080p · duration=13 · reference_video | 8400 |
| resolution=1080p · duration=14 · reference_video | 9000 |
| resolution=1080p · duration=15 · reference_video | 9600 |
ByteDance · 3
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).
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus adaptive (ratio decided by the input media) | Output aspect ratio. |
| resolution | string | 480p | 720p (default 480p) | Output resolution tier. Changes the price. |
| duration | integer | 4–15 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed. |
| audio | string | — | Reference audio URL; must be paired with a reference video (r2v). Max 15.2 s. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.reference_images | string[] | ≤ 9 | Reference images (role reference_image). |
| metadata.reference_videos | string[] | ≤ 3 | Reference videos. Selects the with-video price tier. |
| metadata.reference_audios | string[] | ≤ 3 | Reference audio URLs. |
| metadata.generate_audio | boolean | — | Attach an audio track to the output. |
| metadata.return_last_frame | boolean | — | Also return the last frame image. |
| metadata.camera_fixed | boolean | — | Keep the camera fixed (stripped on seedance-2.0-fast text-to-video). |
| metadata.priority | integer | 0–9 (default 0) | Scheduling priority; no billing effect. |
- seed is ignored after a provider failover.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (48)
| tier | credits |
|---|---|
| resolution=480p · duration=4 | 900 |
| resolution=480p · duration=4 · reference_video | 2600 |
| resolution=480p · duration=5 | 1200 |
| resolution=480p · duration=5 · reference_video | 2800 |
| resolution=480p · duration=6 | 1400 |
| resolution=480p · duration=6 · reference_video | 2900 |
| resolution=480p · duration=7 | 1600 |
| resolution=480p · duration=7 · reference_video | 3100 |
| resolution=480p · duration=8 | 1800 |
| resolution=480p · duration=8 · reference_video | 3200 |
| resolution=480p · duration=9 | 2100 |
| resolution=480p · duration=9 · reference_video | 3300 |
| resolution=480p · duration=10 | 2300 |
| resolution=480p · duration=10 · reference_video | 3500 |
| resolution=480p · duration=11 | 2500 |
| resolution=480p · duration=11 · reference_video | 3600 |
| resolution=480p · duration=12 | 2700 |
| resolution=480p · duration=12 · reference_video | 3700 |
| resolution=480p · duration=13 | 3000 |
| resolution=480p · duration=13 · reference_video | 3900 |
| resolution=480p · duration=14 | 3200 |
| resolution=480p · duration=14 · reference_video | 4000 |
| resolution=480p · duration=15 | 3400 |
| resolution=480p · duration=15 · reference_video | 4100 |
| resolution=720p · duration=4 | 2000 |
| resolution=720p · duration=4 · reference_video | 5600 |
| resolution=720p · duration=5 | 2500 |
| resolution=720p · duration=5 · reference_video | 5900 |
| resolution=720p · duration=6 | 2900 |
| resolution=720p · duration=6 · reference_video | 6200 |
| resolution=720p · duration=7 | 3400 |
| resolution=720p · duration=7 · reference_video | 6500 |
| resolution=720p · duration=8 | 3900 |
| resolution=720p · duration=8 · reference_video | 6800 |
| resolution=720p · duration=9 | 4400 |
| resolution=720p · duration=9 · reference_video | 7100 |
| resolution=720p · duration=10 | 4900 |
| resolution=720p · duration=10 · reference_video | 7400 |
| resolution=720p · duration=11 | 5400 |
| resolution=720p · duration=11 · reference_video | 7700 |
| resolution=720p · duration=12 | 5800 |
| resolution=720p · duration=12 · reference_video | 8000 |
| resolution=720p · duration=13 | 6300 |
| resolution=720p · duration=13 · reference_video | 8300 |
| resolution=720p · duration=14 | 6800 |
| resolution=720p · duration=14 · reference_video | 8600 |
| resolution=720p · duration=15 | 7300 |
| resolution=720p · duration=15 · reference_video | 8900 |
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).
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus adaptive (ratio decided by the input media) | Output aspect ratio. |
| resolution | string | 480p | 720p (default 480p) | Output resolution tier. Changes the price. |
| duration | integer | 4–15 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed. |
| audio | string | — | Reference audio URL; must be paired with a reference video (r2v). Max 15.2 s. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.reference_images | string[] | ≤ 9 | Reference images (role reference_image). |
| metadata.reference_videos | string[] | ≤ 3 | Reference videos. Selects the with-video price tier. |
| metadata.reference_audios | string[] | ≤ 3 | Reference audio URLs. |
| metadata.generate_audio | boolean | — | Attach an audio track to the output. |
| metadata.return_last_frame | boolean | — | Also return the last frame image. |
| metadata.camera_fixed | boolean | — | Keep the camera fixed (stripped on seedance-2.0-fast text-to-video). |
| metadata.priority | integer | 0–9 (default 0) | Scheduling priority; no billing effect. |
- seed is ignored after a provider failover.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (48)
| tier | credits |
|---|---|
| resolution=480p · duration=4 | 800 |
| resolution=480p · duration=4 · reference_video | 2100 |
| resolution=480p · duration=5 | 1000 |
| resolution=480p · duration=5 · reference_video | 2200 |
| resolution=480p · duration=6 | 1100 |
| resolution=480p · duration=6 · reference_video | 2300 |
| resolution=480p · duration=7 | 1300 |
| resolution=480p · duration=7 · reference_video | 2400 |
| resolution=480p · duration=8 | 1500 |
| resolution=480p · duration=8 · reference_video | 2500 |
| resolution=480p · duration=9 | 1700 |
| resolution=480p · duration=9 · reference_video | 2600 |
| resolution=480p · duration=10 | 1900 |
| resolution=480p · duration=10 · reference_video | 2700 |
| resolution=480p · duration=11 | 2000 |
| resolution=480p · duration=11 · reference_video | 2800 |
| resolution=480p · duration=12 | 2200 |
| resolution=480p · duration=12 · reference_video | 2900 |
| resolution=480p · duration=13 | 2400 |
| resolution=480p · duration=13 · reference_video | 3100 |
| resolution=480p · duration=14 | 2600 |
| resolution=480p · duration=14 · reference_video | 3200 |
| resolution=480p · duration=15 | 2800 |
| resolution=480p · duration=15 · reference_video | 3300 |
| resolution=720p · duration=4 | 1600 |
| resolution=720p · duration=4 · reference_video | 4400 |
| resolution=720p · duration=5 | 2000 |
| resolution=720p · duration=5 · reference_video | 4700 |
| resolution=720p · duration=6 | 2400 |
| resolution=720p · duration=6 · reference_video | 4900 |
| resolution=720p · duration=7 | 2800 |
| resolution=720p · duration=7 · reference_video | 5100 |
| resolution=720p · duration=8 | 3200 |
| resolution=720p · duration=8 · reference_video | 5400 |
| resolution=720p · duration=9 | 3500 |
| resolution=720p · duration=9 · reference_video | 5600 |
| resolution=720p · duration=10 | 3900 |
| resolution=720p · duration=10 · reference_video | 5800 |
| resolution=720p · duration=11 | 4300 |
| resolution=720p · duration=11 · reference_video | 6000 |
| resolution=720p · duration=12 | 4700 |
| resolution=720p · duration=12 · reference_video | 6300 |
| resolution=720p · duration=13 | 5100 |
| resolution=720p · duration=13 · reference_video | 6500 |
| resolution=720p · duration=14 | 5500 |
| resolution=720p · duration=14 · reference_video | 6700 |
| resolution=720p · duration=15 | 5900 |
| resolution=720p · duration=15 · reference_video | 7000 |
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).
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | standard set plus adaptive (ratio decided by the input media); rejected on first/last-frame tasks | Output aspect ratio. |
| resolution | string | 480p | 720p (default 480p) — (1080p costs 2.25× 720p) | Output resolution tier. Changes the price. |
| duration | integer | 4–30 s (default 5) | Length in seconds. Changes the price. |
| images | string[] | — | Frame images, or video URLs (.mp4/.mov) for reference. Frames and reference media cannot be mixed. |
| audio | string | — | Reference audio URL. |
| seed | integer | — | Random seed for reproducible output. |
| watermark | boolean | — | Provider watermark. Only forwarded when you send it; omitted follows the provider default. |
| metadata.reference_images | string[] | ≤ 30 | Reference images (role reference_image). |
| metadata.reference_videos | string[] | ≤ 10 | Reference videos. Selects the with-video price tier. |
| metadata.reference_audios | string[] | ≤ 10 | Reference audio URLs. |
| metadata.generate_audio | boolean | — | Attach an audio track to the output. |
| metadata.return_last_frame | boolean | — | Also 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (108)
| tier | credits |
|---|---|
| resolution=480p · duration=4 | 1300 |
| resolution=480p · duration=4 · reference_video | 6400 |
| resolution=480p · duration=5 | 1600 |
| resolution=480p · duration=5 · reference_video | 6600 |
| resolution=480p · duration=6 | 1900 |
| resolution=480p · duration=6 · reference_video | 6800 |
| resolution=480p · duration=7 | 2200 |
| resolution=480p · duration=7 · reference_video | 7000 |
| resolution=480p · duration=8 | 2500 |
| resolution=480p · duration=8 · reference_video | 7100 |
| resolution=480p · duration=9 | 2800 |
| resolution=480p · duration=9 · reference_video | 7300 |
| resolution=480p · duration=10 | 3100 |
| resolution=480p · duration=10 · reference_video | 7500 |
| resolution=480p · duration=11 | 3400 |
| resolution=480p · duration=11 · reference_video | 7700 |
| resolution=480p · duration=12 | 3800 |
| resolution=480p · duration=12 · reference_video | 7900 |
| resolution=480p · duration=13 | 4100 |
| resolution=480p · duration=13 · reference_video | 8100 |
| resolution=480p · duration=14 | 4400 |
| resolution=480p · duration=14 · reference_video | 8300 |
| resolution=480p · duration=15 | 4700 |
| resolution=480p · duration=15 · reference_video | 8500 |
| resolution=480p · duration=16 | 5000 |
| resolution=480p · duration=16 · reference_video | 8600 |
| resolution=480p · duration=17 | 5300 |
| resolution=480p · duration=17 · reference_video | 8800 |
| resolution=480p · duration=18 | 5600 |
| resolution=480p · duration=18 · reference_video | 9000 |
| resolution=480p · duration=19 | 6000 |
| resolution=480p · duration=19 · reference_video | 9200 |
| resolution=480p · duration=20 | 6300 |
| resolution=480p · duration=20 · reference_video | 9400 |
| resolution=480p · duration=21 | 6600 |
| resolution=480p · duration=21 · reference_video | 9600 |
| resolution=480p · duration=22 | 6900 |
| resolution=480p · duration=22 · reference_video | 9800 |
| resolution=480p · duration=23 | 7200 |
| resolution=480p · duration=23 · reference_video | 10000 |
| resolution=480p · duration=24 | 7500 |
| resolution=480p · duration=24 · reference_video | 10100 |
| resolution=480p · duration=25 | 7800 |
| resolution=480p · duration=25 · reference_video | 10300 |
| resolution=480p · duration=26 | 8100 |
| resolution=480p · duration=26 · reference_video | 10500 |
| resolution=480p · duration=27 | 8500 |
| resolution=480p · duration=27 · reference_video | 10700 |
| resolution=480p · duration=28 | 8800 |
| resolution=480p · duration=28 · reference_video | 10900 |
| resolution=480p · duration=29 | 9100 |
| resolution=480p · duration=29 · reference_video | 11100 |
| resolution=480p · duration=30 | 9400 |
| resolution=480p · duration=30 · reference_video | 11300 |
| resolution=720p · duration=4 | 2800 |
| resolution=720p · duration=4 · reference_video | 14400 |
| resolution=720p · duration=5 | 3500 |
| resolution=720p · duration=5 · reference_video | 14800 |
| resolution=720p · duration=6 | 4200 |
| resolution=720p · duration=6 · reference_video | 15200 |
| resolution=720p · duration=7 | 4900 |
| resolution=720p · duration=7 · reference_video | 15600 |
| resolution=720p · duration=8 | 5600 |
| resolution=720p · duration=8 · reference_video | 16100 |
| resolution=720p · duration=9 | 6300 |
| resolution=720p · duration=9 · reference_video | 16500 |
| resolution=720p · duration=10 | 7000 |
| resolution=720p · duration=10 · reference_video | 16900 |
| resolution=720p · duration=11 | 7700 |
| resolution=720p · duration=11 · reference_video | 17300 |
| resolution=720p · duration=12 | 8500 |
| resolution=720p · duration=12 · reference_video | 17700 |
| resolution=720p · duration=13 | 9200 |
| resolution=720p · duration=13 · reference_video | 18200 |
| resolution=720p · duration=14 | 9900 |
| resolution=720p · duration=14 · reference_video | 18600 |
| resolution=720p · duration=15 | 10600 |
| resolution=720p · duration=15 · reference_video | 19000 |
| resolution=720p · duration=16 | 11300 |
| resolution=720p · duration=16 · reference_video | 19400 |
| resolution=720p · duration=17 | 12000 |
| resolution=720p · duration=17 · reference_video | 19900 |
| resolution=720p · duration=18 | 12700 |
| resolution=720p · duration=18 · reference_video | 20300 |
| resolution=720p · duration=19 | 13400 |
| resolution=720p · duration=19 · reference_video | 20700 |
| resolution=720p · duration=20 | 14100 |
| resolution=720p · duration=20 · reference_video | 21100 |
| resolution=720p · duration=21 | 14800 |
| resolution=720p · duration=21 · reference_video | 21500 |
| resolution=720p · duration=22 | 15500 |
| resolution=720p · duration=22 · reference_video | 22000 |
| resolution=720p · duration=23 | 16200 |
| resolution=720p · duration=23 · reference_video | 22400 |
| resolution=720p · duration=24 | 16900 |
| resolution=720p · duration=24 · reference_video | 22800 |
| resolution=720p · duration=25 | 17600 |
| resolution=720p · duration=25 · reference_video | 23200 |
| resolution=720p · duration=26 | 18300 |
| resolution=720p · duration=26 · reference_video | 23700 |
| resolution=720p · duration=27 | 19000 |
| resolution=720p · duration=27 · reference_video | 24100 |
| resolution=720p · duration=28 | 19700 |
| resolution=720p · duration=28 · reference_video | 24500 |
| resolution=720p · duration=29 | 20400 |
| resolution=720p · duration=29 · reference_video | 24900 |
| resolution=720p · duration=30 | 21100 |
| resolution=720p · duration=30 · reference_video | 25400 |
MiniMax · 1
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.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 768P | 2K (default 768P) | Output resolution tier. Changes the price. |
| duration | integer | 4–15 s (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | standard set plus adaptive (not for text-to-video); default 16:9 when you send nothing | Output aspect ratio. |
| images | string[] | — | Up to 2 frame images. |
| metadata.reference_images | string[] | ≤ 9 (the first 5 are free; more add a small per-image charge) | Reference images. |
| metadata.reference_videos | string[] | ≤ 3, ≤ 15 s total | Reference videos — with-video price tier, settled to the real input length on completion. |
| metadata.reference_audios | string[] | ≤ 3 | Reference audio (must be paired with an image or video on the primary line). |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (48)
| tier | credits |
|---|---|
| resolution=768P · duration=4 | 1100 |
| resolution=768P · duration=4 · reference_video | 5100 |
| resolution=768P · duration=5 | 1300 |
| resolution=768P · duration=5 · reference_video | 5300 |
| resolution=768P · duration=6 | 1600 |
| resolution=768P · duration=6 · reference_video | 5600 |
| resolution=768P · duration=7 | 1900 |
| resolution=768P · duration=7 · reference_video | 5900 |
| resolution=768P · duration=8 | 2100 |
| resolution=768P · duration=8 · reference_video | 6100 |
| resolution=768P · duration=9 | 2400 |
| resolution=768P · duration=9 · reference_video | 6400 |
| resolution=768P · duration=10 | 2700 |
| resolution=768P · duration=10 · reference_video | 6700 |
| resolution=768P · duration=11 | 2900 |
| resolution=768P · duration=11 · reference_video | 6900 |
| resolution=768P · duration=12 | 3200 |
| resolution=768P · duration=12 · reference_video | 7200 |
| resolution=768P · duration=13 | 3500 |
| resolution=768P · duration=13 · reference_video | 7500 |
| resolution=768P · duration=14 | 3700 |
| resolution=768P · duration=14 · reference_video | 7700 |
| resolution=768P · duration=15 | 4000 |
| resolution=768P · duration=15 · reference_video | 8000 |
| resolution=2K · duration=4 | 1700 |
| resolution=2K · duration=4 · reference_video | 8200 |
| resolution=2K · duration=5 | 2200 |
| resolution=2K · duration=5 · reference_video | 8700 |
| resolution=2K · duration=6 | 2600 |
| resolution=2K · duration=6 · reference_video | 9100 |
| resolution=2K · duration=7 | 3000 |
| resolution=2K · duration=7 · reference_video | 9500 |
| resolution=2K · duration=8 | 3500 |
| resolution=2K · duration=8 · reference_video | 10000 |
| resolution=2K · duration=9 | 3900 |
| resolution=2K · duration=9 · reference_video | 10400 |
| resolution=2K · duration=10 | 4300 |
| resolution=2K · duration=10 · reference_video | 10800 |
| resolution=2K · duration=11 | 4800 |
| resolution=2K · duration=11 · reference_video | 11300 |
| resolution=2K · duration=12 | 5200 |
| resolution=2K · duration=12 · reference_video | 11700 |
| resolution=2K · duration=13 | 5600 |
| resolution=2K · duration=13 · reference_video | 12100 |
| resolution=2K · duration=14 | 6100 |
| resolution=2K · duration=14 · reference_video | 12600 |
| resolution=2K · duration=15 | 6500 |
| resolution=2K · duration=15 · reference_video | 13000 |
Black Forest Labs · 1
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.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | hd | fhd (default hd) | Output resolution tier. Changes the price. |
| duration | integer | 5–20 s (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16 (omit for auto) | Output aspect ratio. |
| images | string[] | — | 1–4 keyframe images. |
| reference_videos | string[] | exactly 1 | Continuation source video. |
| draft | boolean | — | Low-quality preview at ~1/3 price; hd only (draft + fhd is a 400). |
| metadata.generate_audio | boolean | default true | Audio 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (96)
| tier | credits |
|---|---|
| resolution=hd · duration=5 | 2300 |
| resolution=hd · duration=5 · draft | 800 |
| resolution=hd · duration=5 · reference_video | 5500 |
| resolution=hd · duration=5 · reference_video · draft | 1600 |
| resolution=hd · duration=6 | 2700 |
| resolution=hd · duration=6 · draft | 1000 |
| resolution=hd · duration=6 · reference_video | 6600 |
| resolution=hd · duration=6 · reference_video · draft | 1900 |
| resolution=hd · duration=7 | 3200 |
| resolution=hd · duration=7 · draft | 1100 |
| resolution=hd · duration=7 · reference_video | 7600 |
| resolution=hd · duration=7 · reference_video · draft | 2200 |
| resolution=hd · duration=8 | 3600 |
| resolution=hd · duration=8 · draft | 1300 |
| resolution=hd · duration=8 · reference_video | 8700 |
| resolution=hd · duration=8 · reference_video · draft | 2600 |
| resolution=hd · duration=9 | 4100 |
| resolution=hd · duration=9 · draft | 1400 |
| resolution=hd · duration=9 · reference_video | 9800 |
| resolution=hd · duration=9 · reference_video · draft | 2900 |
| resolution=hd · duration=10 | 4500 |
| resolution=hd · duration=10 · draft | 1600 |
| resolution=hd · duration=10 · reference_video | 10900 |
| resolution=hd · duration=10 · reference_video · draft | 3200 |
| resolution=hd · duration=11 | 5000 |
| resolution=hd · duration=11 · draft | 1800 |
| resolution=hd · duration=11 · reference_video | 12000 |
| resolution=hd · duration=11 · reference_video · draft | 3500 |
| resolution=hd · duration=12 | 5400 |
| resolution=hd · duration=12 · draft | 1900 |
| resolution=hd · duration=12 · reference_video | 13100 |
| resolution=hd · duration=12 · reference_video · draft | 3800 |
| resolution=hd · duration=13 | 5900 |
| resolution=hd · duration=13 · draft | 2100 |
| resolution=hd · duration=13 · reference_video | 14200 |
| resolution=hd · duration=13 · reference_video · draft | 4200 |
| resolution=hd · duration=14 | 6300 |
| resolution=hd · duration=14 · draft | 2200 |
| resolution=hd · duration=14 · reference_video | 15300 |
| resolution=hd · duration=14 · reference_video · draft | 4500 |
| resolution=hd · duration=15 | 6800 |
| resolution=hd · duration=15 · draft | 2400 |
| resolution=hd · duration=15 · reference_video | 16400 |
| resolution=hd · duration=15 · reference_video · draft | 4800 |
| resolution=hd · duration=16 | 7200 |
| resolution=hd · duration=16 · draft | 2600 |
| resolution=hd · duration=16 · reference_video | 17500 |
| resolution=hd · duration=16 · reference_video · draft | 5100 |
| resolution=hd · duration=17 | 7700 |
| resolution=hd · duration=17 · draft | 2700 |
| resolution=hd · duration=17 · reference_video | 18600 |
| resolution=hd · duration=17 · reference_video · draft | 5400 |
| resolution=hd · duration=18 | 8200 |
| resolution=hd · duration=18 · draft | 2900 |
| resolution=hd · duration=18 · reference_video | 19700 |
| resolution=hd · duration=18 · reference_video · draft | 5800 |
| resolution=hd · duration=19 | 8600 |
| resolution=hd · duration=19 · draft | 3000 |
| resolution=hd · duration=19 · reference_video | 20800 |
| resolution=hd · duration=19 · reference_video · draft | 6100 |
| resolution=hd · duration=20 | 9100 |
| resolution=hd · duration=20 · draft | 3200 |
| resolution=hd · duration=20 · reference_video | 21800 |
| resolution=hd · duration=20 · reference_video · draft | 6400 |
| resolution=fhd · duration=5 | 3900 |
| resolution=fhd · duration=5 · reference_video | 7100 |
| resolution=fhd · duration=6 | 4600 |
| resolution=fhd · duration=6 · reference_video | 8500 |
| resolution=fhd · duration=7 | 5400 |
| resolution=fhd · duration=7 · reference_video | 9900 |
| resolution=fhd · duration=8 | 6200 |
| resolution=fhd · duration=8 · reference_video | 11300 |
| resolution=fhd · duration=9 | 7000 |
| resolution=fhd · duration=9 · reference_video | 12700 |
| resolution=fhd · duration=10 | 7700 |
| resolution=fhd · duration=10 · reference_video | 14100 |
| resolution=fhd · duration=11 | 8500 |
| resolution=fhd · duration=11 · reference_video | 15500 |
| resolution=fhd · duration=12 | 9300 |
| resolution=fhd · duration=12 · reference_video | 16900 |
| resolution=fhd · duration=13 | 10000 |
| resolution=fhd · duration=13 · reference_video | 18400 |
| resolution=fhd · duration=14 | 10800 |
| resolution=fhd · duration=14 · reference_video | 19800 |
| resolution=fhd · duration=15 | 11600 |
| resolution=fhd · duration=15 · reference_video | 21200 |
| resolution=fhd · duration=16 | 12400 |
| resolution=fhd · duration=16 · reference_video | 22600 |
| resolution=fhd · duration=17 | 13100 |
| resolution=fhd · duration=17 · reference_video | 24000 |
| resolution=fhd · duration=18 | 13900 |
| resolution=fhd · duration=18 · reference_video | 25400 |
| resolution=fhd · duration=19 | 14700 |
| resolution=fhd · duration=19 · reference_video | 26800 |
| resolution=fhd · duration=20 | 15500 |
| resolution=fhd · duration=20 · reference_video | 28200 |
Agnes · 3
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.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720P | 960P | 2K (default 720P) | Output resolution tier. Changes the price. |
| duration | integer | 4–12 s (default 5) — 4–12 (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 (default 16:9; anything else is a 400) | Output aspect ratio. |
| images | string[] | — | Up to 10 images (keyframes or references). |
| metadata.agnes_mode | string | text | keyframe | reference | Force a mode; a mode/material mismatch is a 400 before any charge. |
| metadata.first_frame | string | — | Explicit first-frame slot (keyframe mode). |
| metadata.last_frame | string | — | Explicit last-frame slot — the only way to send a last frame alone. |
| metadata.reference_images | string[] | beyond 5 images each adds a small per-image charge | Reference 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_audios | string[] | — | Reference audio (<Audio N>). |
| seed | integer | — | Random 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (54)
| tier | credits |
|---|---|
| resolution=720P · duration=4 | 330 |
| resolution=720P · duration=4 · reference_video | 670 |
| resolution=720P · duration=5 | 420 |
| resolution=720P · duration=5 · reference_video | 830 |
| resolution=720P · duration=6 | 500 |
| resolution=720P · duration=6 · reference_video | 1000 |
| resolution=720P · duration=7 | 580 |
| resolution=720P · duration=7 · reference_video | 1170 |
| resolution=720P · duration=8 | 670 |
| resolution=720P · duration=8 · reference_video | 1330 |
| resolution=720P · duration=9 | 750 |
| resolution=720P · duration=9 · reference_video | 1500 |
| resolution=720P · duration=10 | 830 |
| resolution=720P · duration=10 · reference_video | 1670 |
| resolution=720P · duration=11 | 920 |
| resolution=720P · duration=11 · reference_video | 1830 |
| resolution=720P · duration=12 | 1000 |
| resolution=720P · duration=12 · reference_video | 2000 |
| resolution=960P · duration=4 | 530 |
| resolution=960P · duration=4 · reference_video | 1070 |
| resolution=960P · duration=5 | 670 |
| resolution=960P · duration=5 · reference_video | 1330 |
| resolution=960P · duration=6 | 800 |
| resolution=960P · duration=6 · reference_video | 1600 |
| resolution=960P · duration=7 | 930 |
| resolution=960P · duration=7 · reference_video | 1860 |
| resolution=960P · duration=8 | 1070 |
| resolution=960P · duration=8 · reference_video | 2130 |
| resolution=960P · duration=9 | 1200 |
| resolution=960P · duration=9 · reference_video | 2400 |
| resolution=960P · duration=10 | 1330 |
| resolution=960P · duration=10 · reference_video | 2660 |
| resolution=960P · duration=11 | 1470 |
| resolution=960P · duration=11 · reference_video | 2930 |
| resolution=960P · duration=12 | 1600 |
| resolution=960P · duration=12 · reference_video | 3200 |
| resolution=2K · duration=4 | 730 |
| resolution=2K · duration=4 · reference_video | 1470 |
| resolution=2K · duration=5 | 920 |
| resolution=2K · duration=5 · reference_video | 1830 |
| resolution=2K · duration=6 | 1100 |
| resolution=2K · duration=6 · reference_video | 2200 |
| resolution=2K · duration=7 | 1280 |
| resolution=2K · duration=7 · reference_video | 2560 |
| resolution=2K · duration=8 | 1470 |
| resolution=2K · duration=8 · reference_video | 2930 |
| resolution=2K · duration=9 | 1650 |
| resolution=2K · duration=9 · reference_video | 3300 |
| resolution=2K · duration=10 | 1830 |
| resolution=2K · duration=10 · reference_video | 3660 |
| resolution=2K · duration=11 | 2020 |
| resolution=2K · duration=11 · reference_video | 4030 |
| resolution=2K · duration=12 | 2200 |
| resolution=2K · duration=12 · reference_video | 4400 |
Agnes Video 2.5 Flash — same contract as agnes-video-2.5, 720P only, at most 5 reference images, no reference videos.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720P (default 720P) | Output resolution tier. Changes the price. |
| duration | integer | 4–12 s (default 5) — 4–12 (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 (default 16:9) | Output aspect ratio. |
| images | string[] | — | Up to 5 images. |
| metadata.agnes_mode | string | text | keyframe | reference | Force a mode. |
| metadata.first_frame | string | — | Explicit first-frame slot. |
| metadata.last_frame | string | — | Explicit last-frame slot. |
| metadata.reference_images | string[] | ≤ 5 | Reference images. |
| metadata.reference_audios | string[] | — | Reference audio. |
| seed | integer | — | Random seed for reproducible output. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (9)
| tier | credits |
|---|---|
| resolution=720P · duration=4 | 330 |
| resolution=720P · duration=5 | 420 |
| resolution=720P · duration=6 | 500 |
| resolution=720P · duration=7 | 580 |
| resolution=720P · duration=8 | 670 |
| resolution=720P · duration=9 | 750 |
| resolution=720P · duration=10 | 830 |
| resolution=720P · duration=11 | 920 |
| resolution=720P · duration=12 | 1000 |
Agnes Video 2.0. 1 image = first frame; 2+ images = keyframe transition (default) or multi-reference with agnes_mode = reference.
| Field | Type | Values | Description |
|---|---|---|---|
| resolution | string | 720p | 480p | 1080p (default 720p) | Output resolution tier. Changes the price. |
| duration | integer | 3 | 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_ratio | string | 16:9, 9:16, 1:1, 4:3, 3:4 (others snap; default 16:9) | Output aspect ratio. |
| images | string[] | — | Up to 10 images. |
| metadata.agnes_mode | string | keyframes (default) | reference | How 2+ images are used. |
| seed | integer | — | Random seed for reproducible output. |
| metadata.negative_prompt | string | — | What to avoid. |
- Billed per second at the rounded-up duration tier.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (12)
| tier | credits |
|---|---|
| resolution=720p · duration=3 | 45 |
| resolution=720p · duration=5 | 75 |
| resolution=720p · duration=10 | 150 |
| resolution=720p · duration=18 | 270 |
| resolution=480p · duration=3 | 45 |
| resolution=480p · duration=5 | 75 |
| resolution=480p · duration=10 | 150 |
| resolution=480p · duration=18 | 270 |
| resolution=1080p · duration=3 | 45 |
| resolution=1080p · duration=5 | 75 |
| resolution=1080p · duration=10 | 150 |
| resolution=1080p · duration=18 | 270 |
xAI · 2
xAI Grok Imagine — text-to-video or image-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 480p | 720p | 1080p | Output resolution tier. Changes the price. |
| duration | integer | 1–15 s (default 5) | Length in seconds. Billed per second. |
| images | string[] | — | Optional: 1 image. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (15)
| tier | credits |
|---|---|
| duration=1 | 100 |
| duration=2 | 200 |
| duration=3 | 300 |
| duration=4 | 400 |
| duration=5 | 500 |
| duration=6 | 600 |
| duration=7 | 700 |
| duration=8 | 800 |
| duration=9 | 900 |
| duration=10 | 1000 |
| duration=11 | 1100 |
| duration=12 | 1200 |
| duration=13 | 1300 |
| duration=14 | 1400 |
| duration=15 | 1500 |
xAI Grok Imagine 1.5 — image-to-video only.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 480p | 720p | 1080p | Output resolution tier. Changes the price. |
| duration | integer | 1–15 s (default 5) | Length in seconds. Billed per second. |
| images | string[] | — | Required: 1 image. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (15)
| tier | credits |
|---|---|
| duration=1 | 150 |
| duration=2 | 300 |
| duration=3 | 450 |
| duration=4 | 600 |
| duration=5 | 750 |
| duration=6 | 900 |
| duration=7 | 1050 |
| duration=8 | 1200 |
| duration=9 | 1350 |
| duration=10 | 1500 |
| duration=11 | 1650 |
| duration=12 | 1800 |
| duration=13 | 1950 |
| duration=14 | 2100 |
| duration=15 | 2250 |
OpenAI · 1
OpenAI Sora 2 text-to-video / image-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| duration | integer | 4 | 8 | 12 s (default 4) — 4 | 8 | 12 (others snap to the nearest) | Length in seconds. Changes the price. |
| aspect_ratio | string | 1: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. |
| images | string[] | — | Optional: 1 image. |
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (3)
| tier | credits |
|---|---|
| duration=4 | 600 |
| duration=8 | 1200 |
| duration=12 | 1800 |
Google · 1
Google Veo 3.1 (fast). Fixed 8-second clips; an input image selects image-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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. |
| resolution | string | 720p | 1080p | Output resolution tier. Changes the price. |
| images | string[] | — | 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (2)
| tier | credits |
|---|---|
| flat | 1500 |
| image_to_video | 1500 |
Runway · 1
Runway Gen-4 Turbo — image-to-video only.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Required: 1 image. |
| duration | integer | 5 | 10 s (default 5) | Length in seconds. Changes the price. |
| aspect_ratio | string | 1: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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Price tiers (2)
| tier | credits |
|---|---|
| duration=5 | 200 |
| duration=10 | 400 |
Luma · 1
Luma Ray 2 Flash text-to-video.
| Field | Type | Values | Description |
|---|---|---|---|
| aspect_ratio | string | 1: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.loop | boolean | — | Seamless loop. |
- Flat price.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/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 · 5
ElevenLabs Eleven v4 asynchronous text-to-speech for expressive single-voice audio in 90+ languages.
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.voice_id | string | default: George (JBFqnCBsd6RMkjVDRZzb) | ElevenLabs voice id. |
| metadata.stability | number | 0–1 | Lower = wider emotional range. |
| metadata.similarity_boost | number | 0–1 | How closely to match the original voice. |
| metadata.language_code | string | ISO 639-1 | Omit 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://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "eleven_v4",
"prompt": "Hello from GlobalGPT. This is a short test sentence.",
"metadata": {
"voice_id": "JBFqnCBsd6RMkjVDRZzb",
"stability": 0.5,
"similarity_boost": 0.75,
"language_code": "en"
}
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ElevenLabs Eleven v4 Turbo asynchronous text-to-speech for fast, expressive single-voice audio in 90+ languages.
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.voice_id | string | default: George (JBFqnCBsd6RMkjVDRZzb) | ElevenLabs voice id. |
| metadata.stability | number | 0–1 | Lower = wider emotional range. |
| metadata.similarity_boost | number | 0–1 | How closely to match the original voice. |
| metadata.language_code | string | ISO 639-1 | Omit 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://api.glbgpt.com/v1/tasks \
-H "Authorization: Bearer sk-glb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "eleven_v4_turbo",
"prompt": "Hello from GlobalGPT. This is a short test sentence.",
"metadata": {
"voice_id": "JBFqnCBsd6RMkjVDRZzb",
"stability": 0.5,
"similarity_boost": 0.75,
"language_code": "en"
}
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ElevenLabs Eleven v3 text-to-speech with expressive audio tags like [whispering], [laughing].
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.voice_id | string | default: George (JBFqnCBsd6RMkjVDRZzb) | ElevenLabs voice id. |
| metadata.stability | number | 0–1 | Lower = wider emotional range. |
| metadata.similarity_boost | number | 0–1 | How closely to match the original voice. |
| metadata.language_code | string | ISO 639-1 | Omit for auto-detection. |
| metadata.style | number | — | Style exaggeration (non-zero adds latency). |
| metadata.speed | number | 1.0 = normal | Speaking speed. |
| metadata.use_speaker_boost | boolean | — | Boost similarity to the original speaker. |
- 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://api.glbgpt.com/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,
"language_code": "en",
"style": 0.2,
"speed": 1,
"use_speaker_boost": true
}
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ElevenLabs Multilingual v2 text-to-speech — 29 languages, steady long-form narration (audio tags are read literally).
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.voice_id | string | default: George (JBFqnCBsd6RMkjVDRZzb) | ElevenLabs voice id. |
| metadata.stability | number | 0–1 | Lower = wider emotional range. |
| metadata.similarity_boost | number | 0–1 | How closely to match the original voice. |
| metadata.language_code | string | ISO 639-1 | Omit for auto-detection. |
| metadata.style | number | — | Style exaggeration (non-zero adds latency). |
| metadata.speed | number | 1.0 = normal | Speaking speed. |
| metadata.use_speaker_boost | boolean | — | Boost similarity to the original speaker. |
- 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://api.glbgpt.com/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,
"language_code": "en",
"style": 0.2,
"speed": 1,
"use_speaker_boost": true
}
}'
# 2) poll until status is "succeeded" or "failed" (every 5-10 s)
curl https://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ElevenLabs Music v2 text-to-music. prompt describes genre, mood, instruments, vocals, structure.
| Field | Type | Values | Description |
|---|---|---|---|
| duration | integer | 10–300 s (default 30) — 10–300 (default 30) | Requested length in seconds; billed per second at submit. |
| metadata.force_instrumental | boolean | — | No vocals. |
- Output MP3 (44.1 kHz, 128 kbps).
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Alibaba · 1
Alibaba Qwen-Audio TTS — Chinese-first multilingual speech, 49 voices including Chinese dialects. Output WAV.
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.voice | string | e.g. Cherry (default), Ethan, Jada, Dylan | Voice name; an unknown voice fails the task. |
| metadata.language_type | string | Auto (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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."ByteDance · 1
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.
| Field | Type | Values | Description |
|---|---|---|---|
| audio | string | — | Reference audio URL (≤ 30 s, ≤ 10 MB; wav/mp3/pcm/ogg). |
| images | string[] | — | Optional: 1 reference image (jpeg/png/webp, ≤ 10 MB). |
| metadata.speaker | string | — | Doubao TTS voice id or cloned voice id. |
| metadata.speech_rate | number | — | Speaking rate. |
| metadata.loudness_rate | number | — | Loudness. |
| metadata.pitch_rate | number | — | Pitch. |
- 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://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Mureka · 2
Mureka V9 — sings your lyrics as a full song. prompt = the lyrics (section tags like [Verse] / [Chorus] supported).
| Field | Type | Values | Description |
|---|---|---|---|
| metadata.style_prompt | string | ≤ 1,024 characters | Genre, mood, instruments, vocals. |
- prompt max 3,000 characters. Flat price per track.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Mureka V9 — instrumental background music from a description.
No optional parameters — send model and prompt.
- prompt max 1,024 characters. Flat price per track.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Google · 2
Google Lyria 3 — 30-second music clip from a prompt (genre, mood, instruments, BPM). English prompts recommended.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Optional: 1 reference image whose mood inspires the music. |
- Flat price. seed / negative_prompt are ignored.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/v1/tasks/TASK_ID -H "Authorization: Bearer sk-glb-..."Google Lyria 3 Pro — music up to 3 minutes, length steered by the prompt.
| Field | Type | Values | Description |
|---|---|---|---|
| images | string[] | — | Optional: 1 reference image whose mood inspires the music. |
- Flat price. seed / negative_prompt are ignored.
Example request (all parameters)
# 1) submit
curl https://api.glbgpt.com/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://api.glbgpt.com/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.
| HTTP | code | Meaning |
|---|---|---|
| 400 | invalid_request | Body validation failed — the message says which field. |
| 400 | upstream_rejected / context_length_exceeded / content_policy_violation | The model provider refused the chat / responses request. |
| 401 | missing_api_key / invalid_api_key | Send Authorization: Bearer sk-glb-… |
| 402 | insufficient_credit | Not enough paid credits. Top up or subscribe. |
| 402 | paid_only_channel | The API never spends free or trial credits. |
| 402 | plan_required | The model is not included in your plan. |
| 404 | not_found / model_not_found | Unknown model, retired model (message names the successor), or task not yours. |
| 409 | idempotency_in_progress | Same Idempotency-Key is still being processed. |
| 422 | idempotency_key_reused | Same Idempotency-Key with a different body. |
| 429 | rate_limit_exceeded / too_many_auth_failures | Per-account limits (60 req/min, 5 chat streams, 10 media tasks in flight) or repeated bad keys from one IP. Honour Retry-After. |
| 502 | upstream_error / model_unavailable | Provider 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.
