{
  "schema_version": 1,
  "public_model_id": "bytedance/seedance-2.0-fast",
  "canonical_page": "https://www.maxapi.dev/models/bytedance/seedance-2.0-fast",
  "reviewed_at": "2026-10-29",
  "generated_at": "2026-10-29T07:40:09.881Z",
  "scope": "Checked against MaxAPI's public catalogue, gateway implementation and local regression cases. Shared gateway checks are not separate end-to-end tests of every listed model. This is an integration reference, not a live upstream availability or performance report.",
  "summary": "Seedance 2.0 Fast uses bytedance/seedance-2.0-fast in MaxAPI's video-generation API. Submit a task, save its identifier, and poll for the final result. Acceptance is not completion. Supported media, duration and resolution depend on this model entry and the selected route.",
  "aliases": [],
  "model_profile": {
    "family_id": "bytedance/seedance-2.0-fast",
    "reviewed_at": "2026-10-29",
    "title": "Short-shot iteration at 480p or 720p",
    "provider_positioning": "BytePlus lists Seedance 2.0 Fast as a separate basic-version model in the 2.x family, with text, first-frame and multimodal-reference workflows. MaxAPI exposes 480p and 720p for this entry, unlike the additional 1080p and 4K tiers on the standard 2.0 entry.",
    "selection_advice": "Compare it for motion drafts, shot selection and repeated short clips where a 720p deliverable is sufficient. If delivery requires the listed 1080p or 4K tiers, evaluate standard Seedance 2.0 instead.",
    "limitations": "Fast is not a promise of a specific completion time. Do not request 1080p or 4K on this entry or assume a lower resolution preserves the exact frames of another run. Validate audio and reference modes on the selected route.",
    "suggested_use_cases": [
      {
        "title": "Camera-move drafts",
        "body": "Test one pan or pull-back before committing to a polished scene. Review the entire move for continuity."
      },
      {
        "title": "Short social clips",
        "body": "Use one clear action and leave safe margins for later captions. Check the clip on the target display size."
      },
      {
        "title": "Candidate shot selection",
        "body": "Compare camera timing and subject visibility with the same reference, duration and resolution settings."
      }
    ],
    "example_prompt": {
      "title": "A restrained four-second camera test",
      "text": "One continuous four-second shot of a ceramic cup on a blue table. The camera slowly slides left while the cup stays still. Keep the lighting and cup shape consistent, with a plain background and no added text. No cuts or extra actions; end on a stable frame suitable for an editor to hold.",
      "review": "Set duration and 720p in the request; check camera continuity and object deformation."
    },
    "scope": "Provider capabilities describe the model, not the complete MaxAPI feature set. Use the parameters, input types and routes documented for this MaxAPI entry. Vendor speed or quality descriptions are not service-level guarantees.",
    "variant_note": null,
    "sources": [
      {
        "label": "BytePlus · Seedance 2.x capability comparison",
        "url": "https://docs.byteplus.com/en/docs/byteplus_las/video_gen_enhanced"
      }
    ]
  },
  "illustration": {
    "url": "https://www.maxapi.dev/model-guides/individual-20260910/seedance-2-0-fast.webp",
    "alt": "Three storyboard composition studies of a blue ceramic cup from different viewpoints",
    "caption": "Static storyboard concept for a short camera move, not frames from a generated video.",
    "provenance": "ai_generated_editorial_concept",
    "is_output_from_named_model": false,
    "is_benchmark": false
  },
  "illustrations": [
    {
      "section": "usecases",
      "url": "https://www.maxapi.dev/model-guides/individual-20260910/seedance-2-0-fast.webp",
      "alt": "Three storyboard composition studies of a blue ceramic cup from different viewpoints",
      "caption": "Static storyboard concept for a short camera move, not frames from a generated video.",
      "width": 1536,
      "height": 1024,
      "provenance": "ai_generated_editorial_concept",
      "is_output_from_named_model": false,
      "is_benchmark": false
    },
    {
      "section": "features",
      "url": "https://www.maxapi.dev/model-guides/expanded-20260911/seedance-2-0-fast-practice.webp",
      "alt": "Blue ceramic cup and camera on a short tabletop slider",
      "caption": "Plan one simple camera move around a clearly defined subject.",
      "width": 1536,
      "height": 1024,
      "provenance": "ai_generated_editorial_concept",
      "is_output_from_named_model": false,
      "is_benchmark": false
    },
    {
      "section": "prompts",
      "url": "https://www.maxapi.dev/model-guides/expanded-20260911/seedance-2-0-fast-prompt.webp",
      "alt": "Cobalt ceramic cup on a pale table with wide horizontal space and morning light.",
      "caption": "Static planning concept for a short lateral camera move.",
      "width": 1536,
      "height": 1024,
      "provenance": "ai_generated_editorial_concept",
      "is_output_from_named_model": false,
      "is_benchmark": false
    },
    {
      "section": "workflow",
      "url": "https://www.maxapi.dev/model-guides/expanded-20260911/seedance-2-0-fast-workflow.webp",
      "alt": "Three blue-cup shot concepts with one selected by a green clip.",
      "caption": "Choose a shot direction before refining the movement plan.",
      "width": 1536,
      "height": 1024,
      "provenance": "ai_generated_editorial_concept",
      "is_output_from_named_model": false,
      "is_benchmark": false
    }
  ],
  "configured_facts": [
    {
      "label": "Request model ID",
      "value": "bytedance/seedance-2.0-fast",
      "code": true
    },
    {
      "label": "Output type",
      "value": "Video"
    },
    {
      "label": "Base URL",
      "value": "https://api.maxapi.dev",
      "code": true
    },
    {
      "label": "Generation workflow",
      "value": "Asynchronous task + polling"
    },
    {
      "label": "Quality values",
      "value": "720p / 480p",
      "code": true
    },
    {
      "label": "Resolution & dimensions",
      "value": "720p / 480p"
    },
    {
      "label": "Video duration",
      "value": "4–15 seconds for the listed Seedance 2.0 models."
    }
  ],
  "integration_checklist": {
    "reviewedAt": "2026-10-29",
    "labels": {
      "title": "Check your first result",
      "requestTitle": "Send the right fields",
      "responseTitle": "Read the actual result",
      "example": "Illustrative response shape — not a live result",
      "poll": "Query the existing task",
      "reviewed": "Request-contract review",
      "nativeRequest": "Alternative: a Gemini-native request",
      "nativeResult": "Gemini-native result shape — illustrative only"
    },
    "scope": "Checked against the public catalogue and gateway code. Examples are structural illustrations, not paid model tests, latency measurements or a guarantee that every route is currently available.",
    "requestChecks": [
      {
        "field": "model / mode",
        "body": "Use bytedance/seedance-2.0-fast with mode=text_to_video for the first example. Do not substitute the Seedance 2.5 Ark payload or a retired beta model ID."
      },
      {
        "field": "duration / resolution / ratio",
        "body": "The example requests 5 seconds. Listed resolutions: 720p, 480p. Fix duration, resolution and whether a reference video is sent when comparing charges."
      },
      {
        "field": "HTTP 202 / id / poll_url",
        "body": "A successful submission returns a task receipt, not a video. Save id and poll_url before closing the client; the JSON identifier is id, not task_id."
      }
    ],
    "responseChecks": [
      {
        "field": "status / video",
        "body": "Poll with authentication from the same account. queued/running are not final; on succeeded, read the top-level video URL. On failed/canceled, inspect message instead of assuming a usable file."
      },
      {
        "field": "estimated_charge_credits",
        "body": "The receipt carries an estimate, not a final invoice. Check final usage and billing records; downloading the returned file is a separate step from task completion."
      }
    ],
    "sample": {
      "id": "example-task-id",
      "object": "video.generation.task",
      "status": "queued",
      "model": "bytedance/seedance-2.0-fast",
      "poll_url": "/v1/videos/generations/example-task-id"
    },
    "pollCurl": "# Set TASK_ID to the saved response.id; this queries, it does not create a task.\ncurl --fail-with-body \"https://api.maxapi.dev/v1/videos/generations/${TASK_ID:?Set TASK_ID from response.id}\" \\\n  -H \"Authorization: Bearer $MAXAPI_KEY\""
  },
  "pricing_scope": "1 credit = US$1. These are catalogue base rates, not a live account quote; account multipliers apply. Seedance bills the output tokens the provider reports: tokens ≈ (output seconds + reference-video seconds) × width × height × 24 / 1024, about 21,600 per second at 720p 16:9. The with-reference-video rate applies only when the request includes at least one reference video; reference images, first/last frames and audio bill at the no-reference rate. With a reference video the provider bills at least output seconds + ⌈⅔ × output seconds⌉ (its minimum for video input). A hold is reserved up front — with a reference video it covers up to 15 s of reference video (30 s on Seedance 2.5) — and settled against the reported tokens, refunding the rest; failed tasks are not charged.",
  "pricing_index": "https://www.maxapi.dev/pricing.json",
  "routing_rules": [
    {
      "title": "Which route wins?",
      "body": "Routing priority is: the API key's configured route_modes list → an explicitly requested route → the model's default route. A non-empty key list takes precedence over route_mode in the request. To test a specific route, check the key configuration first; changing the request alone may not change the route used."
    },
    {
      "title": "RPM is shared at account level",
      "body": "An account's positive RPM limit covers its API keys together. A key can impose a stricter limit, but a higher key limit does not override the user limit. For example, a user limit of 200 RPM is not 200 RPM for each key. Service-level RPM and concurrency controls also apply; adding keys is not a way to bypass them."
    }
  ],
  "troubleshooting": [
    {
      "code": "429",
      "title": "rate_limit_exceeded / capacity_exhausted",
      "meaning": "429 can represent account/key RPM, service-wide capacity or generation capacity. Use Retry-After and available X-RateLimit-* / X-Global-* headers to distinguish them; one status code does not identify one unique cause.",
      "action": "Respect Retry-After when present, reduce request rate or active concurrency as appropriate, and use bounded backoff. Do not treat the site's total capacity as your account's personal quota."
    }
  ],
  "verification": {
    "environment": "local_mock_requests_and_test_storage",
    "coverage": "shared_gateway_components_not_each_model_end_to_end",
    "paid_upstream_calls": 0,
    "reviewed_at": "2026-10-29",
    "cases": [
      {
        "key": "shared-user-rpm",
        "title": "Multiple keys share the user limit",
        "input": "Use two keys owned by the same account against an in-memory limiter with a small user quota.",
        "result": "Requests across the keys consume the same user quota; subsequent requests are limited. A larger key quota does not override the user quota, and a smaller key quota remains effective."
      }
    ],
    "limitations": "Local tests use simulated requests, responses and test storage; they do not call paid model channels. They verify request handling, not model image quality, live success rates, latency or end-to-end support for the maximum reference count. The concept illustrations elsewhere on this page are not these test outputs."
  },
  "sources": {
    "maxapi_documentation": "https://www.maxapi.dev/docs",
    "catalogue": "https://www.maxapi.dev/models.json",
    "provider_documentation": "https://docs.byteplus.com/en/docs/byteplus_las/video_gen_enhanced"
  }
}
