• Compute
  • Customers
  • Pricing
Sign In
More Blog Posts
XDiscordLinkedInYouTube

Products

  • GPUs
  • Inference
  • Studio

Developers

  • Model library
  • Documentation
  • Glossary

Company

  • About Us
  • Blog
  • Events
  • Partnership
  • Scale
  • Career
  • Ambassador program
  • Mission & Vision

Popular models

    Stay in the loop

    By submitting, you acknowledge that we may collect and use the information you provide, which may include personal information.

    XDiscordLinkedInYouTube

    Copyright ©2026 All rights reserved.

    Privacy PolicyTerms of UseLegal Documentation
    More Blog Posts
    Other

    Which Media API Platforms Put Image, Video, and Speech Models on One Bill?

    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 models bill in different units

    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.

    Media coverage on one GMI Cloud account

    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.

    One request queue is also your usage ledger

    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:

    • Write your own row at submit time. Store the 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.
    • Reconcile by model. Requests can be listed with a 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.

    Cost attribution: keys as cost centers

    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.

    Usage filter with timezone, time range, granularity, API key, and model name fields 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.

    Budget and rate levers

    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.

    Folding several media vendors into one account

    1. Inventory. For each current vendor, list the models in use, the monthly volume in that vendor's own unit (tokens, images, seconds, characters), and the share of generations that reach production.
    2. Map model IDs. Match each model to an ID in the model library, and pull each ID's parameter schema from the models endpoint. Note where payload fields differ, such as duration as a string or a different resolution field.
    3. Define cost per accepted deliverable. Pick a unit your business ships, such as a finished 15-second ad or a narrated product video. Add up everything that went into it across modalities, including generations that were discarded, and divide by the deliverables you accepted. Rates per token, per image, per second, and per character cannot be compared directly, and a deliverable with the same specification and the same acceptance bar gives you a figure that can be.
    4. Move one modality at a time, with its own key. The key's request records then isolate that modality's traffic on GMI Cloud, and you compare it with your old vendor's bill or your own records over the same period, deliverable spec, and acceptance bar.
    5. Take the combined volume to sales. The docs route volume pricing and custom commitments through sales. Ask for a commitment written across image, video, and speech models together, so that all three count toward it.

    FAQ

    Can finance pay by invoice instead of topping up credits in advance?

    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.

    Where are coupon codes redeemed, and what do their credits cover?

    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.

    Run one image, one video, and one speech job

    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

    Build AI Without Limits

    GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies

    FAQ

    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.

    Ready to build?

    Explore powerful AI models and launch your project in just a few clicks.

    Get Started