Skip to Content
API referenceVideo GenerationReal-person References

Submit real-person reference images directly with real_person

OfoxAI lets you submit authorized real-person reference images directly in a normal POST /v1/videos request. Just add real_person: true at the top level and pass the image through frame_images or input_references; Ofox automatically applies privacy-preserving preprocessing before the task is handed to the video provider.

Some providers require reference images containing real human faces to go through asset enrollment and identity verification on their platform first, for example Seedance; see Seedance · Real-person reference images for a comparison. With real_person, you do not need to complete these steps in advance.

Only submit images you are legally entitled and authorized to use. real_person is a processing instruction, not proof of authorization, and it does not bypass the content policies of Ofox or upstream providers.

Quickstart

curl -X POST https://api.ofox.ai/v1/videos \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance/seedance-2.0", "prompt": "The person in the frame walks through a cinematic night market", "real_person": true, "input_references": [ { "type": "image_url", "image_url": { "url": "https://example.com/person.jpg" } } ] }'

real_person must be at the top level of the request. At least one image is required in frame_images or input_references, and the two reference fields remain mutually exclusive. For the exact structure and count limits, see Create video task.

What happens after submission

  1. Ofox validates and preprocesses every image in the selected reference field.
  2. The preprocessed request is submitted to the selected video provider.
  3. The provider still runs its own identity, anti-deepfake, and content-safety checks.

Suitable inputs can usually proceed through the normal asynchronous task flow, but preprocessing does not guarantee upstream acceptance. A small number of images may still trigger upstream real-person review or rejection; rejected tasks are not charged.

If an image still triggers real-person review

Make the person easier to identify consistently, then resubmit with real_person: true:

  • Keep one clear primary person and reduce the number of other visible faces in the frame;
  • Crop or rearrange the composition so the primary face is large enough and not close to the edge;
  • Prefer a clear, front-facing, unobstructed face with even lighting;
  • Remove or crop out faces in background people, posters, screens, mirrors, and reflections where possible;
  • Avoid extreme angles, noticeable motion blur, heavy shadows, masks, and large occlusions;
  • Switch to a higher-quality source image and simplify overly crowded compositions.

These adjustments reduce ambiguity in identification, but they do not override provider policy or guarantee acceptance. If the image is still rejected, use a different authorized reference image.

Preprocessing errors you can fix directly

If Ofox cannot preprocess the input image, the request returns HTTP 400 with error.code set to "invalid_request". The end of error.message contains a stable reason code:

Reason codeHow to fix
bad_data_uriFix the malformed data: URI or base64 content
download_failedMake sure the URL is downloadable without connection, timeout, or access-control problems
unreachableUse a URL that returns a successful HTTP status
not_imageProvide a supported, decodable image
too_largeReduce the file size, pixel dimensions, or number of images processed per request

For the full error object and diagnostics, see Video API error codes.

Last updated on