October 22, 2026
More than 40 image models, about 100 video models, and more than 20 audio models sit in GMI Cloud's public model library, and all of them are billed through GMI Cloud Model-as-a-Service (MaaS) centralized billing, on a single invoice. A product built on image, video, and speech generation, with no language model at its center, can run all three there. The media models cited below take the same submit endpoint and the same Bearer API key, so adding a vendor's model to your product means a new model ID and a payload that follows that model's page, with no new account or billing relationship.
Media vendors' invoices differ because the unit follows the model, not the modality. Each model's docs page states it: kling-3.0-turbo-t2v is priced per second of video, seedream-5.0-pro per image, minimax-tts-speech-2.8-hd per thousand characters, inworld-tts-2 per character, and gpt-image-2-generate by the tokens each request consumes.
Calling methods differ too. The video pages cited here are labeled async, while the image and speech pages cited here are labeled sync. A line on an invoice says little about which feature or customer caused it unless every call carries an identity. A useful consolidation has two outputs: one invoice for finance, and a breakdown that engineering can still read by project and by model.
The table lists models from GMI Cloud's public model library whose docs pages show the shared submit endpoint.
| Modality | Models in the library | Task coverage |
|---|---|---|
| Image | gpt-image-2-generate, gpt-image-2-edit, seedream-5.0-pro, seedream-5.0-lite, wan2.7-image-pro |
Text-to-image and image editing |
| Video | kling-3.0-turbo-t2v, kling-3.0-turbo-i2v, veo-3.1-generate-001, seedance-2-0-260128, wan2.7-t2v, pixverse-v6-t2v, vidu-q3-pro-t2v, luma-ray-3-2-generate |
Text-to-video and image-to-video from seven model families |
| Speech | minimax-tts-speech-2.8-hd, minimax-tts-speech-2.8-turbo, inworld-tts-2 |
Text-to-speech |
| Video post-production | bria-video-remove-background |
Background removal on video |
Each modality has its own docs page. Image models cover creation, edits, fills, and style transfer; video models add reference-guided generation, editing, and post-processing; audio models cover text-to-speech, voice cloning, and music generation. Model providers on MaaS include Kling, MiniMax, Luma, PixVerse, Vidu, Black Forest Labs, and ByteDance.
MaaS offers per-client customization across pricing, policies, and deployment, which is the route for combined media volume. MaaS also carries discounted pricing for major proprietary models such as GPT and Kling, and the model library marks discounts with badges on the cards: gpt-image-2-generate and gpt-image-2-edit carry a 20% off badge.
The image, video, and speech models above share one submit endpoint. Each request carries a model string plus a payload object holding that model's parameters:
POST https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests
Authorization: Bearer <GMI_API_KEY>
Content-Type: application/json
{
"model": "kling-3.0-turbo-t2v",
"payload": {
"prompt": "A cinematic shot of a dragon taking flight from a cliffside.",
"resolution": "720p",
"aspect_ratio": "16:9",
"duration": "5"
}
}
The response carries a request_id and a status. If it already holds the result, parse it directly; otherwise read the job with GET /api/v1/ie/requestqueue/apikey/requests/{request_id} until status is success, polling with a growing interval and a deadline that fits the model's job length; failed and cancelled are terminal, so stop there. The MiniMax speech page documents the status values queued, processing, success, failed, and cancelled, with file URLs in outcome.media_urls on success. Copy the result files into your own storage when a job succeeds. Video jobs are processed asynchronously per the video API reference, which also covers listing available model IDs and fetching a model's parameter schema.
Every job, whatever its modality, comes back with a request_id. Two records turn that into a ledger:
request_id, the model, and the project and feature that triggered it. The usage view filters by API key and model, so the feature-level split lives in your table.model_id filter, as in GET /api/v1/ie/requestqueue/apikey/requests?model_id=minimax-tts-speech-2.8-hd. Comparing the returned requests with your own rows for the same model, key, and organization helps you spot jobs that were accepted but never recorded on your side. Request records show what ran; amounts come from the usage view and the invoice.Swapping one model for another changes the model string and the payload, and can change how results come back. A speech payload carries text, voice_id, and format options, while the Kling payload above carries a prompt, resolution, aspect ratio, and duration. Keep one small adapter per model for the payload, the completion check, and result parsing, and share the record-keeping code around it.
The Serverless Usage page shows usage for different models and API keys, with the current month's daily usage by default. Its filter takes a time zone (local or UTC), a time range, a granularity (daily or hourly), an API key, and a model name.
Reading the media bill by owner: set API Key to one project's key, then Model Name to one model ID, and that model's spend for the project is what remains.
Because the filter takes a key and a model, the key is the unit you control. Create API keys in Settings > API Key Management, give each a description and scope, and the key list will name the member who made it. A layout that works for a media team:
| Question | Answer in GMI Cloud | Where to look |
|---|---|---|
| Which product or team spent it? | One key per project and environment, such as ads-video-prod and ads-video-staging |
Usage filter: API Key |
| Which model drove the spend? | The model ID of each job | Usage filter: Model Name |
| When did it happen? | Daily or hourly, in local time or UTC | Usage filter: Granularity and Time Range |
| What did finance pay? | One invoice, with orders and receipts under Billing | Billing > Orders |
| Which feature inside a project? | Your own request ledger | Your database, plus the request list |
Issue keys by project and environment, and get a modality total by adding up the model names that belong to that modality in the Model Name filter. That keeps a feature that calls image, video, and speech models on one key instead of three. Save each key in your secrets manager as it is created, since it is shown in full only then.
Credits and Auto Pay. The account holds a General Credit Balance with a list of recent transactions. In the account settings, the Auto Pay toggle reloads credits when the balance nears the threshold, at most once per hour, using the default saved card. A team that wants every top-up reviewed can leave it off; a team with steady traffic can turn it on.
Per-key revocation and budget checks. Since each project has its own key, deleting one project's key never touches the others. For per-project budgets, estimate each job in the unit its model bills in your client or gateway, check it against that key's budget before it is submitted, and reconcile the estimates with the usage view afterwards.
Organization-level rate limits. The rate limit docs define video limits in requests per hour, enforced at the organization level. Limits depend on your usage tier, and support handles manual tier changes. Because limits are enforced for the organization and quotas are set per model, batch runs and live traffic that call the same model in the same organization draw on the same allowance. Pace batch submissions by requests per hour in your own client, not only by concurrency, and leave headroom for the product that serves users.
Before wiring any new model into a project, run it in the Playground. Its multimodal mode runs image, video, audio, and vision models, so a prompt can be tested before it becomes a payload.
By default, funds added to the account balance are drawn down by your image, video, and speech usage. The Console Terms of Service also allow GMI to invoice the fees an account incurs, payable within seven days of the invoice date. Invoice settlement can be raised in the same sales conversation as the combined commitment, since MaaS supports per-client customization across pricing, policies, and deployment.
Codes go into the Coupons tab of Credits & Coupons in the console, and the same tab lists the coupons that are active and the ones already used. Under the Console Terms of Service, the credits a coupon grants offset fees for the Services. On the Credits tab, the Recent Transactions table filters by date range, so finance can pull the list for any single month.
Submit one image job, one video job, and one speech job to the request queue with a key from the GMI Cloud console, and read each result back by its request_id. A commitment that spans image, video, and speech models together is a conversation for GMI sales.
Colin Mo
GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies
