Runway Agent message credits: Opus 5.5, GPT-6 Astra, and Sume
Runway charges 24 credits per message on Opus 5.5 and 40 on GPT-6 Astra. Sume lets a run pick its orchestrator with one model field. The math and the gap.

On Runway Agent, a message sent with Opus 5.5 costs 24 credits and one sent with GPT-6 Astra costs 40, charged once per message; the page describes Sonnet 5.5 only as the faster option and gives no per-message figure for it. On Sume the orchestrating LLM is one optional model field on the run, defaulting to gpt-6-sol, and the media generation is capped separately in dollars.
What a chat costs in message credits
The charge is per message, so a long steering session adds up before any video is generated. These totals are plain multiplication of the two published rates; they exclude the cost of the generations themselves, which Runway says varies by model and output type.
| Messages sent | Opus 5.5 (24 each) | GPT-6 Astra (40 each) |
|---|---|---|
| 5 | 120 | 200 |
| 10 | 240 | 400 |
| 20 | 480 | 800 |
| 50 | 1,200 | 2,000 |
How Sume handles the orchestrator
The model field on a Format run is the Agents catalog id of the LLM that orchestrates the run. Omit it and the run uses gpt-6-sol. A request for the retired gpt-5.6-sol runs on gpt-6-sol, and an id outside the catalog is a 400. The field selects the orchestrator only: image, video and audio models are chosen by the Format's tools.
The receipt echoes the id that ran, so you can log what every run used.
Where the LLM turn shows up
Sume separates two numbers on a run receipt. usage.billable_amount_usd_micros is the generation spend the cap is enforced against, and the docs say it excludes the agent's own LLM turn. usage.debited_usd_micros is what the wallet actually deducted for the run and its thread, including the turn's own LLM row. Read the second when you need the true cost of a run.
# Sample receipt shaped like the docs example; swap in a real GET /v1/format-runs/{id} body.
receipt = {"usage": {"billable_amount_usd_micros": 14959638}}
def summarize(usage: dict) -> str:
gen = usage["billable_amount_usd_micros"] / 1_000_000
deb = usage.get("debited_usd_micros")
cost = "not on this receipt" if deb is None else f"${deb / 1_000_000:.6f}"
return f"generation counted against cap: ${gen:.6f}; wallet debited: {cost}"
print(summarize(receipt["usage"]))Which to pick
- Choose the Runway orchestrator in the prompt panel when you are chatting and want deeper reasoning for a hard brief.
- Leave model unset on Sume runs unless a recipe needs a specific orchestrator; then pin it per request and read the echo.
- Budget a Sume run by its dollar cap, and Runway by credits per message plus credits per generation.
Sources
Related posts
More in Comparisons
- Runway Agent reads PDF briefs; what a Sume Format run accepts
Runway Agent takes PDFs up to 20 MB. A Sume Format run takes images as attachments and everything else as JSON input. How to send a brief, with a size check.
- Runway Agent skills vs a saved Sume Format you call by API
A Runway Agent skill is saved instructions you trigger with / in a chat. A Sume Format is a saved recipe your backend calls by handle and slug. Which fits when.
- Runway Agent UGC and Commercial skills vs Sume catalog Formats
Runway's UGC Video and Commercial skills run in an Agent chat. Sume's sume-close-camera-ugc and sume-product-commercial Formats are called by slug from code.
- Runway API credit rates for a 10-second clip, next to Sume's rows
At $0.01 per credit, Runway's API lists gen4.5 at $1.20 for 10 seconds and Veo 3.1 at $4.00. Sume rows: Wan 720p $1.25, H3 Max 768p $1.00. Not like for like.
Written by Sume