1. Check your group and specifications

Create a site API key in the enabled 渠道1 / seedance 2.0-fast(限时折扣) group for this example. Review the model page for current rates and supported specifications; the group name is not a promise of a permanent discount.

  • This example requests five seconds at 720p with a text prompt.
  • The configured video route supports JSON and URL-reference multipart requests. Local binary uploads, draft references, and frames are not implemented.
  • Duration and resolution affect estimated video tokens. Final billing uses the upstream usage when available; do not treat this as a fixed price per clip.

2. Submit once and save the ID

Send the request below and save its JSON response. Read the id field from the successful response; you will use that same ID in every subsequent request.

Terminal · submit a task
export OHGROK_API_KEY='YOUR_API_KEY'

curl --fail-with-body --silent --show-error \
  'https://api.ohgrok.com/v1/videos' \
  -H "Authorization: Bearer $OHGROK_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "Clouds moving slowly over a quiet mountain lake",
    "seconds": 5,
    "resolution": "720p"
  }' \
  -o video-response.json

If submission ends with an ambiguous timeout, inspect the task records before creating another job. A fresh POST can start a separate billable task.

3. Check the same task

Replace YOUR_VIDEO_ID with the id returned above. The public status can be queued, in_progress, completed, failed, or unknown. If it is still queued or in progress, wait before requesting the same task again.

Stop polling on completed or failed. An unknown status needs inspection rather than a blind resubmission. Progress is a status indicator, not a guaranteed time-to-completion estimate.

Terminal · check status
VIDEO_ID='YOUR_VIDEO_ID'

curl --fail-with-body --silent --show-error \
  "https://api.ohgrok.com/v1/videos/$VIDEO_ID" \
  -H "Authorization: Bearer $OHGROK_API_KEY"

4. Download the completed clip

After the same task reports completed, retrieve its content using the same site API key. A failed task should be investigated from its error and console record instead of being sent to the content endpoint.

Terminal · download result
curl --fail-with-body --silent --show-error \
  "https://api.ohgrok.com/v1/videos/$VIDEO_ID/content" \
  -H "Authorization: Bearer $OHGROK_API_KEY" \
  -o result.mp4

The sample film on the landing page is an edited Big Buck Bunny excerpt, not an ohgrok-generated video or a result from this tutorial.

Keep your next step small.

Review the result and current usage before scaling your workflow.

Explore models