November 01, 2026
Five generation requests, sent with a single API key from a single organization, are enough to prove five-modality coverage, as long as each one returns something your product could ship: a chat completion, an image, a video clip, an audio file, and a 3D model. A logo wall shows which model vendors a provider works with. An acceptance suite shows which models your key can call today, which jobs finish, and which files open. On GMI Cloud MaaS, that suite runs against one platform serving LLM, image, video, and audio models, with 3D generation through Tencent's hunyuan-3d-pro, all reached with the same Bearer key and billed on a single invoice across all models.
For a team whose product needs text, images, short video, a generated voice, and 3D assets from text or a reference image, GMI MaaS covers all five on one account, which makes it a strong pick for a one-provider decision. GMI also hosts and operates critical models on its own datacenter infrastructure instead of only routing requests elsewhere. The suite produces a matrix that engineering, security, and procurement can sign off on together.
Coverage claims compare cleanly only when every provider receives identical inputs. Tie the five requests to one product scenario, such as an e-commerce listing that needs a description, a hero image, a short clip, a voiceover, and a 3D asset for an in-page viewer.
| Modality | Model to test on GMI Cloud | Fixed input | Pass condition |
|---|---|---|---|
| LLM | deepseek-ai/DeepSeek-V4-Pro-0813 |
A 300-word product brief, response_format: {"type": "json_object"}, a target JSON shape in the prompt |
The message content parses as JSON with the target keys; model matches the ID sent; a usage object is present |
| Image | seedream-5.0-lite |
A prompt for a studio product shot | success and an image URL in outcome.media_urls |
| Video | kling-3.0-turbo-t2v |
The same scene, duration: "5", aspect_ratio: "16:9" |
success with a clip URL in outcome.media_urls |
| Speech | minimax-tts-speech-2.8-hd |
A 400-character script, voice_id: "English_expressive_narrator", format: "mp3", audio_sample_rate: "32000" |
success, an audio URL in outcome.media_urls, and a 32 kHz MP3 that plays the full script |
| 3D | hunyuan-3d-pro |
A reference image of the product, enable_pbr: true |
A 3D model file URL in outcome.media_urls |
Keep these inputs in a fixture file and reuse them unchanged across the shortlist. Any row can carry a different model from the same family in the GMI model library, where text, image, video, audio, and 3D models sit in separate sections and every model page documents the ID and parameters to put in the fixture. Speech here means generation: GMI's audio models cover text-to-speech, voice cloning, and music, so the row tests the voiceover your product would play.
One GMI key covers two endpoint families. Language models answer at https://api.gmi-serving.com/v1/chat/completions. Image, video, audio, and 3D models share a request queue at https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests, where the model ID goes in the body next to a payload object. The permission layer of the suite checks three things.
acceptance-q4 and the default Inference scope. The full value appears only at creation, so it goes straight into your secrets manager, and the Owner column records who created it.X-Organization-ID header on both endpoint families. Put the ID of the organization that will carry production traffic in an environment variable and send it on every call in the suite, listings included.Language models visible to this key and organization:
GET https://api.gmi-serving.com/v1/models
Authorization: Bearer <GMI_API_KEY>
X-Organization-ID: <GMI_ORG_ID>
Image, video, audio, and 3D models on the request queue:
GET https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/models
Authorization: Bearer <GMI_API_KEY>
X-Organization-ID: <GMI_ORG_ID>
Parameter schema for one model:
GET https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/models/hunyuan-3d-pro
Authorization: Bearer <GMI_API_KEY>
X-Organization-ID: <GMI_ORG_ID>
This layer passes when all five model IDs appear in the listings, each payload matches its schema, and your request log shows the same key and the same organization header on all five calls.
An accepted submit is not a delivered asset. The suite follows every media request to a terminal state and opens the file, while the LLM row is judged on the completion it returns.
seedream-5.0-lite and minimax-tts-speech-2.8-hd as sync, and kling-3.0-turbo-t2v and hunyuan-3d-pro as async. Every queue submission returns a request_id, and GET https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests/{request_id}, sent with the same key and organization header, returns the job detail.queued and processing to success or failed, and the MiniMax speech page adds cancelled. A sync model can come back already at success in the submit response, which ends polling. That response may carry only the ID, model, status, and timestamps, so the harness still makes one detail call to collect the result. When you swap in another model, take its states and result fields from its own page.outcome.media_urls. The MiniMax page shows each entry as an object with a url field, so read the link from the entry rather than treating it as a bare string. Download each file into your own storage right away and record format, size, and duration or face count.POST https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/upload-url with {"file_type": "png"} returns a pre-signed upload_url, valid for about 15 minutes, and a stable public_url. A PUT of the raw bytes to upload_url, with a Content-Type that matches the file, makes the image available. The public_url then goes into the job as image_url. The upload path accepts jpeg, jpg, png, mp4, mp3, and wav.prompt or an image_url, optional PBR materials, a face_count from 40,000 to 1,500,000, and a generate_type of Normal, LowPoly, Geometry, or Sketch.The 3D submission is a small JSON body:
POST https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests
Authorization: Bearer <GMI_API_KEY>
X-Organization-ID: <GMI_ORG_ID>
Content-Type: application/json
{
"model": "hunyuan-3d-pro",
"payload": {
"image_url": "<PUBLIC_URL>",
"enable_pbr": true
}
}
Log what each family actually returns. For queue jobs, keep the request_id, model, status, and the created_at and updated_at fields. For the chat completion, keep the response id, model, created, and usage. For every row, add your own client-side send and finish times, which give a time to result measured the same way across all five.
Each row lands in one of four buckets, and the bucket matters more than the status code.
success whose file opens in the tool your team uses, such as an audio player, a video editor, or a 3D viewer.A failed status alone does not decide the bucket. Validate the payload against the schema from GET /models/{model-id} first. A malformed payload is a fix on your side; a schema-valid request that fails repeatedly on the same input is a case to raise with the provider's engineers before deciding.
The matrix is what the buying committee signs. The left columns come from GMI's model pages, and the run fills in the rest.
| Modality | Model ID | Endpoint family | Calling method | Terminal status | Output check | Time to result | Bucket |
|---|---|---|---|---|---|---|---|
| LLM | deepseek-ai/DeepSeek-V4-Pro-0813 |
Chat completions | Request/response | ||||
| Image | seedream-5.0-lite |
Request queue | Sync | ||||
| Video | kling-3.0-turbo-t2v |
Request queue | Async | ||||
| Speech | minimax-tts-speech-2.8-hd |
Request queue | Sync | ||||
| 3D | hunyuan-3d-pro |
Request queue | Async |
Sign-off requires all five rows in the first bucket, sent with the same key and the same organization header. Keep the downloaded files next to the matrix, because reviewers trust a playable clip and an openable mesh more than a status column. The same request log can later feed a separate finance check against the usage view under Billing, which filters by API key and model name.
One clean pass proves the five models are callable. To show it is repeatable, run the same fixtures on three separate days and compare terminal states, file specs, and time to result. Changing a prompt between runs turns a repeatability check into a new test, so keep inputs identical.
It belongs in the suite for any modality your product calls at volume. On GMI Cloud, rate limits apply at the organization level, as tokens per minute for language models and requests per hour for video models, and they grow with your usage tier. Once total credit purchases reach the next tier's threshold, the upgrade takes effect automatically within 24 hours. hunyuan-3d-pro runs up to three simultaneous jobs, so a 3D pipeline can submit three assets at once and confirm all three finish.
Create an acceptance key in the GMI Cloud console, load your fixtures, and send the five requests; the matrix fills in as the jobs finish. For model choices on any row, zero-retention configurations for sensitive inputs, or SLA commitments for production, talk to our team.
Colin Mo
GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies
